Skip to content

Commit c85a060

Browse files
committed
docs: document remaining md support items
1 parent 5a2978a commit c85a060

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

docs/Markdown Support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Rockgarden supports the superset of CommonMark, GFM (GitHub Flavored Markdown),
3232
| ------------------- | ----------------------- | ------ | ------------------ |
3333
| Tables | `\| col \| col \|` || Via markdown-it-py |
3434
| Strikethrough | `~~text~~` || Via markdown-it-py |
35-
| Task lists | `- [ ]` and `- [x]` | | Via markdown-it-py |
35+
| Task lists | `- [ ]` and `- [x]` | | Planned |
3636
| Autolinks | Bare URLs || Via markdown-it-py |
3737
| Syntax highlighting | ` ```python ` || Planned |
3838
| Footnotes | `[^1]` and `[^1]: text` || Planned |

plans/features/markdown-support.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Markdown Support Gaps
2+
3+
Unimplemented features documented in `docs/Markdown Support.md`. Grouped by effort and dependency.
4+
5+
## Needs `mdit-py-plugins` dependency
6+
7+
These require adding `mdit-py-plugins` and enabling plugins in `render/markdown.py`.
8+
9+
- **Footnotes** (`[^1]` / `[^1]: text`) — documented as Planned. Plugin: `footnote`.
10+
- **Task lists** (`- [ ]` / `- [x]`) — documented as ✅ but not actually rendering. The `gfm-like` preset comments claim support but checkboxes render as literal text. Plugin: `tasklists`.
11+
12+
## Needs client-side JS library
13+
14+
- **Syntax highlighting** (` ```python `) — code fences output `class="language-*"` but no colorization. Options: highlight.js (simpler, auto-detection) or Prism (lighter, explicit). Could also do build-time with Pygments.
15+
- **Mermaid diagrams** (` ```mermaid `) — render fenced mermaid blocks as diagrams. See `plans/features/mermaid.md` for full spec.
16+
- **Math rendering** — inline `$...$`, block `$$...$$`, and GFM ` ```math ` fences. Needs KaTeX (lighter, faster) or MathJax (broader LaTeX support) client-side, or a build-time renderer.
17+
18+
## Needs preprocessing (Python)
19+
20+
These need processing in `render/preprocessors.py` or similar, before markdown-it-py parsing.
21+
22+
- **Highlights** (`==text==`) — wrap in `<mark>` tags. Straightforward regex replacement (with code block protection).
23+
- **Comment stripping** (`%% comment %%`) — strip Obsidian comments during build. Regex replacement.
24+
- **Inline tags** (`#tag`, `#parent/child`) — parse inline tags from content body, add to page metadata. Intersects with collections design.
25+
- **Inline fields** (`key:: value`) — Dataview-style metadata. Parse and expose in page data.
26+
- **Block references** (`[[Page#^block]]`) — requires block-level ID assignment and cross-page reference resolution. Most complex item here.

0 commit comments

Comments
 (0)