ayesh/markdown

Form of Parsedown with leaner code base, optimized for modern PHP.

v2.1.1 2024-03-15 06:10 UTC

This package is auto-updated.

Last update: 2024-04-15 06:24:45 UTC


README

Fork of erusev/parsedown with modernized code base, maintained, and made even faster with micro-optimizations.

This project was forked from Parsedown 1.7.4, and has been maintained since. It tries to keep feature parity with Parsedown, but this project favors code maintainability, modern PHP features, security and performance.

  • Uses modern PHP features such as typed class constants, typed properties, and several preg_ and other string inspect/manipulation functions with str_contains, str_starts_with, 'str_ends_with`, etc.
  • Supports and requires PHP 8.3
  • Latest PHPUnit version for tests
  • Nesting and branching improvements
  • Custom header support
  • Table row class support
  • Table column align support with align attributes and not inline styles (helps with CSP)
  • Blockquote element custom class support

Markup differences

This library offers an opinionated list of markup improvements compared to the Common Mark spec:

Custom Header Support

Parsedown does not support header anchor tags. This library provides header anchors using this syntax:

## My Title {#my-title}

This yields:

<h2 id="my-title"><a href="#my-title" class="anchor">My Title</a></h2>