Document Processors

Choosing a Document Processor

By default, PureBuilder Simply uses Pandoc as its document processor.
Pandoc is an extremely powerful tool and allows you to take full advantage of what PureBuilder Simply can offer.

However, PureBuilder Simply does not depend solely on Pandoc—you can also choose other document processors.
The processor to use is specified in .pbsimply.yaml with the pbsimply_processor value.

Processor pbsimply_processor
RDoc rdoc
RDoc/Markdown rdoc_markdown
Kramdown kramdown
Redcarpet redcarpet
CommonMarker (cmark-gfm) cmark
Docutils (experimental) docutils

That said, Pandoc remains the most powerful option, and choosing a processor other than Pandoc may result in functional limitations.

When initializing with pbsimply-init, in version 3.x the Kramdown theme will be used if no theme is specified.
This is because installing Pandoc can be somewhat heavy for users, whereas installing Kramdown is relatively easy as long as a Ruby environment is already available to run PureBuilder Simply.

Overview of Document Processors

RDoc

Summary

It uses RDoc, the standard documentation system of Ruby. Source files are treated as RDoc, and the target is limited to *.rdoc files.

Templates are handled as eRuby templates.

Dependency

  • rdoc library

Disabled configurations

  • css
  • toc
  • pandoc_additional_options
  • post_eruby

RDoc/Markdown

Summary

Use the Markdown processor of RDoc, Ruby’s standard document system. Treat source files as if they were Markdown, limited to *.md files.

Templates are handled as eRuby templates.

Dependency

  • rdoc library

Disabled configurations

  • css
  • toc
  • pandoc_additional_options
  • post_eruby

Kramdown

Summary

It is generated using Kramdown, Ruby’s Markdown library. Treat source files as if they were Markdown, limited to *.md files.

Templates are handled as eRuby templates.

Dependency

  • kramdown library

Disabled configurations

  • css
  • toc
  • pandoc_additional_options
  • post_eruby

Additional configurations

Key Type Description
kramdown_features Hash An associative array passed as the second argument to Kramdown::Document.new. See the API documentation for details

Redcarpet

Summary

It is generated using Redcarpet, Ruby’s Markdown library. Treat source files as if they were Markdown, limited to *.md files.

Templates are handled as eRuby templates.

Dependency

  • redcarpet library

Disabled configurations

  • css
  • toc
  • pandoc_additional_options
  • post_eruby

Additional configurations

Key Type Description
redcarpet_extensions Hash An associative array showing the extensions to Redcarpet. See the Redcarpet page for details.

Redcarpet

Summary

Generated using CommonMarker, a Ruby wrapper for libcmark-gfm. Source files are treated as Markdown, and the target is limited to *.md files.

The table and strikethrough extensions are enabled.

Templates are handled as eRuby templates.

Dependency

  • libcmark-gfm
  • commonmarker library

Disabled configurations

  • css
  • toc
  • pandoc_additional_options
  • post_eruby

Additional configurations

Key Type Description
commonmarker_options Array render_doc options.

Docutils

Summary

Generated using Docutils ReSTructured Text processor written by Python. Source files are treated as ReSTructured Text, and the target is limited to *.rst files.

Dependency

  • Docutils (rst2html5)

Disabled configurations

  • toc
  • pandoc_additional_options

Additional configurations

Key Type Description
docutils_options Array Command-line option arguments for rst2html5 command.