This is Laravel 5 package for parsing markdown files or strings. Supports booth Traditional Markdown and Github Flavored Markdown syntaxes.
- Fix incoming bugs
- Finish documentation
- Supports Traditional and GFM markdown syntax
- Easy to add new rules and skins
Via composer
run following command in your project root:
composer require vi-kon/laravel-markdown-parser
In your Laravel 5 project add following lines to app.php
:
// to your providers array
'ViKon\ParserMarkdown\ParserMarkdownServiceProvider',
First need to create classes and set markdown rules:
$parser = new Parser();
$lexer = new Lexer();
$renderer = new Renderer();
// Initialize parser with markdown rules
$ruleSet = new MarkdownRuleSet();
$ruleSet->init($parser, $lexer);
After it need to set renderer. There are multiple skins, bootstrap and markdown.
// Set bootstrap renderer
$bootstrapSkin = new BootstrapSkin();
$bootstrapSkin->init($parser, $renderer);
// Set markdown renderer
$markdownSkin = new MarkdownSkin();
$markdownSkin->init($parser, $renderer);
The bootstrap skin outputs HTML content with Bootstrap tags and styles.
The markdown skin simply outputs markdown content. So this is mainly for testing purposes.
The paragraph handling is depending which parser role is set (traditional or gfm).
If parser mode is traditional then paragraph is simply one or more consecutive lines of text, separated by one or more blank lines.
If parser mode is gfm then above rule is apply, but single newline open separate line in same paragraph.
Here's a line for us to start with.
This line is separated from the one above by two newlines, so it will be a **separate paragraph**.
This line is also a separate paragraph, but...
This line is only separated by a single newline, so it's a separate line in the **same paragraph**.
Here's a line for us to start with.
This line is separated from the one above by two newlines, so it will be a separate paragraph.
This line is also a separate paragraph, but... This line is only separated by a single newline, so it's a separate line in the same paragraph.
Markdown support two header types (setext or atx).
# H1
## H2
### H3
#### H4
##### H5
###### H6
Alternatively, for H1 and H2, an underline-ish style:
Alt-H1
======
Alt-H2
------
This package is licensed under the MIT License