From 04e7b534a47611f22df9fac9c2e6798a754d3b4c Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 26 Apr 2026 03:12:07 +0000 Subject: [PATCH] =?UTF-8?q?feat(renderer):=20comprehensive=20markdown=20fi?= =?UTF-8?q?xes=20=E2=80=94=20strikethrough,=20task=20lists,=20CRLF,=20nest?= =?UTF-8?q?ed=20blockquotes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Five additional fixes on top of the blockquote grouping from the initial commit: 1. CRLF normalisation: strip \r\n → \n at start of renderMd so Windows line endings do not produce stray \r characters in rendered output 2. Strikethrough: ~~text~~ → text in both inlineMd() (for use inside blockquotes/lists) and the outer pass (for plain paragraphs). Added to SAFE_TAGS and SAFE_INLINE so it is not HTML-escaped. 3. Task lists: - [x] / - [ ] items in unordered lists render as ✅/☐ via task-done/task-todo span wrappers. Checks [X] (uppercase) too. 4. Nested blockquotes: >> / >>> etc. now recurse so each level gets its own
element rather than passing through as literal >. Implemented by extracting the blockquote rule into _applyBlockquotes() which calls itself recursively on the stripped inner content. 5. Lists inside blockquotes: > - item now renders