Skip to content

Releases: php-collective/djot-php

0.1.2

29 Nov 15:10
1a4fe7e

Choose a tag to compare

Improvements

  • Add MarkdownToDjot and BbcodeToDjot converters
  • Add SafeMode for XSS protection in #3
  • Add list item attribute support in #5

Full Changelog: 0.1.1...0.1.2

0.1.1

28 Nov 02:24

Choose a tag to compare

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

27 Nov 23:38

Choose a tag to compare

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