Releases: php-collective/djot-php
Releases · php-collective/djot-php
0.1.2
0.1.1
Improvements
- 100% official test suite compatibility (246/246 tests passing)
- Bug fixes for attribute ordering, paragraph rendering, and inline code parsing
Full Changelog: 0.1.0...0.1.1
0.1.0
Initial Release
A PHP parser for the Djot markup language.
Highlights
- Full PHP 8.2+ implementation of the Djot specification
- Clean AST-based architecture with separate parsing and rendering phases
- Extensible event system for customizing output
- Multiple output formats: HTML, plain text, Markdown
Features
Block Elements
- Headings (levels 1-6)
- Paragraphs
- Code blocks (fenced with ``` or ~~~, with language support)
- Block quotes (including nested)
- Lists (bullet, ordered, task lists)
- Tables (with alignment and captions)
- Definition lists
- Divs (fenced with :::)
- Line blocks
- Thematic breaks
- Raw HTML blocks
- Comments
Inline Elements
- Emphasis (
_text_) - Strong (
*text*) - Links and autolinks
- Images
- Inline code
- Superscript (
{^text^}) - Subscript (
{~text~}) - Highlight (
{=text=}) - Insert (
{+text+}) - Delete (
{-text-}) - Spans with attributes
- Math (inline and display)
- Symbols (
:name:) - Footnotes
Smart Typography
- Curly quotes
- En-dash (
--) and em-dash (---) - Ellipsis (
...)
Advanced Features
- Block and inline attributes (classes, IDs, custom attributes)
- Reference links with attributes
- Table captions
- Multiple footnote references with unique IDs and backrefs
- Event system for render customization
- File parsing (
parseFile(),convertFile())
Renderers
- HtmlRenderer - Full HTML5 output with optional XHTML mode
- PlainTextRenderer - Strip formatting for plain text output
- MarkdownRenderer - Convert back to Markdown
Full Changelog: https://github.com/php-collective/djot-php/commits/0.1.0