Skip to content

feat: add djot support alongside markdown#48

Merged
veeso merged 4 commits into6.0.0from
feat/45-add-djot-support-alongside-markdown
May 7, 2026
Merged

feat: add djot support alongside markdown#48
veeso merged 4 commits into6.0.0from
feat/45-add-djot-support-alongside-markdown

Conversation

@veeso
Copy link
Copy Markdown
Owner

@veeso veeso commented May 7, 2026

Summary

  • Add jot-backed renderer for .dj and .djot post sources, sharing the same Components, frontmatter, and Post(msg) pipeline as Markdown.
  • Mixed-format blogs supported; each post directory picks its own extension.
  • Update README and docs/ (rename markdown-components.mdpost-components.md); document Markdown Options and Smalto highlighting as Markdown-only.

Closes #45

Test plan

  • gleam test — 502 passed, 0 failures (31 djot unit tests + 3 builder integration tests covering .dj, .djot, mixed .md/.djot)
  • gleam run from examples/simple_blog/ builds the new djot-showcase post end-to-end
  • gleam format src test clean

veeso added 4 commits May 7, 2026 17:47
Renames `blogatto/config/markdown` to `blogatto/config/post` to reflect
that it configures post discovery and rendering rather than the markdown
format specifically. Builder is reshaped: `internal/builder/blog.gleam`
becomes `internal/builder/post.gleam`, and markdown-only rendering is
extracted to `internal/builder/post/markdown.gleam` so other source
formats (e.g. djot) can be added as sibling submodules.

BREAKING CHANGE: `blogatto/config/markdown` module renamed to
`blogatto/config/post`; `MarkdownConfig` renamed to `PostConfig`;
`Config.markdown_config` field renamed to `post_config`;
`config.markdown()` setter renamed to `config.post()`;
`markdown.markdown_path()` renamed to `post.path()`. `Components`,
`Options`, and `Alignment` move with the module. Component setter names
unchanged; only the module qualifier changes.
Add jot-backed renderer for `.dj` and `.djot` post sources, sharing the
same `Components`, frontmatter, and `Post(msg)` pipeline as markdown.
Mixed-format blogs are supported; each post directory picks its own
extension.

Markdown `Options` and Smalto syntax highlighting remain markdown-only.
Djot-only inline constructs (span, ins, math, symbols) fall back to raw
Lustre elements with attributes preserved.

Renames `docs/markdown-components.md` to `docs/post-components.md` to
reflect that components apply to both formats.

Closes #45
@cocogitto-bot
Copy link
Copy Markdown

cocogitto-bot Bot commented May 7, 2026

✔️ 4a63a5e...1959b67 - Conventional commits check succeeded.

@veeso veeso merged commit a8810ad into 6.0.0 May 7, 2026
3 checks passed
@veeso veeso deleted the feat/45-add-djot-support-alongside-markdown branch May 7, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant