Ronn

the opposite of roff

  • 所有者: rtomayko/ronn
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Ronn

Ronn builds manuals. It converts simple, human readable textfiles to roff for
terminal display, and also to HTML for the web.

The source format includes all of Markdown but has a more rigid structure and
syntax extensions for features commonly found in manpages (definition lists,
link notation, etc.). The ronn-format(7) manual page defines the format in
detail.

The *.ronn files found in the man/ directory show off a wide range of
ronn capabilities:

As an alternative, you might want to check out pandoc which can also convert markdown into roff manual pages.

Examples

Build roff and HTML output files for one or more input files:

$ ronn man/ronn.5.ronn
roff: man/ronn.5
html: man/ronn.5.html

Generate only a standalone HTML version of one or more files:

$ ronn --html man/markdown.5.ronn
html: man/markdown.5.html

Build roff versions of all ronn files in a directory:

$ ronn --roff man/*.ronn

View a ronn file as if it were a manpage without building intermediate files:

$ ronn --man man/markdown.5.ronn

View roff output with man(1):

$ man man/ronn.5

The ronn(1) manual page includes
comprehensive documentation on ronn command line options.

Background

Some think UNIX manual pages are a poor and outdated form of documentation. I
disagree:

  • Manpages follow a well defined structure that's immediately familiar. This
    gives developers a starting point when documenting new tools, libraries, and
    formats.

  • Manpages get to the point. Because they're written in an inverted style, with
    a SYNOPSIS section followed by additional detail, prose and references to
    other sources of information, manpages provide the best of both cheat sheet
    and reference style documentation.

  • Historically, manpages use an extremely -- unbelievably -- limited set of
    text formatting capabilities. You get a couple of headings, lists, bold,
    underline and no more. This is a feature.

  • Although two levels of section hierarchy are technically supported, most
    manpages use only a single level. Unwieldy document hierarchies complicate
    otherwise good documentation. Remember that Feynman covered all of physics
    -- heavenly bodies through QED -- with only two levels of document hierarchy
    (The Feynman Lectures on Physics, 1970).

  • The classical terminal manpage display is typographically well thought out.
    Big bold section headings, justified monospace text, nicely indented
    paragraphs, intelligently aligned definition lists, and an informational
    header and footer.

  • Manpages have a simple referencing syntax; e.g., sh(1), fork(2), markdown(7).
    HTML versions can use this to generate links between pages.

Unfortunately, figuring out how to create a manpage is a fairly tedious process.
The roff/mandoc/mdoc macro languages are highly extensible, fractured between
multiple dialects, and include a bunch of device specific stuff irrelevant to
modern publishing tools.

Copying

Ronn is Copyright (C) 2010 Ryan Tomayko
See the file COPYING for information of licensing and distribution.

主要指标

概览
名称与所有者rtomayko/ronn
主编程语言Ruby
编程语言Ruby (语言数: 2)
平台
许可证Other
所有者活动
创建于2009-11-02 22:11:27
推送于2022-01-29 05:32:21
最后一次提交2013-08-14 01:05:08
发布数9
最新版本名称0.7.3 (发布于 )
第一版名称0.1 (发布于 )
用户参与
星数1.4k
关注者数28
派生数84
提交数307
已启用问题?
问题数80
打开的问题数36
拉请求数10
打开的拉请求数14
关闭的拉请求数6
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?