.\" generated with nRonn/v0.10.1 .\" https://github.com/n-ronn/nronn/tree/0.10.1.pre4 .TH "RONN" "1" "August 2022" "nRonn 0.10.1.pre4" "Ronn Manual" .SH "NAME" \fBronn\fR \- convert markdown files to manpages .SH "SYNOPSIS" \fBronn\fR [\fIformat\fR\|\.\|\.\|\.] \fIfile\fR\|\.\|\.\|\. .br \fBronn\fR \fB\-m\fR|\fB\-\-man\fR \fIfile\fR\|\.\|\.\|\. .br \fBronn\fR \fB\-S\fR|\fB\-\-server\fR \fIfile\fR\|\.\|\.\|\. .br \fBronn\fR \fB\-\-pipe\fR \fIfile\fR .br \fBronn\fR < \fIfile\fR .br \fBronn\fR \fB\-E\fR|\fB\-\-encoding\fR \fIencoding\fR \|\.\|\.\|\. .SH "DESCRIPTION" \fBRonn\fR converts textfiles to standard roff\-formatted Unix manpages or HTML\. ronn\-format(7) is based on markdown(7) but includes additional rules and syntax geared toward authoring manuals\. .P In its default mode, \fBronn\fR converts one or more input \fIfile\fRs to HTML or roff output files\. The \fB\-\-roff\fR, \fB\-\-html\fR, and \fB\-\-fragment\fR options dictate which output files are generated\. Multiple format arguments may be specified to generate multiple output files\. Output files are named after and written to the same directory as input \fIfile\fRs\. .P The \fB\-\-server\fR and \fB\-\-man\fR options change the output behavior from file generation to serving dynamically generated HTML manpages or viewing \fIfile\fR as with man(1)\. .P With no \fIfile\fR arguments, \fBronn\fR acts as simple filter\. Ronn source text is read from standard input and roff output is written to standard output\. Use the \fB\-\-html\fR, \fB\-\-roff\fR, and/or \fB\-\-fragment\fR options to select the output format\. .SH "FILES" The \fBronn\fR command expects input to be valid ronn\-format(7) text\. Source files are typically named \fIname\fR\.\fIsection\fR\.ronn (e\.g\., \fBexample\.1\.ronn\fR)\. The \fIname\fR and \fIsection\fR should match the name and section defined in the \fIfile\fR's heading\. .P Source files must be in UTF\-8 encoding, or the encoding specified by the \fB\-E\fR/\fB\-\-encoding\fR option, regardless of the locale that \fBronn\fR is running under\. .P When building roff or HTML output files, destination filenames are determined by taking the basename of the input \fIfile\fR and adding the appropriate file extension (or removing the file extension in the case of roff output)\. For example, executing \fBronn example\.1\.ronn\fR generates \fBexample\.1\fR with roff output and \fBexample\.1\.html\fR with HTML output\. .SH "OPTIONS" These options control whether output is written to file(s), standard output, or directly to a man pager\. .IP "\(bu" 4 \fB\-m\fR, \fB\-\-man\fR: Don't generate files, display \fIfile\fRs as if man(1) were invoked on the roff output file\. This simulates default man behavior by piping the roff output through groff(1) and the paging program specified by the \fBMANPAGER\fR environment variable\. .IP "\(bu" 4 \fB\-S\fR, \fB\-\-server\fR: Don't generate files, start an HTTP server at \fIhttp://localhost:1207/\fR and serve dynamically generated HTML for the set of input \fIfile\fRs\. A file named \fIexample\.2\.ronn\fR is served as \fI/example\.2\.html\fR\. There's also an index page at the root with links to each \fIfile\fR\. .IP The server respects the \fB\-\-style\fR and document attribute options (\fB\-\-manual\fR, \fB\-\-date\fR, etc\.)\. These same options can be varied at request time by giving them as query parameters: \fB?manual=FOO&style=dark,toc\fR .IP \fINOTE: The builtin server is designed to assist in the process of writing and styling manuals\. It is in no way recommended as a general purpose web server\.\fR .IP "\(bu" 4 \fB\-\-port\fR=\fIport\fR When used with \fB\-S\fR/\fB\-\-server\fR, runs the server at the specified port instead of the default port 1207\. .IP "\(bu" 4 \fB\-\-pipe\fR: Don't generate files, write generated output to standard output\. This is the default behavior when ronn source text is piped in on standard input and no \fIfile\fR arguments are provided\. .IP "\(bu" 4 \fB\-o\fR=\fIdirectory\fR, \fB\-\-output\-dir\fR=\fIdirectory\fR: Write generated files to the specified directory instead of the default location\. .IP "\(bu" 4 \fB\-E\fR=\fIencoding\fR, \fB\-\-encoding\fR=\fR tag includes a \fBmedia=print\fR attribute\. .TP \fBtoc\fR Enables the Table of Contents navigation\. The TOC markup is included in generated HTML by default but hidden with an inline \fBdisplay:none\fR style rule; the \fBtoc\fR module turns it on and applies basic TOC styles\. .TP \fBdark\fR Light text on a dark background\. .TP \fB80c\fR Changes the display width to mimic the display of a classic 80 character terminal\. The default display width causes lines to wrap at a gratuitous 100 characters\. .SS "Custom Stylesheets" Writing custom stylesheets is straight\-forward\. The following core selectors allow targeting all generated elements: .TP \fB\.mp\fR The manual page container element\. Present on full documents and document fragments\. .TP \fBbody#manpage\fR Signifies that the page was fully\-generated by Ronn and contains a single manual page (\fB\.mp\fR element)\. .TP \fB\.man\-decor\fR The three\-item heading and footing elements both have this class\. .TP \fB\.man\-head\fR, \fB\.man\-foot\fR The heading and footing, respectively\. .TP \fB\.man\-title\fR The main \fB

\fR element\. Hidden by default unless the manual has no \fIname\fR or \fIsection\fR attributes\. .P See the builtin style sources \fIhttps://github\.com/n\-ronn/nronn/tree/main/lib/ronn/template\fR for examples\. .SH "EXAMPLES" Build roff and HTML output files and view the roff manpage using man(1): .IP "" 4 .nf $ ronn some\-great\-program\.1\.ronn roff: some\-great\-program\.1 html: some\-great\-program\.1\.html $ man \./some\-great\-program\.1 .fi .IP "" 0 .P Build only the roff manpage for all \fB\.ronn\fR files in the current directory: .IP "" 4 .nf $ ronn \-\-roff *\.ronn roff: mv\.1 roff: ls\.1 roff: cd\.1 roff: sh\.1 .fi .IP "" 0 .P Build only the HTML manpage for a few files and apply the \fBdark\fR and \fBtoc\fR stylesheets: .IP "" 4 .nf $ ronn \-\-html \-\-style=dark,toc mv\.1\.ronn ls\.1\.ronn html: mv\.1\.html html: ls\.1\.html .fi .IP "" 0 .P Generate roff output on standard output and write to file: .IP "" 4 .nf $ ronn hello\.1 .fi .IP "" 0 .P View a ronn file in the same way as man(1) without building a roff file: .IP "" 4 .nf $ ronn \-\-man hello\.1\.ronn .fi .IP "" 0 .P Serve HTML manpages at \fIhttp://localhost:1207/\fR for all \fB*\.ronn\fR files under a \fBman/\fR directory: .IP "" 4 .nf $ ronn \-\-server man/*\.ronn $ open http://localhost:1207/ .fi .IP "" 0 .SH "ENVIRONMENT" .TP \fBRONN_MANUAL\fR A default manual name to be displayed in the top\-center header area\. The \fB\-\-manual\fR option takes precedence over this value\. .TP \fBRONN_ORGANIZATION\fR The default manual publishing group, organization, or individual to be displayed in the bottom\-left footer area\. The \fB\-\-organization\fR option takes precedence over this value\. .TP \fBRONN_DATE\fR The default manual date in \fBYYYY\-MM\-DD\fR format\. Displayed in the bottom\-center footer area\. The \fB\-\-date\fR option takes precedence over this value\. .TP \fBRONN_STYLE\fR A \fBPATH\fR\-style list of directories to check for stylesheets given to the \fB\-\-style\fR option\. Directories are separated by a \fI:\fR; blank entries are ignored\. Use \fI\.\fR to include the current working directory\. .TP \fBMANPAGER\fR The paging program used for man pages\. This is typically set to something like 'less \-is'\. .TP \fBPAGER\fR Used instead of \fBMANPAGER\fR when \fBMANPAGER\fR is not defined\. .SH "COPYRIGHT" See LICENSE\.txt \fI\./LICENSE\.txt\fR .SH "SEE ALSO" groff(1), man(1), pandoc(1), manpages(5), markdown(7), roff(7), ronn\-format(7)