roff

Troff integration with web technologies. Tools and postprocessors to generate web-based formats in Roff.


Keywords
troff, groff, nroff, roff, manpages, ditroff, postprocessing, typesetting, Electron, Electroff, atom
License
ISC
Install
npm install roff@0.2.0

Documentation

Roff.js

This is a collection of tools for integrating Troff output with JavaScript. It is not a module for parsing Roff source. Don't ever be tempted to write one, either. Stick to a standard Troff implementation like Groff or Heirloom Doctools.

This version is an early pre-release, still in alpha and prone to many changes.

Postprocessors included

  • canvas

    Uses HTML5 canvas technology to render PDF documents generated by gropdf (or its equivalent).

  • html-tty

    Generate an HTML-based rendition of monospaced terminal output, replicating the look of a document formatted with nroff.

Both of these will eventually see use in an (unfinished) extension for the Atom editor.

Postprocessors planned

  • markdown

    Lossy conversion to CommonMark, with optional GFM-specific features. Includes automated uploading and embedding of embedded SVGs (which requires the gist tool for uploads).

  • rst

    Lossy conversion to reStructuredText, another lightweight markup language with significantly more features than Markdown.

  • svg

    Render a document or Pic drawing as an SVG image

  • plainhtml

    A barest-possible representation of an HTML5 document, composed only of semantic and structured markup. This output is ideal for generating skeleton documents, or for (re-)generating documentation that an existing stylesheet will handle.