Skip to content
This repository has been archived by the owner on Feb 27, 2021. It is now read-only.

vi-kon/laravel-parser-markdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel 5 markdown parser

This is Laravel 5 package for parsing markdown files or strings. Supports booth Traditional Markdown and Github Flavored Markdown syntaxes.

Table of content


Back to top

Todo

  • Fix incoming bugs
  • Finish documentation

Back to top

Features

  • Supports Traditional and GFM markdown syntax
  • Easy to add new rules and skins

Back to top

Installation

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',

Back to top

Usage

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.

Syntax

Paragraphs and Line breaks

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.


Back to top

Headers

Markdown support two header types (setext or atx).

# H1
## H2
### H3
#### H4
##### H5
###### H6

H1

H2

H3

H4

H5
H6

Alternatively, for H1 and H2, an underline-ish style:

Alt-H1
======

Alt-H2
------

Alt-H1

Alt-H2


Back to top

License

This package is licensed under the MIT License


Back to top

About

Laravel 5 Parser for Markdown syntax

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages