Module: Asciidoctor::SyntaxHighlighter
Overview
prettify. Additional adapters can be registered using SyntaxHighlighter.register or by supplying a custom factory.
Defined Under Namespace
Modules: Config, DefaultFactory, Factory Classes: Base, CodeRayAdapter, CustomFactory, DefaultFactoryProxy, HighlightJsAdapter, HtmlPipelineAdapter, PrettifyAdapter, PygmentsAdapter, RougeAdapter
Constant Summary
Constants included from DefaultFactory
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the String name of this syntax highlighter for referencing it in messages and option names.
Instance Method Summary collapse
-
#docinfo(location, doc, opts) ⇒ String
Generates docinfo markup for this syntax highlighter to insert at the specified location in the output document.
-
#docinfo?(location) ⇒ Boolean
Indicates whether this syntax highlighter has docinfo (i.e., markup) to insert into the output document at the specified location.
-
#format(node, lang, opts) ⇒ String
Format the highlighted source for inclusion in an HTML document.
-
#highlight(node, source, lang, opts) ⇒ Object
Highlights the specified source when this source block is being converted.
-
#highlight? ⇒ Boolean
Indicates whether highlighting is handled by this syntax highlighter or by the client.
- #initialize(name, backend = 'html5', opts = {}) ⇒ Object
-
#write_stylesheet(doc, to_dir) ⇒ void
Writes the stylesheet to support the highlighted source(s) to disk.
-
#write_stylesheet?(doc) ⇒ Boolean
Indicates whether this syntax highlighter wants to write a stylesheet to disk.
Methods included from DefaultFactory
Methods included from Factory
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the String name of this syntax highlighter for referencing it in messages and option names.
16 17 18 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 16 def name @name end |
Instance Method Details
#docinfo(location, doc, opts) ⇒ String
Generates docinfo markup for this syntax highlighter to insert at the specified location in the output document. Should be called by converter after main content has been converted.
41 42 43 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 41 def docinfo location, doc, opts raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method since #docinfo? returns true) end |
#docinfo?(location) ⇒ Boolean
Indicates whether this syntax highlighter has docinfo (i.e., markup) to insert into the output document at the specified location. Should be called by converter after main content has been converted.
28 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 28 def docinfo? location; end |
#format(node, lang, opts) ⇒ String
Format the highlighted source for inclusion in an HTML document.
80 81 82 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 80 def format node, lang, opts raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method) end |
#highlight(node, source, lang, opts) ⇒ Object
Highlights the specified source when this source block is being converted.
If the source contains callout marks, the caller assumes the source remains on the same lines and no closing tags are added to the end of each line. If the source gets shifted by one or more lines, this method must return a tuple containing the highlighted source and the number of lines by which the source was shifted.
68 69 70 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 68 def highlight node, source, lang, opts raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method since #highlight? returns true) end |
#highlight? ⇒ Boolean
Indicates whether highlighting is handled by this syntax highlighter or by the client.
48 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 48 def highlight?; end |
#initialize(name, backend = 'html5', opts = {}) ⇒ Object
18 19 20 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 18 def initialize name, backend = 'html5', opts = {} @name = @pre_class = name end |
#write_stylesheet(doc, to_dir) ⇒ void
This method returns an undefined value.
Writes the stylesheet to support the highlighted source(s) to disk.
98 99 100 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 98 def write_stylesheet doc, to_dir raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method since #write_stylesheet? returns true) end |
#write_stylesheet?(doc) ⇒ Boolean
Indicates whether this syntax highlighter wants to write a stylesheet to disk. Only called if both the linkcss and copycss attributes are set on the document.
90 |
# File 'lib/asciidoctor/syntax_highlighter.rb', line 90 def write_stylesheet? doc; end |