ronn 0.6.6 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +34 -0
- data/INSTALLING +18 -0
- data/README.md +43 -69
- data/Rakefile +9 -10
- data/bin/ronn +66 -49
- data/config.ru +1 -1
- data/lib/ronn.rb +35 -9
- data/lib/ronn/document.rb +239 -135
- data/lib/ronn/index.rb +183 -0
- data/lib/ronn/roff.rb +48 -28
- data/lib/ronn/template.rb +22 -8
- data/lib/ronn/template/dark.css +1 -4
- data/lib/ronn/template/default.html +0 -2
- data/lib/ronn/template/man.css +12 -12
- data/lib/ronn/utils.rb +8 -0
- data/man/index.html +78 -0
- data/man/index.txt +15 -0
- data/man/{ronn.5 → ronn-format.7} +26 -30
- data/man/{ronn.5.ronn → ronn-format.7.ronn} +39 -39
- data/man/ronn.1 +47 -15
- data/man/ronn.1.ronn +53 -23
- data/ronn.gemspec +14 -8
- data/test/angle_bracket_syntax.html +4 -2
- data/test/basic_document.html +4 -2
- data/test/custom_title_document.html +1 -2
- data/test/definition_list_syntax.html +4 -2
- 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 +24 -2
- data/test/entity_encoding_test.roff +41 -1
- data/test/entity_encoding_test.ronn +17 -0
- data/test/index.txt +8 -0
- data/test/markdown_syntax.html +5 -3
- data/test/markdown_syntax.roff +4 -4
- data/test/middle_paragraph.html +4 -2
- data/test/missing_spaces.roff +3 -0
- data/test/section_reference_links.html +4 -2
- data/test/{ronn_test.rb → test_ronn.rb} +18 -5
- data/test/{document_test.rb → test_ronn_document.rb} +59 -8
- data/test/test_ronn_index.rb +73 -0
- data/test/titleless_document.html +7 -2
- data/test/titleless_document.ronn +3 -2
- data/test/underline_spacing_test.roff +5 -0
- metadata +30 -14
- data/man/ronn.7 +0 -168
- data/man/ronn.7.ronn +0 -120
data/man/ronn.1.ronn
CHANGED
@@ -3,7 +3,7 @@ ronn(1) -- convert markdown files to manpages
|
|
3
3
|
|
4
4
|
## SYNOPSIS
|
5
5
|
|
6
|
-
`ronn` [<
|
6
|
+
`ronn` [<format>...] <file>...<br>
|
7
7
|
`ronn` `-m`|`--man` <file>...<br>
|
8
8
|
`ronn` `-S`|`--server` <file>...<br>
|
9
9
|
`ronn` `--pipe` <file><br>
|
@@ -11,31 +11,29 @@ ronn(1) -- convert markdown files to manpages
|
|
11
11
|
|
12
12
|
## DESCRIPTION
|
13
13
|
|
14
|
-
**Ronn** converts
|
15
|
-
|
16
|
-
|
14
|
+
**Ronn** converts textfiles to standard roff-formatted UNIX manpages or HTML.
|
15
|
+
ronn-format(7) is based on markdown(7) but includes additional rules and syntax
|
16
|
+
geared toward authoring manuals.
|
17
17
|
|
18
|
-
In its default mode, `ronn` converts one or more input <file>s to HTML or
|
19
|
-
|
20
|
-
|
18
|
+
In its default mode, `ronn` converts one or more input <file>s to HTML or roff
|
19
|
+
output files. The `--roff`, `--html`, and `--fragment` options dictate which
|
20
|
+
output files are generated. Multiple format arguments may be specified to
|
21
21
|
generate multiple output files. Output files are named after and written to the
|
22
22
|
same directory as input <file>s.
|
23
23
|
|
24
|
-
The `--server` and `--man` options change the output behavior from
|
24
|
+
The `--server` and `--man` options change the output behavior from file
|
25
25
|
generation to serving dynamically generated HTML manpages or viewing <file> as
|
26
26
|
with man(1).
|
27
27
|
|
28
28
|
With no <file> arguments, `ronn` acts as simple filter. Ronn source text is read
|
29
|
-
from standard input and roff output is written to standard output.
|
30
|
-
and `--fragment` options
|
31
|
-
roff.
|
29
|
+
from standard input and roff output is written to standard output. Use the
|
30
|
+
`--html`, `--roff`, and/or `--fragment` options to select the output format.
|
32
31
|
|
33
32
|
## FILES
|
34
33
|
|
35
|
-
The `ronn` command expects input to be
|
36
|
-
|
37
|
-
|
38
|
-
<file>'s heading.
|
34
|
+
The `ronn` command expects input to be valid ronn-format(7) text. Source files
|
35
|
+
are typically named <name>.<section>.ronn (e.g., `example.1.ronn`). The <name>
|
36
|
+
and <section> should match the name and section defined in the <file>'s heading.
|
39
37
|
|
40
38
|
When building roff or HTML output files, destination filenames are determined by
|
41
39
|
taking the basename of the input <file> and adding the appropriate file
|
@@ -45,7 +43,7 @@ and `example.1.html` with HTML output.
|
|
45
43
|
|
46
44
|
## OPTIONS
|
47
45
|
|
48
|
-
These options control whether output is written to
|
46
|
+
These options control whether output is written to file(s), standard output, or
|
49
47
|
directly to a man pager.
|
50
48
|
|
51
49
|
* `-m`, `--man`:
|
@@ -105,7 +103,7 @@ the [ENVIRONMENT][].)
|
|
105
103
|
displayed in the bottom-center footer area. The <file> mtime is used when no
|
106
104
|
<date> is given, or the current time when no <file> is available.
|
107
105
|
|
108
|
-
HTML output can be customized
|
106
|
+
HTML output can be customized through the use of CSS stylesheets:
|
109
107
|
|
110
108
|
* `--style`=<module>[,<module>]...:
|
111
109
|
The list of CSS stylesheets to apply to the document. Multiple <module>
|
@@ -132,13 +130,45 @@ Miscellaneous options:
|
|
132
130
|
Disable troff warnings. Warnings are disabled by default. This option can be
|
133
131
|
used to revert the effect of a previous `-w` argument.
|
134
132
|
|
133
|
+
* `-v`, `--version`:
|
134
|
+
Show ronn version and exit.
|
135
|
+
|
136
|
+
## LINK INDEXES
|
137
|
+
|
138
|
+
When generating HTML output, `ronn` hyperlinks manual references (like
|
139
|
+
`grep(1)`, `ls(1)`, `markdown(7)`) in source text based on reference name to URL
|
140
|
+
mappings defined in an `index.txt` file. Each line of the index file describes a
|
141
|
+
single reference link, with whitespace separating the reference's <id> from its
|
142
|
+
<location>. Blank lines are allowed; lines beginning with a `#` character are
|
143
|
+
ignored:
|
144
|
+
|
145
|
+
# manuals included in this project:
|
146
|
+
whisky(1) whisky.1.ronn
|
147
|
+
tango(5) tango.5.ronn
|
148
|
+
|
149
|
+
# external manuals
|
150
|
+
grep(1) http://man.cx/grep(1)
|
151
|
+
ls(1) http://man.cx/ls(1)
|
152
|
+
|
153
|
+
# other URLs for use with markdown reference links
|
154
|
+
src http://github.com/
|
155
|
+
|
156
|
+
The <location> is an absolute or relative URL that usually points at an HTML
|
157
|
+
version of manpage. It's possible to define references for things that aren't
|
158
|
+
manpages.
|
159
|
+
|
160
|
+
All manuals in an individual directory share the references defined in that
|
161
|
+
directory's `index.txt` file. Index references may be used explicitly in
|
162
|
+
Markdown reference style links using the syntax: `[`<text>`][`<id>`]`, where
|
163
|
+
<text> is the link text and <id> is a reference name defined in the index.
|
164
|
+
|
135
165
|
## STYLES
|
136
166
|
|
137
167
|
The `--style` option selects a list of CSS stylesheets to include in the
|
138
168
|
generated HTML. Styles are applied in the order defined, so each can use the
|
139
169
|
cascade to override previously defined styles.
|
140
170
|
|
141
|
-
###
|
171
|
+
### Builtin Stylesheets
|
142
172
|
|
143
173
|
These styles are included with the distribution:
|
144
174
|
|
@@ -188,10 +218,10 @@ allow targeting all generated elements:
|
|
188
218
|
The main `<h1>` element. Hidden by default unless the manual has no <name>
|
189
219
|
or <section> attributes.
|
190
220
|
|
191
|
-
See the [
|
221
|
+
See the [builtin style sources][builtin] for examples.
|
192
222
|
|
193
|
-
[
|
194
|
-
|
223
|
+
[builtin]: http://github.com/rtomayko/ronn/tree/master/lib/ronn/template
|
224
|
+
"Builtin Stylesheet .css files"
|
195
225
|
|
196
226
|
## EXAMPLES
|
197
227
|
|
@@ -268,8 +298,8 @@ version of this program would be welcome.
|
|
268
298
|
|
269
299
|
## COPYRIGHT
|
270
300
|
|
271
|
-
Ronn is Copyright (C) 2009 Ryan Tomayko <tomayko.com/about>
|
301
|
+
Ronn is Copyright (C) 2009 Ryan Tomayko <http://tomayko.com/about>
|
272
302
|
|
273
303
|
## SEE ALSO
|
274
304
|
|
275
|
-
ronn(
|
305
|
+
ronn-format(7), manpages(5), man(1), roff(7), groff(1), markdown(7)
|
data/ronn.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'ronn'
|
3
|
-
s.version = '0.
|
4
|
-
s.date = '2010-06-
|
3
|
+
s.version = '0.7.0'
|
4
|
+
s.date = '2010-06-21'
|
5
5
|
|
6
6
|
s.description = "The opposite of roff"
|
7
7
|
s.summary = "The opposite of roff"
|
@@ -14,12 +14,14 @@ Gem::Specification.new do |s|
|
|
14
14
|
AUTHORS
|
15
15
|
CHANGES
|
16
16
|
COPYING
|
17
|
+
INSTALLING
|
17
18
|
README.md
|
18
19
|
Rakefile
|
19
20
|
bin/ronn
|
20
21
|
config.ru
|
21
22
|
lib/ronn.rb
|
22
23
|
lib/ronn/document.rb
|
24
|
+
lib/ronn/index.rb
|
23
25
|
lib/ronn/roff.rb
|
24
26
|
lib/ronn/server.rb
|
25
27
|
lib/ronn/template.rb
|
@@ -32,12 +34,12 @@ Gem::Specification.new do |s|
|
|
32
34
|
lib/ronn/template/screen.css
|
33
35
|
lib/ronn/template/toc.css
|
34
36
|
lib/ronn/utils.rb
|
37
|
+
man/index.html
|
38
|
+
man/index.txt
|
39
|
+
man/ronn-format.7
|
40
|
+
man/ronn-format.7.ronn
|
35
41
|
man/ronn.1
|
36
42
|
man/ronn.1.ronn
|
37
|
-
man/ronn.5
|
38
|
-
man/ronn.5.ronn
|
39
|
-
man/ronn.7
|
40
|
-
man/ronn.7.ronn
|
41
43
|
ronn.gemspec
|
42
44
|
test/angle_bracket_syntax.html
|
43
45
|
test/angle_bracket_syntax.ronn
|
@@ -49,10 +51,12 @@ Gem::Specification.new do |s|
|
|
49
51
|
test/definition_list_syntax.html
|
50
52
|
test/definition_list_syntax.roff
|
51
53
|
test/definition_list_syntax.ronn
|
52
|
-
test/
|
54
|
+
test/dots_at_line_start_test.roff
|
55
|
+
test/dots_at_line_start_test.ronn
|
53
56
|
test/entity_encoding_test.html
|
54
57
|
test/entity_encoding_test.roff
|
55
58
|
test/entity_encoding_test.ronn
|
59
|
+
test/index.txt
|
56
60
|
test/markdown_syntax.html
|
57
61
|
test/markdown_syntax.roff
|
58
62
|
test/markdown_syntax.ronn
|
@@ -61,10 +65,12 @@ Gem::Specification.new do |s|
|
|
61
65
|
test/middle_paragraph.ronn
|
62
66
|
test/missing_spaces.roff
|
63
67
|
test/missing_spaces.ronn
|
64
|
-
test/ronn_test.rb
|
65
68
|
test/section_reference_links.html
|
66
69
|
test/section_reference_links.roff
|
67
70
|
test/section_reference_links.ronn
|
71
|
+
test/test_ronn.rb
|
72
|
+
test/test_ronn_document.rb
|
73
|
+
test/test_ronn_index.rb
|
68
74
|
test/titleless_document.html
|
69
75
|
test/titleless_document.ronn
|
70
76
|
test/underline_spacing_test.roff
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h2 id=
|
3
|
-
<p
|
2
|
+
<h2 id="NAME">NAME</h2>
|
3
|
+
<p class="man-name">
|
4
|
+
<code>angle_bracket_syntax</code> - <span class="man-whatis">angle bracket syntax test</span>
|
5
|
+
</p>
|
4
6
|
|
5
7
|
<p>A <var>WORD</var> in angle brackets is converted to <var>WORD</var>,</p>
|
6
8
|
|
data/test/basic_document.html
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h2 id=
|
3
|
-
<p
|
2
|
+
<h2 id="NAME">NAME</h2>
|
3
|
+
<p class="man-name">
|
4
|
+
<code>simple</code> - <span class="man-whatis">a simple ron example</span>
|
5
|
+
</p>
|
4
6
|
|
5
7
|
<p>This document created by ron.</p>
|
6
8
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h1>
|
3
|
-
|
2
|
+
<h1>This is a custom title</h1>
|
4
3
|
<p>It doesn't define the name or section of this manual page and is
|
5
4
|
output as a simple <code><h1></code> instead of a <code>NAME</code> section.</p>
|
6
5
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h2 id=
|
3
|
-
<p
|
2
|
+
<h2 id="NAME">NAME</h2>
|
3
|
+
<p class="man-name">
|
4
|
+
<code>defition_list_syntax</code> - <span class="man-whatis">hiya</span>
|
5
|
+
</p>
|
4
6
|
|
5
7
|
<p>Definition lists look like unordered lists:</p>
|
6
8
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.TH "DOTS_AT_LINE_START_TEST" "" "January 1979" "" ""
|
2
|
+
.
|
3
|
+
.SH "NAME"
|
4
|
+
\fBdots_at_line_start_test\fR
|
5
|
+
.
|
6
|
+
.P
|
7
|
+
There\'s a weird issue where dots at the beginning of a line generate troff warnings due to escaping\.
|
8
|
+
.
|
9
|
+
.P
|
10
|
+
\&\.\.\. let\'s see what happens\.
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h2 id=
|
3
|
-
<p
|
2
|
+
<h2 id="NAME">NAME</h2>
|
3
|
+
<p class="man-name">
|
4
|
+
<code>hello</code> - <span class="man-whatis">hello world</span>
|
5
|
+
</p>
|
4
6
|
|
5
7
|
<p>Your output <i>might</i> look like this:</p>
|
6
8
|
|
@@ -10,4 +12,24 @@
|
|
10
12
|
* <b>GitHub</b>
|
11
13
|
</code></pre>
|
12
14
|
|
15
|
+
<p>Here's some special entities:</p>
|
16
|
+
|
17
|
+
<ul>
|
18
|
+
<li>&bull; •</li>
|
19
|
+
<li>&nbsp; </li>
|
20
|
+
<li>&copy; ©</li>
|
21
|
+
<li>&rdquo; ”</li>
|
22
|
+
<li>&mdash; —</li>
|
23
|
+
<li>&reg; ®</li>
|
24
|
+
<li>&sec; &sec;</li>
|
25
|
+
<li>&ge; ≥</li>
|
26
|
+
<li>&le; ≤</li>
|
27
|
+
<li>&ne; ≠</li>
|
28
|
+
<li>&equiv; ≡</li>
|
29
|
+
</ul>
|
30
|
+
|
31
|
+
|
32
|
+
<p>Here's a line that uses non-breaking spaces to force the
|
33
|
+
last few words to wrap together.</p>
|
34
|
+
|
13
35
|
</div>
|
@@ -18,4 +18,44 @@ Your output <i>might</i> look like this:
|
|
18
18
|
.fi
|
19
19
|
.
|
20
20
|
.IP "" 0
|
21
|
-
|
21
|
+
.
|
22
|
+
.P
|
23
|
+
Here\'s some special entities:
|
24
|
+
.
|
25
|
+
.IP "\(bu" 4
|
26
|
+
• \(bu
|
27
|
+
.
|
28
|
+
.IP "\(bu" 4
|
29
|
+
\~
|
30
|
+
.
|
31
|
+
.IP "\(bu" 4
|
32
|
+
© \(co
|
33
|
+
.
|
34
|
+
.IP "\(bu" 4
|
35
|
+
” \(rs
|
36
|
+
.
|
37
|
+
.IP "\(bu" 4
|
38
|
+
— \(em
|
39
|
+
.
|
40
|
+
.IP "\(bu" 4
|
41
|
+
® \(rg
|
42
|
+
.
|
43
|
+
.IP "\(bu" 4
|
44
|
+
&sec; \(sc
|
45
|
+
.
|
46
|
+
.IP "\(bu" 4
|
47
|
+
≥ \(>=
|
48
|
+
.
|
49
|
+
.IP "\(bu" 4
|
50
|
+
≤ \(<=
|
51
|
+
.
|
52
|
+
.IP "\(bu" 4
|
53
|
+
≠ \(!=
|
54
|
+
.
|
55
|
+
.IP "\(bu" 4
|
56
|
+
≡ \(==
|
57
|
+
.
|
58
|
+
.IP "" 0
|
59
|
+
.
|
60
|
+
.P
|
61
|
+
Here\'s a line that uses non\-breaking spaces to force the last\~few\~words\~to\~wrap\~together\.
|
@@ -6,3 +6,20 @@ Your output <i>might</i> look like this:
|
|
6
6
|
*
|
7
7
|
* <b>GitHub</b>
|
8
8
|
* <b>GitHub</b>
|
9
|
+
|
10
|
+
Here's some special entities:
|
11
|
+
|
12
|
+
* &bull; •
|
13
|
+
* &nbsp;
|
14
|
+
* &copy; ©
|
15
|
+
* &rdquo; ”
|
16
|
+
* &mdash; —
|
17
|
+
* &reg; ®
|
18
|
+
* &sec; &sec;
|
19
|
+
* &ge; ≥
|
20
|
+
* &le; ≤
|
21
|
+
* &ne; ≠
|
22
|
+
* &equiv; ≡
|
23
|
+
|
24
|
+
Here's a line that uses non-breaking spaces to force the
|
25
|
+
last few words to wrap together.
|
data/test/index.txt
ADDED
data/test/markdown_syntax.html
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
<div class='mp'>
|
2
|
-
<h2 id=
|
3
|
-
<p
|
2
|
+
<h2 id="NAME">NAME</h2>
|
3
|
+
<p class="man-name">
|
4
|
+
<code>markdown</code> - <span class="man-whatis">humane markup syntax</span>
|
5
|
+
</p>
|
4
6
|
|
5
7
|
<h2 id="SYNOPSIS">SYNOPSIS</h2>
|
6
8
|
|
@@ -949,7 +951,7 @@ also by John Gruber.</p>
|
|
949
951
|
|
950
952
|
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
951
953
|
|
952
|
-
<p>ronn(5)
|
954
|
+
<p><span class="man-ref">ronn<span class="s">(5)</span></span><br />
|
953
955
|
<a href="http://daringfireball.net/projects/markdown/" data-bare-link="true">http://daringfireball.net/projects/markdown/</a></p>
|
954
956
|
|
955
957
|
</div>
|
data/test/markdown_syntax.roff
CHANGED
@@ -647,7 +647,7 @@ In other words, a \fInumber\-period\-space\fR sequence at the beginning of a lin
|
|
647
647
|
.
|
648
648
|
.nf
|
649
649
|
|
650
|
-
1986
|
650
|
+
1986\e\. What a great season\.
|
651
651
|
.
|
652
652
|
.fi
|
653
653
|
.
|
@@ -1149,7 +1149,7 @@ To produce a literal asterisk or underscore at a position where it would otherwi
|
|
1149
1149
|
.
|
1150
1150
|
.nf
|
1151
1151
|
|
1152
|
-
|
1152
|
+
\e*this text is surrounded by literal asterisks\e*
|
1153
1153
|
.
|
1154
1154
|
.fi
|
1155
1155
|
.
|
@@ -1424,7 +1424,7 @@ Markdown allows you to use backslash escapes to generate literal characters whic
|
|
1424
1424
|
.
|
1425
1425
|
.nf
|
1426
1426
|
|
1427
|
-
|
1427
|
+
\e*literal asterisks\e*
|
1428
1428
|
.
|
1429
1429
|
.fi
|
1430
1430
|
.
|
@@ -1437,7 +1437,7 @@ Markdown provides backslash escapes for the following characters:
|
|
1437
1437
|
.
|
1438
1438
|
.nf
|
1439
1439
|
|
1440
|
-
|
1440
|
+
\e backslash
|
1441
1441
|
` backtick
|
1442
1442
|
* asterisk
|
1443
1443
|
_ underscore
|
data/test/middle_paragraph.html
CHANGED