-
v2.7.0-beta - Markdown and block article bodies Pre-Release
released this
2026-10-04 19:04:12 +02:00 | 71 commits to main since this releaseThis release lets your website read article bodies as markdown, HTML or structured blocks, and fixes text alignment in the editor.
New
Article body formats
- Read an article body as markdown, HTML or a typed block array with the
formatquery parameter, so a headless frontend can render it with markdown-it, comark or its own components. - Keep text alignment in every format: markdown wraps centered, right-aligned and justified blocks in a
divwith an inline style, and the block array carries analignfield. - Keep plain text plain: text that merely looks like markdown, such as
# not a headingor- not a list, is escaped in the markdown output. - See the Integration page snippets and the article API reference for the full contract.
Improvements and fixes
- Fix the text alignment buttons in the article editor, which were disabled and showed a blocked cursor. Paragraphs and headings can be aligned left, center, right or justified again, and unaligned text stays free of inline styles.
- The web interface requests HTML explicitly when it loads, saves, publishes, unpublishes or creates an article, so the editor and the image counts behave exactly as before.
API
- Changed:
GET /v1/article/,GET /v1/article/{id},POST /v1/article/,PATCH /v1/article/{id},PATCH /v1/article/{id}/publishandPATCH /v1/article/{id}/unpublishnow returnbodyas markdown by default. Pass?format=htmlto keep the previous HTML body. - Every article object now includes
body_format(markdown,htmlorjson), which names the format ofbody. ?format=jsonon the same routes returnsbodyas a JSON array of typed blocks instead of a string.- An unsupported
formatanswers400before anything is read or written. - Storage and the request bodies of
POSTandPATCHstay HTML.
Under the hood
- Add the article body renderer port in the domain, with a markdown and JSON block adapter, and tests for every supported element.
- Update
golang.org/x/cryptoto v0.57.0 and addgolang.org/x/netas a direct dependency for HTML parsing. - Add
@tiptap/extension-text-alignto the web interface.
Upgrading
- Replace the binary. No database migration or new environment variable is required.
- Clients that read an article
bodyas HTML must add?format=htmlto their article requests, because the default is now markdown. - A markdown renderer needs raw HTML enabled for text alignment to show, for example
html: truein markdown-it.
Downloads
- Read an article body as markdown, HTML or a typed block array with the