Module: CommonMarker

Defined in:
lib/commonmarker.rb,
lib/commonmarker/node.rb,
lib/commonmarker/config.rb,
lib/commonmarker/version.rb,
lib/commonmarker/renderer.rb,
lib/commonmarker/node/inspect.rb,
lib/commonmarker/renderer/html_renderer.rb,
ext/commonmarker/commonmarker.c

Defined Under Namespace

Modules: Config Classes: HtmlRenderer, Node, NodeError, Renderer

Constant Summary collapse

VERSION =
"0.23.8"

Class Method Summary collapse

Class Method Details

.extensionsObject



1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
# File 'ext/commonmarker/commonmarker.c', line 1208

VALUE rb_extensions(VALUE self) {
  cmark_llist *exts, *it;
  cmark_syntax_extension *ext;
  VALUE ary = rb_ary_new();

  cmark_mem *mem = cmark_get_default_mem_allocator();
  exts = cmark_list_syntax_extensions(mem);
  for (it = exts; it; it = it->next) {
    ext = it->data;
    rb_ary_push(ary, rb_str_new2(ext->name));
  }
  cmark_llist_free(mem, exts);

  return ary;
}

.render_doc(text, options = :DEFAULT, extensions = []) ⇒ Object

Public: Parses a Markdown string into a ‘document` node.

string - String to be parsed option - A Symbol or of Symbols indicating the parse options extensions - An of Symbols indicating the extensions to use

Returns the ‘document` node.

Raises:

  • (TypeError)


37
38
39
40
41
42
43
# File 'lib/commonmarker.rb', line 37

def render_doc(text, options = :DEFAULT, extensions = [])
  raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String)

  opts = Config.process_options(options, :parse)
  text = text.encode("UTF-8")
  Node.parse_document(text, text.bytesize, opts, extensions)
end

.render_html(text, options = :DEFAULT, extensions = []) ⇒ Object

Public: Parses a Markdown string into an HTML string.

text - A String of text option - Either a Symbol or of Symbols indicating the render options extensions - An of Symbols indicating the extensions to use

Returns a String of converted HTML.

Raises:

  • (TypeError)


23
24
25
26
27
28
# File 'lib/commonmarker.rb', line 23

def render_html(text, options = :DEFAULT, extensions = [])
  raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String)

  opts = Config.process_options(options, :render)
  Node.markdown_to_html(text.encode("UTF-8"), opts, extensions)
end