Skip to content

Light and fast markdown parser, that parses markdown in a way human does

License

Notifications You must be signed in to change notification settings

adhocore/htmlup

Repository files navigation

adhocore/htmlup

Latest Version Travis Build Scrutinizer CI Codecov branch StyleCI Software License Donate 15 Donate 25 Donate 50 Tweet

htmlup is ultra lightweight and uber speedy markdown to html parser written in PHP. Concept - it splits the markdown into lines and parses to markup one by one, finally applies markdown syntaxes on the markup. It supports most of the markdown as in specs.

installation

Run composer require adhocore/htmlup

usage

<?php

use Ahc\HtmlUp;

// require '/path/to/vendor/autoload.php';

// Defaults to 4 space indentation.
echo new Ahc\HtmlUp($markdownText);

// Force 2 space indentation.
echo new HtmlUp($markdownText, 2);

// Also possible:
echo (new Htmlup)->parse($markdownText);

features

nesting

It provides limited support to deep nested elements, supported items are:

  • lists inside lists
  • blockquotes inside blockcodes
  • lists inside blockquotes

raw html

you can throw in your raw html but with a blank line at start and end to delimit the block at like so-

<dl>
  <dt>
  	A
  </dt>
  <dd>Apple
  	</dd>
  	<dt>B
  </dt>
  <dd>
  Ball</dd>
</dl>

table

supports GFM table syntax, example:

a | b | c
--- |----| ---
1 | 2  |3
 4| 5 | 6

is rendered as:

a b c
1 2 3
4 5 6

todo

  • make robust, and provide full support of spec
  • handle markdown table syntax
  • markdown extra however, is not planned :(

contributing

  • fork and pull request for patch/fix
  • create issue for breaking bugs and severe markdown spec violation
  • please check the guide

license

© 2014-2018 | Jitendra Adhikari | MIT