module Markly
Nested Classes and Modules
class NodeRepresents a node in a parsed Markdown document tree.
Definitions
DEFAULT = 0
The default parsing system.
VALIDATE_UTF8 = 1 << 9
Replace illegal sequences with the replacement character U+FFFD.
SMART = 1 << 10
Use smart punctuation (curly quotes, etc.).
LIBERAL_HTML_TAG = 1 << 12
Support liberal parsing of inline HTML tags.
FOOTNOTES = 1 << 13
Parse footnotes.
STRIKETHROUGH_DOUBLE_TILDE = 1 << 14
Support strikethrough using double tildes.
UNSAFE = 1 << 17
Allow raw/custom HTML and unsafe links.
FRONT_MATTER = 1 << 18
Parse front matter ("---" delimited block at start of document). The raw content is available via node.string_content and the optional format hint (e.g. "yaml", "toml") via node.code_info; interpretation is left to the caller.
INLINE_CODE_INFO = 1 << 19
Parse language prefixes on inline code spans, e.g. ruby:Object.new.
SOURCE_POSITION = 1 << 1
Include source position in rendered HTML.
HARD_BREAKS = 1 << 2
Treat \n as hardbreaks (by adding <br/>).
NO_BREAKS = 1 << 4
Translate \n in the source to a single whitespace.
GITHUB_PRE_LANG = 1 << 11
Use GitHub-style <pre lang> for fenced code blocks.
TABLE_PREFER_STYLE_ATTRIBUTES = 1 << 15
Use style insted of align for table cells.
FULL_INFO_STRING = 1 << 16
Include full info strings of code blocks in separate attribute.
VERSION = "0.17.0"
Signature
- constant
The version of the Markly gem.
def self.parse(text, flags: DEFAULT, extensions: nil)
Parse a Markdown string into a document node.
Signature
-
parameter
textString The Markdown text to parse.
-
parameter
flagsInteger The enabled parsing flags.
-
parameter
extensionsArray(Symbol) | Nil The extensions to enable.
-
returns
Markly::Node The parsed document node.
Implementation
def self.parse(text, flags: DEFAULT, extensions: nil)
parser = Parser.new(flags)
extensions&.each do |extension|
parser.enable(extension)
end
return parser.parse(text.encode(Encoding::UTF_8))
end
def self.render_html(text, flags: DEFAULT, parse_flags: flags, render_flags: flags, extensions: [])
Parse a Markdown string and render it as HTML.
Signature
-
parameter
textString The Markdown text to render.
-
parameter
flagsInteger The default parsing and rendering flags.
-
parameter
parse_flagsInteger The enabled parsing flags.
-
parameter
render_flagsInteger The enabled rendering flags.
-
parameter
extensionsArray(Symbol) The extensions to enable.
-
returns
String The rendered HTML.
Implementation
def self.render_html(text, flags: DEFAULT, parse_flags: flags, render_flags: flags, extensions: [])
root = self.parse(text, flags: parse_flags, extensions: extensions)
return root.to_html(flags: render_flags, extensions: extensions)
end