October\Rain\Parse\Markdown

Source: ~/vendor/october/rain/src/Parse/Markdown.php

Markdown helper class.

Calling Markdown::parse($text) returns the HTML corresponding to the Markdown input in $text.

OctoberCMS uses ParsedownExtra as its Markdown parser, but fires markdown.beforeParse and markdown.parse events allowing hooks into the default parsing,

The markdown.beforeParse event passes a MarkdownData instance, containing a public $text variable. Event listeners can modify $text, for example to filter out or protect snippets from being interpreted by ParseDown.

Similarly, markdown.parse is fired after ParseDown has interpreted the (possibly modified) input. This event passes an array [$text, $data], where $text is the original unmodified Markdown input, and $data is the HTML code generated by ParseDown.

Protected properties

protected October\Rain\Parse\Parsedown\Parsedown $parser

Parsedown instance

protected array $emitterSingleEventCollection

Collection of registered events to be fired once only.

protected array $emitterEventCollection

Collection of registered events.

protected array $emitterEventSorted

Sorted collection of events.

Public methods

public self bindEvent($event, $callback, $priority=0)

Create a new event binding.

Parameters
  • $event
  • $callback
  • $priority

public self bindEventOnce($event, $callback)

Create a new event binding that fires once only

Parameters
  • $event
  • $callback

public array fireEvent(string $event, array $params=array(), boolean $halt=false)

Fire an event and call the listeners.

Parameters
  • string $event - Event name
  • array $params - Event parameters
  • boolean $halt - Halt after first non-null result

public string parse(string $text)

Parse text using Markdown and Markdown-Extra

Parameters
  • string $text - Markdown text to parse

public string parseLine(string $text)

Parse a single line

Parameters
  • string $text - Markdown text to parse

public string parseSafe(string $text)

Disables code blocks caused by indentation.

Parameters
  • string $text - Markdown text to parse

public self unbindEvent(string $event=NULL)

Destroys an event binding.

Parameters
  • string $event - Event to destroy

Protected methods

protected array emitterEventSortEvents(string $eventName)

Sort the listeners for a given event by priority.

Parameters
  • string $eventName

protected void getParser()

protected void parseInternal($text, $method='text')

Internal method for parsing

Parameters
  • $text
  • $method