laika.format
Members list
Type members
Classlikes
A renderer for AST output (a formatted Abstract Syntax Tree), primarily useful for debugging purposes.
May be directly passed to the Render
or Transform
APIs:
A renderer for AST output (a formatted Abstract Syntax Tree), primarily useful for debugging purposes.
May be directly passed to the Render
or Transform
APIs:
Renderer.of(AST).build.render(document)
Transformer.from(Markdown).to(AST).build.transform(inputString)
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait RenderFormat[TextFormatter]trait Formatclass Objecttrait Matchableclass Any
- Self type
- AST.type
A render format for HTML output. May be directly passed to the Render
or Transform
APIs:
A render format for HTML output. May be directly passed to the Render
or Transform
APIs:
Renderer.of(HTML).build.render(document)
Transformer.from(Markdown).to(HTML).build.transform(inputString)
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait RenderFormat[HTMLFormatter]trait Formatclass Objecttrait Matchableclass Any
- Self type
- HTML.type
A parser for Markdown text. Instances of this class may be passed directly
to the Parser
or Transformer
APIs:
A parser for Markdown text. Instances of this class may be passed directly
to the Parser
or Transformer
APIs:
val document = MarkupParser.of(Markdown).build.parse(inputString)
Transformer.from(Markdown).to(HTML).build.transform(inputString)
Since this library is not solely focused on producing HTML output, parsing verbatim HTML elements like defined by the official Markdown syntax description is an optional feature, as some types of renderers would not know what to do with HTML nodes in the document tree. It must be enabled explicitly:
val parser = MarkupParser.of(Markdown).withRawContent.build
To switch off all custom extensions like directives, configuration sections at the start of the document or automatic id generation for headers, you can run the parser in strict mode:
val transformer = Transformer.from(Markdown).to(HTML).strict
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait MarkupFormattrait Formatclass Objecttrait Matchableclass Any
- Self type
- Markdown.type
A parser for text written in reStructuredText markup. Instances of this class may be passed directly
to the Parseer
or Transformer
APIs:
A parser for text written in reStructuredText markup. Instances of this class may be passed directly
to the Parseer
or Transformer
APIs:
val document = MarkupParser.of(ReStructuredText).build.parse(inputString)
Transformer.from(ReStructuredText).to(HTML).build.transform(inputString)
reStructuredText has several types of extension points that are fully supported by Laika. For more information on how to implement and register those see laika.rst.bundle.RstExtensionRegistry.
In addition to the standard reStructuredText directives, the API also supports a custom directive type unique to Laika. They represent a library-wide extension mechanism and allow you to implement tags which can be used in any of the supported markup formats or in templates. If you need this level of flexibility, it is recommended to use the Laika directives, if you want to stay compatible with the reStructuredText reference parser, you should pick the standard directives.
Laika directives can be registered with the laika.directive.DirectiveRegistry extension bundle. The DSLs for creating directives are similar, but still different, due to differences in the feature set of the two variants. The Laika directives try to avoid some of the unnecessary complexities of reStructuredText directives.
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait MarkupFormattrait Formatclass Objecttrait Matchableclass Any
- Self type
- ReStructuredText.type
A renderer for XSL-FO output. May be directly passed to the Render
or Transform
APIs:
A renderer for XSL-FO output. May be directly passed to the Render
or Transform
APIs:
Renderer.of(XSLFO).build.render(document)
Transformer.from(Markdown).to(XSLFO).build.transform(inputString)
This renderer is usually used as an interim format for producing a PDF, where you do not deal with this format directly. But it can alternatively also be used as the final output and then get processed by external tools.
Attributes
- Graph
- Supertypes
- Self type
- XSLFO.type