ronn-ng 0.7.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/AUTHORS +8 -0
- data/CHANGES +184 -0
- data/INSTALLING +20 -0
- data/LICENSE.txt +11 -0
- data/README.md +113 -0
- data/Rakefile +163 -0
- data/bin/ronn +223 -0
- data/config.ru +15 -0
- data/lib/ronn.rb +50 -0
- data/lib/ronn/document.rb +495 -0
- data/lib/ronn/index.rb +183 -0
- data/lib/ronn/roff.rb +302 -0
- data/lib/ronn/server.rb +70 -0
- data/lib/ronn/template.rb +171 -0
- data/lib/ronn/template/80c.css +6 -0
- data/lib/ronn/template/dark.css +18 -0
- data/lib/ronn/template/darktoc.css +17 -0
- data/lib/ronn/template/default.html +41 -0
- data/lib/ronn/template/man.css +100 -0
- data/lib/ronn/template/print.css +5 -0
- data/lib/ronn/template/screen.css +105 -0
- data/lib/ronn/template/toc.css +27 -0
- data/lib/ronn/utils.rb +55 -0
- data/man/index.html +78 -0
- data/man/index.txt +15 -0
- data/man/ronn-format.7 +201 -0
- data/man/ronn-format.7.ronn +157 -0
- data/man/ronn.1 +325 -0
- data/man/ronn.1.ronn +306 -0
- data/ronn-ng.gemspec +97 -0
- data/test/angle_bracket_syntax.html +18 -0
- data/test/angle_bracket_syntax.ronn +12 -0
- data/test/basic_document.html +9 -0
- data/test/basic_document.ronn +4 -0
- data/test/contest.rb +68 -0
- data/test/custom_title_document.html +6 -0
- data/test/custom_title_document.ronn +5 -0
- data/test/definition_list_syntax.html +21 -0
- data/test/definition_list_syntax.roff +26 -0
- data/test/definition_list_syntax.ronn +18 -0
- data/test/dots_at_line_start_test.roff +10 -0
- data/test/dots_at_line_start_test.ronn +4 -0
- data/test/entity_encoding_test.html +35 -0
- data/test/entity_encoding_test.roff +61 -0
- data/test/entity_encoding_test.ronn +25 -0
- data/test/index.txt +8 -0
- data/test/markdown_syntax.html +957 -0
- data/test/markdown_syntax.roff +1467 -0
- data/test/markdown_syntax.ronn +881 -0
- data/test/middle_paragraph.html +15 -0
- data/test/middle_paragraph.roff +13 -0
- data/test/middle_paragraph.ronn +10 -0
- data/test/missing_spaces.roff +9 -0
- data/test/missing_spaces.ronn +2 -0
- data/test/pre_block_with_quotes.roff +13 -0
- data/test/pre_block_with_quotes.ronn +6 -0
- data/test/section_reference_links.html +17 -0
- data/test/section_reference_links.roff +10 -0
- data/test/section_reference_links.ronn +12 -0
- data/test/test_ronn.rb +110 -0
- data/test/test_ronn_document.rb +186 -0
- data/test/test_ronn_index.rb +73 -0
- data/test/titleless_document.html +10 -0
- data/test/titleless_document.ronn +3 -0
- data/test/underline_spacing_test.roff +21 -0
- data/test/underline_spacing_test.ronn +11 -0
- metadata +176 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
/* toc.css - enable table of contents */
|
2
|
+
|
3
|
+
.man-navigation {
|
4
|
+
display:block !important;
|
5
|
+
position:fixed;
|
6
|
+
top:0;
|
7
|
+
left:113ex; /* .mp width + padding */
|
8
|
+
height:100%;
|
9
|
+
width:100%;
|
10
|
+
padding:48px 0 0 0;
|
11
|
+
border-left:1px solid #dbdbdb;
|
12
|
+
background:#eee;
|
13
|
+
}
|
14
|
+
.man-navigation a,
|
15
|
+
.man-navigation a:hover,
|
16
|
+
.man-navigation a:link,
|
17
|
+
.man-navigation a:visited {
|
18
|
+
display:block;
|
19
|
+
margin:0;
|
20
|
+
padding:5px 2px 5px 30px;
|
21
|
+
color:#999;
|
22
|
+
text-decoration:none;
|
23
|
+
}
|
24
|
+
.man-navigation a:hover {
|
25
|
+
color:#111;
|
26
|
+
text-decoration:underline;
|
27
|
+
}
|
data/lib/ronn/utils.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'set'
|
2
|
+
require 'cgi'
|
3
|
+
|
4
|
+
module Ronn
|
5
|
+
module Utils
|
6
|
+
|
7
|
+
# All HTML 4 elements and some that are in common use.
|
8
|
+
HTML = %w[
|
9
|
+
a abbr acronym address applet area b base basefont bdo big blockquote body br
|
10
|
+
button caption center cite code col colgroup dd del dfn dir div dl dt em
|
11
|
+
fieldset font form frame frameset h1 h2 h3 h4 h5 h6 head hr html i iframe img
|
12
|
+
input ins isindex kbd label legend li link map menu meta noframes noscript
|
13
|
+
object ol optgroup option p param pre q s samp script select small span strike
|
14
|
+
strong style sub sup table tbody td textarea tfoot th thead title tr tt u ul var
|
15
|
+
].to_set
|
16
|
+
|
17
|
+
# Block elements.
|
18
|
+
HTML_BLOCK = %w[
|
19
|
+
blockquote body colgroup dd div dl dt fieldset form frame frameset
|
20
|
+
h1 h2 h3 h4 h5 h6 hr head html iframe li noframes noscript
|
21
|
+
object ol optgroup option p param pre script select
|
22
|
+
style table tbody td textarea tfoot th thead title tr tt ul
|
23
|
+
].to_set
|
24
|
+
|
25
|
+
# Inline elements
|
26
|
+
HTML_INLINE = HTML - HTML_BLOCK
|
27
|
+
|
28
|
+
# Elements that don't have a closing tag.
|
29
|
+
HTML_EMPTY = %w[area base basefont br col hr input link meta].to_set
|
30
|
+
|
31
|
+
def block_element?(name)
|
32
|
+
HTML_BLOCK.include?(name)
|
33
|
+
end
|
34
|
+
|
35
|
+
def inline_element?(name)
|
36
|
+
HTML_INLINE.include?(name)
|
37
|
+
end
|
38
|
+
|
39
|
+
def empty_element?(name)
|
40
|
+
HTML_EMPTY.include?(name)
|
41
|
+
end
|
42
|
+
|
43
|
+
def html_element?(name)
|
44
|
+
HTML.include?(name)
|
45
|
+
end
|
46
|
+
|
47
|
+
def child_of?(node, tag)
|
48
|
+
while node
|
49
|
+
return true if node.name && node.name.downcase == tag
|
50
|
+
node = node.parent
|
51
|
+
end
|
52
|
+
false
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/man/index.html
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Ronn</title>
|
5
|
+
<style>
|
6
|
+
body {
|
7
|
+
font-size:24px;
|
8
|
+
line-height:1.5;
|
9
|
+
font-family:georgia,serif;
|
10
|
+
color:#555;
|
11
|
+
}
|
12
|
+
div#index {
|
13
|
+
width:28em;
|
14
|
+
margin:0 auto;
|
15
|
+
}
|
16
|
+
h1 {
|
17
|
+
text-align:center;
|
18
|
+
font-weight:normal;
|
19
|
+
color:#000;
|
20
|
+
margin-bottom:0;
|
21
|
+
letter-spacing:-3px;
|
22
|
+
}
|
23
|
+
h3 {
|
24
|
+
text-align:center;
|
25
|
+
font-weight:normal;
|
26
|
+
color:#444;
|
27
|
+
margin-top:-20px;
|
28
|
+
margin-bottom:40px;
|
29
|
+
}
|
30
|
+
h4 {
|
31
|
+
font-weight:normal;
|
32
|
+
font-size:26px;
|
33
|
+
color:#111;
|
34
|
+
}
|
35
|
+
p, dl { margin-left:40px }
|
36
|
+
.aux { font-family:monospace;font-size:20px;letter-spacing:1px; }
|
37
|
+
.also { font-size:18px }
|
38
|
+
.copy { font-size:16px;text-align:center;color:#111 }
|
39
|
+
.man-ref { font-family:monospace;letter-spacing:-2px; }
|
40
|
+
</style>
|
41
|
+
</head>
|
42
|
+
<body>
|
43
|
+
<div id='index'>
|
44
|
+
<h1>Ronn</h1>
|
45
|
+
<h3>Builds manuals</h3>
|
46
|
+
|
47
|
+
<h4>Auxiliary</h4>
|
48
|
+
<p class='aux'>
|
49
|
+
<a href='http://github.com/apjanke/ronn-ng#readme'>README</a>,
|
50
|
+
<a href='http://github.com/apjanke/ronn-ng/blob/master/INSTALLING#files'>INSTALLING</a>,
|
51
|
+
<a href='http://github.com/apjanke/ronn-ng/blob/master/CHANGES#files'>CHANGES</a>,
|
52
|
+
<a href='http://github.com/apjanke/ronn-ng/blob/master/COPYING#files'>COPYING</a>,
|
53
|
+
<a href='http://github.com/apjanke/ronn-ng/blob/master/AUTHORS#files'>AUTHORS</a>
|
54
|
+
</p>
|
55
|
+
|
56
|
+
<h4>Manuals</h4>
|
57
|
+
<dl>
|
58
|
+
<dt><a class='man-ref' href='ronn.1.html'>ronn(1)</a></dt>
|
59
|
+
<dd>manual authoring tool</dd>
|
60
|
+
|
61
|
+
<dt><a class='man-ref' href='ronn-format.7.html'>ronn-format(7)</a></dt>
|
62
|
+
<dd>markdown-based text format for authoring manpages</dd>
|
63
|
+
</dl>
|
64
|
+
|
65
|
+
<h4>See Also</h4>
|
66
|
+
<p class='also'>
|
67
|
+
<a class='man-ref' href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/manpages.5.html">manpages(5)</a>,
|
68
|
+
<a class='man-ref' href="http://daringfireball.net/projects/markdown/syntax">markdown(7)</a>,
|
69
|
+
<a class='man-ref' href="http://man.cx/man(1)">man(1)</a>,
|
70
|
+
<a class='man-ref' href="http://man.cx/roff(7)">roff(7)</a>,
|
71
|
+
<a class='man-ref' href="http://man.cx/groff(1)">groff(1)</a>,
|
72
|
+
<a class='man-ref' href="http://mustache.github.com/mustache.5.html">mustache(5)</a>
|
73
|
+
</p>
|
74
|
+
|
75
|
+
<p class='copy'>Copyright © 2010 Ryan Tomayko, © 2018 Andrew Janke</p>
|
76
|
+
</div>
|
77
|
+
</body>
|
78
|
+
</html>
|
data/man/index.txt
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# manuals
|
2
|
+
ronn(1) ronn.1.ronn
|
3
|
+
ronn(5) ronn.5.ronn
|
4
|
+
ronn(7) ronn.7.ronn
|
5
|
+
|
6
|
+
# external manuals
|
7
|
+
roff(7) http://man.cx/roff(7)
|
8
|
+
grep(1) http://man.cx/grep(1)
|
9
|
+
groff(1) http://man.cx/groff(1)
|
10
|
+
sh(1) http://man.cx/sh(1posix)
|
11
|
+
test(1) http://man.cx/test(1)
|
12
|
+
fork(2) http://man.cx/fork(2)
|
13
|
+
man(1) http://man.cx/man(1)
|
14
|
+
markdown(7) http://daringfireball.net/projects/markdown/syntax
|
15
|
+
manpages(5) http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/manpages.5.html
|
data/man/ronn-format.7
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.0
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.0
|
3
|
+
.
|
4
|
+
.TH "RONN\-FORMAT" "7" "June 2010" "Ronn 0.7.0" "Ronn Manual"
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBronn\-format\fR \- manual authoring format based on Markdown
|
8
|
+
.
|
9
|
+
.SH "SYNOPSIS"
|
10
|
+
.
|
11
|
+
.nf
|
12
|
+
|
13
|
+
name(1) \-\- short, single\-sentence description
|
14
|
+
=============================================
|
15
|
+
|
16
|
+
## SYNOPSIS
|
17
|
+
|
18
|
+
`name` [<optional>\.\.\.] <flags>
|
19
|
+
|
20
|
+
## DESCRIPTION
|
21
|
+
|
22
|
+
A normal paragraph\. This can span multiple lines and is terminated with two
|
23
|
+
or more line endings \-\- just like Markdown\.
|
24
|
+
|
25
|
+
Inline markup for `code`, `user input`, and **strong** are displayed
|
26
|
+
boldface; <variable>, _emphasis_, *emphasis*, are displayed in italics
|
27
|
+
(HTML) or underline (roff)\.
|
28
|
+
|
29
|
+
Manual references like sh(1), markdown(7), roff(7), etc\. are hyperlinked in
|
30
|
+
HTML output\.
|
31
|
+
|
32
|
+
Link to sections like [STANDARDS][], [SEE ALSO][], or [WITH A DIFFERENT LINK
|
33
|
+
TEXT][#SEE\-ALSO]\.
|
34
|
+
|
35
|
+
Definition lists:
|
36
|
+
|
37
|
+
* `\-a`, `\-\-argument`=[<value>]:
|
38
|
+
One or more paragraphs describing the argument\.
|
39
|
+
|
40
|
+
* You can put whatever you *want* here, really:
|
41
|
+
Nesting and paragraph spacing are respected\.
|
42
|
+
|
43
|
+
Frequently used sections:
|
44
|
+
|
45
|
+
## OPTIONS
|
46
|
+
## SYNTAX
|
47
|
+
## ENVIRONMENT
|
48
|
+
## RETURN VALUES
|
49
|
+
## STANDARDS
|
50
|
+
## SECURITY CONSIDERATIONS
|
51
|
+
## BUGS
|
52
|
+
## HISTORY
|
53
|
+
## AUTHOR
|
54
|
+
## COPYRIGHT
|
55
|
+
## SEE ALSO
|
56
|
+
.
|
57
|
+
.fi
|
58
|
+
.
|
59
|
+
.SH "DESCRIPTION"
|
60
|
+
The ronn(1) command converts text in a simple markup to Unix manual pages\. The syntax includes all Markdown formatting features, plus conventions for expressing the structure and various notations present in standard Unix manpages\.
|
61
|
+
.
|
62
|
+
.P
|
63
|
+
Not all roff(7) typesetting features can be expressed using ronn syntax\.
|
64
|
+
.
|
65
|
+
.SH "MANPAGE TITLE"
|
66
|
+
Manpages have a \fIname\fR, \fIsection\fR, and a one\-line \fIdescription\fR\. Files must start with a level one heading defining these attributes:
|
67
|
+
.
|
68
|
+
.IP "" 4
|
69
|
+
.
|
70
|
+
.nf
|
71
|
+
|
72
|
+
ls(1) \-\- list directory contents
|
73
|
+
================================
|
74
|
+
.
|
75
|
+
.fi
|
76
|
+
.
|
77
|
+
.IP "" 0
|
78
|
+
.
|
79
|
+
.P
|
80
|
+
Indicates that the manpage is named \fBls\fR in manual section \fB1\fR (\"user commands\")\.
|
81
|
+
.
|
82
|
+
.SH "SECTION HEADINGS"
|
83
|
+
Man section headings are expressed with markdown level two headings\. There are two syntaxes for level two headings\.
|
84
|
+
.
|
85
|
+
.P
|
86
|
+
Hash prefix syntax:
|
87
|
+
.
|
88
|
+
.IP "" 4
|
89
|
+
.
|
90
|
+
.nf
|
91
|
+
|
92
|
+
## HEADING TEXT
|
93
|
+
.
|
94
|
+
.fi
|
95
|
+
.
|
96
|
+
.IP "" 0
|
97
|
+
.
|
98
|
+
.P
|
99
|
+
Dash underline syntax:
|
100
|
+
.
|
101
|
+
.IP "" 4
|
102
|
+
.
|
103
|
+
.nf
|
104
|
+
|
105
|
+
HEADING TEXT
|
106
|
+
\-\-\-\-\-\-\-\-\-\-\-\-
|
107
|
+
.
|
108
|
+
.fi
|
109
|
+
.
|
110
|
+
.IP "" 0
|
111
|
+
.
|
112
|
+
.P
|
113
|
+
Section headings should be all uppercase and may not contain inline markup\.
|
114
|
+
.
|
115
|
+
.SH "INLINE MARKUP"
|
116
|
+
Manpages have a limited set of text formatting capabilities\. There\'s basically \fBboldface\fR and \fIitalics\fR (often displayed using \fIunderline\fR)\. Ronn uses the following bits of markdown(7) to accomplish this:
|
117
|
+
.
|
118
|
+
.TP
|
119
|
+
\fB`backticks`\fR (markdown compatible)
|
120
|
+
Code, flags, commands, and noun\-like things; typically displayed in in \fBboldface\fR\. All text included within \fBbackticks\fR is displayed literally; other inline markup is not processed\. HTML output: \fB<code>\fR\.
|
121
|
+
.
|
122
|
+
.TP
|
123
|
+
\fB**double\-stars**\fR (markdown compatible)
|
124
|
+
Also displayed in boldface\. Unlike backticks, inline markup is processed\. HTML output: \fB<strong>\fR\.
|
125
|
+
.
|
126
|
+
.TP
|
127
|
+
\fB<anglequotes>\fR (non\-compatible markdown extension)
|
128
|
+
User\-specified arguments, variables, or user input\. Typically displayed with \fIunderline\fR in roff output\. HTML output: \fB<var/>\fR\.
|
129
|
+
.
|
130
|
+
.TP
|
131
|
+
\fB_\fR\fIunderbars\fR\fB_\fR (markdown compatible)
|
132
|
+
Emphasis\. May be used for literal option values\. Typically displayed with \fIunderline\fR in roff output\. HTML output: \fB<em>\fR\.
|
133
|
+
.
|
134
|
+
.P
|
135
|
+
Here is grep(1)\'s DESCRIPTION section represented in \fBronn\fR:
|
136
|
+
.
|
137
|
+
.IP "" 4
|
138
|
+
.
|
139
|
+
.nf
|
140
|
+
|
141
|
+
`Grep` searches the named input <FILE> (or standard input if
|
142
|
+
no files are named, or the file name `\-` is given) for lines
|
143
|
+
containing a match to the given <PATTERN>\. By default, `grep`
|
144
|
+
prints the matching lines\.
|
145
|
+
.
|
146
|
+
.fi
|
147
|
+
.
|
148
|
+
.IP "" 0
|
149
|
+
.
|
150
|
+
.SH "DEFINITION LISTS"
|
151
|
+
The definition list syntax is compatible with markdown\'s unordered list syntax but requires that the first line of each list item be terminated with a colon \"\fB:\fR\" character\. The contents of the first line is the \fIterm\fR; subsequent lines may be comprised of multiple paragraphs, code blocks, standard lists, and nested definition lists\.
|
152
|
+
.
|
153
|
+
.P
|
154
|
+
An example definition list, taken from BSD test(1)\'s \fIDESCRIPTION\fR section:
|
155
|
+
.
|
156
|
+
.IP "" 4
|
157
|
+
.
|
158
|
+
.nf
|
159
|
+
|
160
|
+
The following primaries are used to construct expressions:
|
161
|
+
|
162
|
+
* `\-b` <file>:
|
163
|
+
True if <file> exists and is a block special file\.
|
164
|
+
|
165
|
+
* `\-c` <file>:
|
166
|
+
True if _file_ exists and is a character special file\.
|
167
|
+
|
168
|
+
* `\-d` <file>:
|
169
|
+
True if file exists and is a directory\.
|
170
|
+
.
|
171
|
+
.fi
|
172
|
+
.
|
173
|
+
.IP "" 0
|
174
|
+
.
|
175
|
+
.SH "LINKS"
|
176
|
+
All markdown(7) linking features are supported\.
|
177
|
+
.
|
178
|
+
.P
|
179
|
+
Markdown reference\-style links can be used to link to specific sections by name:
|
180
|
+
.
|
181
|
+
.IP "" 4
|
182
|
+
.
|
183
|
+
.nf
|
184
|
+
|
185
|
+
## SECTION 1
|
186
|
+
|
187
|
+
See the following section\.
|
188
|
+
|
189
|
+
## SECTION 2
|
190
|
+
|
191
|
+
See [SECTION 1][] or [to put it another way][SECTION 1]\.
|
192
|
+
.
|
193
|
+
.fi
|
194
|
+
.
|
195
|
+
.IP "" 0
|
196
|
+
.
|
197
|
+
.P
|
198
|
+
The anchor name would be \fB#SECTION\-1\fR and \fB#SECTION\-2\fR\. All non\-word characters are removed and spaces are replaced by dashes\.
|
199
|
+
.
|
200
|
+
.SH "SEE ALSO"
|
201
|
+
ronn(1), markdown(7), roff(7)
|
@@ -0,0 +1,157 @@
|
|
1
|
+
ronn-format(7) -- manual authoring format based on Markdown
|
2
|
+
===========================================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
name(1) -- short, single-sentence description
|
7
|
+
=============================================
|
8
|
+
|
9
|
+
## SYNOPSIS
|
10
|
+
|
11
|
+
`name` [<optional>...] <flags>
|
12
|
+
|
13
|
+
## DESCRIPTION
|
14
|
+
|
15
|
+
A normal paragraph. This can span multiple lines and is terminated with two
|
16
|
+
or more line endings -- just like Markdown.
|
17
|
+
|
18
|
+
Inline markup for `code`, `user input`, and **strong** are displayed
|
19
|
+
boldface; <variable>, _emphasis_, *emphasis*, are displayed in italics
|
20
|
+
(HTML) or underline (roff).
|
21
|
+
|
22
|
+
Manual references like sh(1), markdown(7), roff(7), etc. are hyperlinked in
|
23
|
+
HTML output.
|
24
|
+
|
25
|
+
Link to sections like [STANDARDS][], [SEE ALSO][], or [WITH A DIFFERENT LINK
|
26
|
+
TEXT][#SEE-ALSO].
|
27
|
+
|
28
|
+
Definition lists:
|
29
|
+
|
30
|
+
* `-a`, `--argument`=[<value>]:
|
31
|
+
One or more paragraphs describing the argument.
|
32
|
+
|
33
|
+
* You can put whatever you *want* here, really:
|
34
|
+
Nesting and paragraph spacing are respected.
|
35
|
+
|
36
|
+
Frequently used sections:
|
37
|
+
|
38
|
+
## OPTIONS
|
39
|
+
## SYNTAX
|
40
|
+
## ENVIRONMENT
|
41
|
+
## RETURN VALUES
|
42
|
+
## STANDARDS
|
43
|
+
## SECURITY CONSIDERATIONS
|
44
|
+
## BUGS
|
45
|
+
## HISTORY
|
46
|
+
## AUTHOR
|
47
|
+
## COPYRIGHT
|
48
|
+
## SEE ALSO
|
49
|
+
|
50
|
+
## DESCRIPTION
|
51
|
+
|
52
|
+
The ronn(1) command converts text in a simple markup to Unix manual pages. The
|
53
|
+
syntax includes all Markdown formatting features, plus conventions for
|
54
|
+
expressing the structure and various notations present in standard Unix
|
55
|
+
manpages.
|
56
|
+
|
57
|
+
Not all roff(7) typesetting features can be expressed using ronn syntax.
|
58
|
+
|
59
|
+
## MANPAGE TITLE
|
60
|
+
|
61
|
+
Manpages have a <name>, <section>, and a one-line <description>. Files must
|
62
|
+
start with a level one heading defining these attributes:
|
63
|
+
|
64
|
+
ls(1) -- list directory contents
|
65
|
+
================================
|
66
|
+
|
67
|
+
Indicates that the manpage is named `ls` in manual section `1` ("user
|
68
|
+
commands").
|
69
|
+
|
70
|
+
## SECTION HEADINGS
|
71
|
+
|
72
|
+
Man section headings are expressed with markdown level two headings. There
|
73
|
+
are two syntaxes for level two headings.
|
74
|
+
|
75
|
+
Hash prefix syntax:
|
76
|
+
|
77
|
+
## HEADING TEXT
|
78
|
+
|
79
|
+
Dash underline syntax:
|
80
|
+
|
81
|
+
HEADING TEXT
|
82
|
+
------------
|
83
|
+
|
84
|
+
Section headings should be all uppercase and may not contain inline markup.
|
85
|
+
|
86
|
+
## INLINE MARKUP
|
87
|
+
|
88
|
+
Manpages have a limited set of text formatting capabilities. There's basically
|
89
|
+
<b>boldface</b> and <i>italics</i> (often displayed using <u>underline</u>).
|
90
|
+
Ronn uses the following bits of markdown(7) to accomplish this:
|
91
|
+
|
92
|
+
* <code>\`backticks\`</code> (markdown compatible):
|
93
|
+
Code, flags, commands, and noun-like things; typically displayed in in
|
94
|
+
<b>boldface</b>. All text included within `backticks` is displayed
|
95
|
+
literally; other inline markup is not processed. HTML output:
|
96
|
+
`<code>`.
|
97
|
+
|
98
|
+
* `**double-stars**` (markdown compatible):
|
99
|
+
Also displayed in boldface. Unlike backticks, inline markup is processed.
|
100
|
+
HTML output: `<strong>`.
|
101
|
+
|
102
|
+
* `<anglequotes>` (non-compatible markdown extension):
|
103
|
+
User-specified arguments, variables, or user input. Typically displayed with
|
104
|
+
<u>underline</u> in roff output. HTML output: `<var/>`.
|
105
|
+
|
106
|
+
* `_`_underbars_`_` (markdown compatible):
|
107
|
+
Emphasis. May be used for literal option values. Typically displayed with
|
108
|
+
<u>underline</u> in roff output. HTML output: `<em>`.
|
109
|
+
|
110
|
+
Here is grep(1)'s DESCRIPTION section represented in `ronn`:
|
111
|
+
|
112
|
+
`Grep` searches the named input <FILE> (or standard input if
|
113
|
+
no files are named, or the file name `-` is given) for lines
|
114
|
+
containing a match to the given <PATTERN>. By default, `grep`
|
115
|
+
prints the matching lines.
|
116
|
+
|
117
|
+
## DEFINITION LISTS
|
118
|
+
|
119
|
+
The definition list syntax is compatible with markdown's unordered list syntax
|
120
|
+
but requires that the first line of each list item be terminated with a colon
|
121
|
+
"`:`" character. The contents of the first line is the <term>; subsequent lines
|
122
|
+
may be comprised of multiple paragraphs, code blocks, standard lists, and nested
|
123
|
+
definition lists.
|
124
|
+
|
125
|
+
An example definition list, taken from BSD test(1)'s *DESCRIPTION* section:
|
126
|
+
|
127
|
+
The following primaries are used to construct expressions:
|
128
|
+
|
129
|
+
* `-b` <file>:
|
130
|
+
True if <file> exists and is a block special file.
|
131
|
+
|
132
|
+
* `-c` <file>:
|
133
|
+
True if _file_ exists and is a character special file.
|
134
|
+
|
135
|
+
* `-d` <file>:
|
136
|
+
True if file exists and is a directory.
|
137
|
+
|
138
|
+
## LINKS
|
139
|
+
|
140
|
+
All markdown(7) linking features are supported.
|
141
|
+
|
142
|
+
Markdown reference-style links can be used to link to specific sections by name:
|
143
|
+
|
144
|
+
## SECTION 1
|
145
|
+
|
146
|
+
See the following section.
|
147
|
+
|
148
|
+
## SECTION 2
|
149
|
+
|
150
|
+
See [SECTION 1][] or [to put it another way][SECTION 1].
|
151
|
+
|
152
|
+
The anchor name would be `#SECTION-1` and `#SECTION-2`. All non-word characters
|
153
|
+
are removed and spaces are replaced by dashes.
|
154
|
+
|
155
|
+
## SEE ALSO
|
156
|
+
|
157
|
+
ronn(1), markdown(7), roff(7)
|