ron 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/man/ron.5.ron CHANGED
@@ -3,6 +3,8 @@ ron(5) -- humane manual page authoring format
3
3
 
4
4
  ## SYNOPSIS
5
5
 
6
+ A basic manual page in Ron:
7
+
6
8
  name(1) -- one sentence description
7
9
  ===================================
8
10
 
@@ -14,50 +16,50 @@ ron(5) -- humane manual page authoring format
14
16
 
15
17
  ## INLINE MARKUP
16
18
 
17
- Inline markup should be used for `code` (displayed in
18
- boldface) and _variables_ (displayed in underline).
19
+ Inline markup is used for `code` and `user input` (displayed
20
+ in boldface), and also <variables> or _emphasis_.
19
21
 
20
22
  Manual page references like sh(1), markdown(5), roff(7), etc.
21
23
  are displayed in boldface and hyperlinked in HTML output.
22
24
 
23
25
  ## DEFINITION LISTS
24
26
 
25
- Definition lists are used to define arguments, variables,
26
- or other terms:
27
+ Definition lists are used to define options, arguments,
28
+ variables, and other type of terms:
27
29
 
28
30
  * `-a`, `--arg1`=[_OPTION_]:
29
- One or more paragraphs describing the
31
+ One or more paragraphs describing the argument.
30
32
  * `-b`, `--arg2`:
31
- Any number of these may be specified and they can be
32
- nested.
33
+ Any number of these may be specified and may
34
+ be nested.
33
35
 
34
36
  ## DESCRIPTION
35
37
 
36
- `Ron` files are simple ascii texts that document things in the
38
+ Ron files are simple ascii texts that document things in the
37
39
  style of UNIX man pages but with a syntax and feature-set less
38
- insane than that of roff(7). `Ron` files are piped through
39
- ron(1) to build and install traditional roff(7) man pages or
40
- to generate hyperlinked HTML documentation.
40
+ insane than that of roff(7). Ron files are piped through ron(1)
41
+ to build and install traditional roff(7) man pages or to generate
42
+ hyperlinked HTML documentation.
41
43
 
42
- All `ron` files must conform to a simple subset of markdown(5), a
43
- humane text markup designed for writing on the web. It is neither
44
- possible nor desirable to express many of roff(7)'s complex
45
- typesetting features in `ron`.
44
+ All ron formatted files must conform to a simple subset of
45
+ markdown(5), a humane text markup designed for writing on the
46
+ web. It is neither possible nor desirable to express many of
47
+ roff(7)'s complex typesetting features in ron.
46
48
 
47
49
  ## MANPAGE TITLE
48
50
 
49
- All man pages have a _name_, belong to a _section_, and have a
50
- single sentence _tagline_ (useless but witty, preferably). `Ron`
51
+ All man pages have a <name>, belong to a <section>, and have a
52
+ single sentence <tagline> (useless but witty, preferably). Ron
51
53
  files must begin with a first-level heading that includes all of
52
54
  this information. For example, this very man page begins:
53
55
 
54
56
  ron(5) -- humane manual page authoring format
55
57
  =============================================
56
58
 
57
- Here, we're saying that the man page documents a thing named `ron`
58
- in manual section `5` -- the "file formats" section; see
59
- manpages(5) for full section list -- and that's quickly
60
- described as a "humane manual page authoring format".
59
+ Here, we're saying that the man page documents a thing named
60
+ `ron` in manual section `5` (the "file formats" section; see
61
+ manpages(5) for full section list) and that's quickly described
62
+ as a "humane manual page authoring format".
61
63
 
62
64
  These bits of information are used to fill in the document
63
65
  header, to create the `NAME` section, and also to establish
@@ -89,10 +91,10 @@ pages and external documents.
89
91
 
90
92
  ## INLINE MARKUP
91
93
 
92
- Man pages typically use a limited set of text formatting
93
- capabilities. There's basically <b>boldface</b> and
94
- <i>italics</i> (often displayed using <u>underline</u>). Ron
95
- uses the following bits of markdown(5) to accomplish this:
94
+ Man pages have a limited set of text formatting capabilities at
95
+ their disposal. There's basically <b>boldface</b> and
96
+ <i>italics</i> (often displayed using <u>underline</u>). Ron uses
97
+ the following bits of markdown(5) to accomplish this:
96
98
 
97
99
  * <code>\`backticks\`</code>:
98
100
  Code, flags, commands, and noun-like things; typically
@@ -100,7 +102,7 @@ uses the following bits of markdown(5) to accomplish this:
100
102
  within `backticks` is displayed literally; other inline markup
101
103
  is not processed.
102
104
  * `**double-stars**`:
103
- Like `backticks` but may contain other inline markup.
105
+ Like `backticks` but inline markup is processed.
104
106
  * `_`_underbars_`_`:
105
107
  User-specified arguments, variables, or user input; typically
106
108
  displayed with <u>underline</u>.
@@ -121,15 +123,15 @@ describe arguments, options, and variables, the basic markdown(5)
121
123
  list syntax has been extended to support a definition list
122
124
  syntax.
123
125
 
124
- A definition list's syntax is exactly the same as markdown(5)'s
126
+ Definition list syntax is exactly the same as markdown(5)'s
125
127
  unordered list syntax but requires that the first line of each
126
- list item be terminated with a colon "`:`". The first line
127
- (minus the colon) is the _term_; subsequent lines may be
128
- comprised of multiple paragraphs, code blocks, standard lists,
129
- and nested definition lists.
128
+ list item be terminated with a colon "`:`". The first line (minus
129
+ the colon) is the <term>; subsequent lines may be comprised of
130
+ multiple paragraphs, code blocks, standard lists, and nested
131
+ definition lists.
130
132
 
131
- An example definition list, taken from test(1)'s `DESCRIPTION`
132
- section:
133
+ An example definition list, taken from BSD test(1)'s
134
+ `DESCRIPTION` section:
133
135
 
134
136
  The following primaries are used to construct expressions:
135
137
 
data/man/ron.7 ADDED
@@ -0,0 +1,201 @@
1
+ .\" generated with Ron/v0.2
2
+ .\" http://github.com/rtomayko/ron/
3
+ .
4
+ .TH "RON" "7" "December 2009" "Ryan Tomayko" "Ron Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBron\fR \-\- the opposite of roff
8
+ .
9
+ .SH "DESCRIPTION"
10
+ Ron is a humane text format and toolchain for creating UNIX man
11
+ pages, and things that appear as man pages from a distance. Use it
12
+ to build and install standard UNIX roff man pages or to generate
13
+ nicely formatted HTML manual pages for the web.
14
+ .
15
+ .P
16
+ The Ron file format is based on Markdown. In fact, Ron files are a
17
+ compatible subset of Markdown syntax but have a more rigid structure and
18
+ extend Markdown in some ways to provide features commonly found in man
19
+ pages (e.g., definition lists). The ron(5) manual page defines the
20
+ format in more detail.
21
+ .
22
+ .SH "DOCUMENTATION"
23
+ The \fB.ron\fR files located under the \fBman/\fR directory show off a wide
24
+ range of ron capabilities and are the source of Ron's own documentation.
25
+ The source files and generated HTML / roff output files are available
26
+ at:
27
+ .
28
+ .IP "\(bu" 4
29
+ \fIron(1)\fR \-
30
+ build markdown based manual pages at the command line.
31
+ .
32
+ .br
33
+ \fIsource file\fR, \fIroff output\fR
34
+ .
35
+ .IP "\(bu" 4
36
+ \fIron(5)\fR \-
37
+ humane manual page authoring format syntax reference.
38
+ .
39
+ .br
40
+ \fIsource file\fR, \fIroff output\fR
41
+ .
42
+ .IP "\(bu" 4
43
+ \fImarkdown(5)\fR \-
44
+ humane text markup syntax (taken from \fIMarkdown Syntax\fR,
45
+ John Gruber)
46
+ .
47
+ .br
48
+ \fIsource file\fR, \fIroff output\fR
49
+ .
50
+ .IP "" 0
51
+ .
52
+ .SH "INSTALL"
53
+ Install with Rubygems:
54
+ .
55
+ .IP "" 4
56
+ .
57
+ .nf
58
+
59
+ $ [sudo] gem install ron
60
+ $ ron \-\-help
61
+ .
62
+ .fi
63
+ .
64
+ .IP "" 0
65
+ .
66
+ .P
67
+ Or, clone the git repository:
68
+ .
69
+ .IP "" 4
70
+ .
71
+ .nf
72
+
73
+ $ git clone git://github.com/rtomayko/ron.git
74
+ $ PATH=ron/bin:$PATH
75
+ $ ron \-\-help
76
+ .
77
+ .fi
78
+ .
79
+ .IP "" 0
80
+ .
81
+ .SH "BASIC USAGE"
82
+ To generate a roff man page from the included\fI\fBmarkdown.5.ron\fR\fR file and open it with man(1):
83
+ .
84
+ .IP "" 4
85
+ .
86
+ .nf
87
+
88
+ $ ron \-b man/markdown.5.ron
89
+ building: man/markdown.5
90
+ $ man man/markdown.5
91
+ .
92
+ .fi
93
+ .
94
+ .IP "" 0
95
+ .
96
+ .P
97
+ To generate a standalone HTML version:
98
+ .
99
+ .IP "" 4
100
+ .
101
+ .nf
102
+
103
+ $ ron \-b \-\-html man/markdown.5.ron
104
+ building: man/markdown.5.html
105
+ $ open man/markdown.5.html
106
+ .
107
+ .fi
108
+ .
109
+ .IP "" 0
110
+ .
111
+ .P
112
+ To build roff and HTML versions of all ron files:
113
+ .
114
+ .IP "" 4
115
+ .
116
+ .nf
117
+
118
+ $ ron \-b \-\-roff \-\-html man/*.ron
119
+ .
120
+ .fi
121
+ .
122
+ .IP "" 0
123
+ .
124
+ .P
125
+ If you just want to view a ron file as if it were a man page without
126
+ building intermediate files:
127
+ .
128
+ .IP "" 4
129
+ .
130
+ .nf
131
+
132
+ $ ron \-m man/markdown.5.ron
133
+ .
134
+ .fi
135
+ .
136
+ .IP "" 0
137
+ .
138
+ .P
139
+ The \fIron(1)\fR manual page
140
+ includes comprehensive documentation on \fBron\fR command line options.
141
+ .
142
+ .SH "ABOUT"
143
+ Some people think UNIX manual pages are a poor and outdated style of
144
+ documentation. I disagree:
145
+ .
146
+ .IP "\(bu" 4
147
+ Man pages follow a well defined structure that's immediately
148
+ familiar and provides a useful starting point for developers
149
+ documenting new tools, libraries, and formats.
150
+ .
151
+ .IP "\(bu" 4
152
+ Man pages get to the point. Because they're written in an inverted
153
+ style, with a SYNOPSIS section followed by additional detail,
154
+ prose and references to other sources of information, man pages
155
+ provide the best of both cheat sheet and reference style
156
+ documentation.
157
+ .
158
+ .IP "\(bu" 4
159
+ Man pages have extremely \-\- unbelievably \-\- limited text
160
+ formatting capabilities. You get a couple of headings, lists, bold,
161
+ underline and no more. This is a feature.
162
+ .
163
+ .IP "\(bu" 4
164
+ Although two levels of section hierarchy are technically
165
+ supported, most man pages use only a single level. Unwieldy
166
+ document hierarchies complicate otherwise good documentation.
167
+ Feynman covered all of physics \-\- heavenly bodies through QED \-\-
168
+ with only two levels of document hierarchy (\fIThe Feynman Lectures
169
+ on Physics\fR, 1970).
170
+ .
171
+ .IP "\(bu" 4
172
+ Man pages have a simple referencing syntax; e.g., sh(1), fork(2),
173
+ markdown(5). HTML versions can use this to generate links between
174
+ pages.
175
+ .
176
+ .IP "\(bu" 4
177
+ The classical terminal man page display is typographically well
178
+ thought out. Big bold section headings, justified monospace text,
179
+ nicely indented paragraphs, intelligently aligned definition
180
+ lists, and an informational header and footer.
181
+ .
182
+ .IP "" 0
183
+ .
184
+ .P
185
+ Unfortunately, trying to figure out how to create a man page is a
186
+ fairly tedious process. The roff/man macro languages are highly
187
+ extensible, fractured between multiple dialects, and include a bunch
188
+ of device specific stuff that's entirely irrelevant to modern
189
+ publishing tools.
190
+ .
191
+ .P
192
+ Ron aims to address many of the issues with man page creation while
193
+ preserving the things that makes man pages a great form of
194
+ documentation.
195
+ .
196
+ .SH "COPYING"
197
+ Ron is Copyright (C) 2009 \fIRyan Tomayko\fR
198
+ See the file COPYING for information of licensing and distribution.
199
+ .
200
+ .SH "SEE ALSO"
201
+ ron(1), ron(5), markdown(5)
data/man/ron.7.ron CHANGED
@@ -1,57 +1,60 @@
1
- ron(7) -- the opposite of roff
2
- ==============================
3
-
4
- DESCRIPTION
5
- -----------
6
-
7
- Ron is a humane text format and toolchain for
8
- creating UNIX man pages -- and things that
9
- appear as man pages from a distance. Use it
10
- to build and install standard UNIX roff man
11
- pages or to generate nicely formatted HTML
12
- manual pages for the web.
13
-
14
- The ron file format is based on Markdown. In
15
- fact, ron files are 100% Markdown compatible
16
- but have a more rigidly defined structure and
17
- extend Markdown in some ways to provide
18
- features commonly found in man pages (e.g.,
19
- definition lists). The ron(5) manual page
20
- included with this distribution defines the
1
+ ron -- the opposite of roff
2
+ ===========================
3
+
4
+ ## DESCRIPTION
5
+
6
+ Ron is a humane text format and toolchain for creating UNIX man
7
+ pages, and things that appear as man pages from a distance. Use it
8
+ to build and install standard UNIX roff man pages or to generate
9
+ nicely formatted HTML manual pages for the web.
10
+
11
+ The Ron file format is based on Markdown. In fact, Ron files are a
12
+ compatible subset of Markdown syntax but have a more rigid structure and
13
+ extend Markdown in some ways to provide features commonly found in man
14
+ pages (e.g., definition lists). The ron(5) manual page defines the
21
15
  format in more detail.
22
16
 
23
- INSTALL
24
- -------
17
+ ## DOCUMENTATION
25
18
 
26
- Ron can be installed using rubygems:
19
+ The `.ron` files located under the `man/` directory show off a wide
20
+ range of ron capabilities and are the source of Ron's own documentation.
21
+ The source files and generated HTML / roff output files are available
22
+ at:
27
23
 
28
- $ [sudo] gem install ron
24
+ * [ron(1)](http://rtomayko.github.com/ron/ron.1.html) -
25
+ build markdown based manual pages at the command line.
26
+ [source file](http://github.com/rtomayko/ron/blob/master/man/ron.1.ron),
27
+ [roff output](http://github.com/rtomayko/ron/blob/master/man/ron.1)
29
28
 
30
- Or, clone the git repository and install from
31
- source:
29
+ * [ron(5)](http://rtomayko.github.com/ron/ron.5.html) -
30
+ humane manual page authoring format syntax reference.
31
+ [source file](http://github.com/rtomayko/ron/blob/master/man/ron.5.ron),
32
+ [roff output](http://github.com/rtomayko/ron/blob/master/man/ron.5)
32
33
 
33
- $ git clone git://github.com/rtomayko/ron.git
34
- $ cd ron
35
- $ rake package
36
- $ [sudo] rake install
34
+ * [markdown(5)](http://rtomayko.github.com/ron/markdown.5.html) -
35
+ humane text markup syntax (taken from
36
+ [Markdown Syntax](http://daringfireball.net/projects/markdown/syntax),
37
+ John Gruber)
38
+ [source file](http://github.com/rtomayko/ron/blob/master/man/ron.5.ron),
39
+ [roff output](http://github.com/rtomayko/ron/blob/master/man/ron.5)
37
40
 
38
- EXAMPLES
39
- --------
41
+ ## INSTALL
40
42
 
41
- The .ron files located under the repository's
42
- ./man directory show off a wide range of ron
43
- capabilities. The HTML versions of these
44
- files are available at:
43
+ Install with Rubygems:
45
44
 
46
- http://rtomayko.github.com/ron/ron.1.html
47
- http://rtomayko.github.com/ron/ron.5.html
48
- http://rtomayko.github.com/ron/markdown.5.html
45
+ $ [sudo] gem install ron
46
+ $ ron --help
47
+
48
+ Or, clone the git repository:
49
49
 
50
- BASIC USAGE
51
- -----------
50
+ $ git clone git://github.com/rtomayko/ron.git
51
+ $ PATH=ron/bin:$PATH
52
+ $ ron --help
53
+
54
+ ## BASIC USAGE
52
55
 
53
56
  To generate a roff man page from the included
54
- `markdown.5.ron` file and open it in man(1):
57
+ [`markdown.5.ron`](man/markdown.5.ron) file and open it with man(1):
55
58
 
56
59
  $ ron -b man/markdown.5.ron
57
60
  building: man/markdown.5
@@ -63,87 +66,68 @@ To generate a standalone HTML version:
63
66
  building: man/markdown.5.html
64
67
  $ open man/markdown.5.html
65
68
 
66
- To build roff and HTML versions of all ron
67
- files:
69
+ To build roff and HTML versions of all ron files:
68
70
 
69
71
  $ ron -b --roff --html man/*.ron
70
72
 
71
- If you just want to view a ron file as if it
72
- were a man page without building any
73
- intermediate files:
73
+ If you just want to view a ron file as if it were a man page without
74
+ building intermediate files:
74
75
 
75
76
  $ ron -m man/markdown.5.ron
76
77
 
77
- The ron(1) manual page included with this
78
- distribution includes full documentation on
79
- ron command line options.
80
-
81
- RATIONALE
82
- ---------
83
-
84
- Some people think UNIX manual pages are a
85
- poor and outdated form of documentation. I
86
- disagree.
87
-
88
- - Man pages typically follow a well defined
89
- structure that's immediately familiar and
90
- provides a useful starting point for
91
- developers documenting new tools,
92
- libraries, and formats.
93
-
94
- - Man pages get to the point. Because they're
95
- written in an inverted style, with a
96
- SYNOPSIS section followed by additional
97
- detail, prose, and finally references to
98
- other sources of information, man pages
99
- provide the best of both cheat sheet and
100
- reference style documentation.
101
-
102
- - Man pages have very limited text formatting
103
- capabilities. This is a feature. You get
104
- bold and underline, basically, and they're
105
- typically applied consistently across man
78
+ The [ron(1)](http://rtomayko.github.com/ron/ron.1.html) manual page
79
+ includes comprehensive documentation on `ron` command line options.
80
+
81
+ ## ABOUT
82
+
83
+ Some people think UNIX manual pages are a poor and outdated style of
84
+ documentation. I disagree:
85
+
86
+ - Man pages follow a well defined structure that's immediately
87
+ familiar and provides a useful starting point for developers
88
+ documenting new tools, libraries, and formats.
89
+
90
+ - Man pages get to the point. Because they're written in an inverted
91
+ style, with a SYNOPSIS section followed by additional detail,
92
+ prose and references to other sources of information, man pages
93
+ provide the best of both cheat sheet and reference style
94
+ documentation.
95
+
96
+ - Man pages have extremely -- unbelievably -- limited text
97
+ formatting capabilities. You get a couple of headings, lists, bold,
98
+ underline and no more. This is a feature.
99
+
100
+ - Although two levels of section hierarchy are technically
101
+ supported, most man pages use only a single level. Unwieldy
102
+ document hierarchies complicate otherwise good documentation.
103
+ Feynman covered all of physics -- heavenly bodies through QED --
104
+ with only two levels of document hierarchy (_The Feynman Lectures
105
+ on Physics_, 1970).
106
+
107
+ - Man pages have a simple referencing syntax; e.g., sh(1), fork(2),
108
+ markdown(5). HTML versions can use this to generate links between
106
109
  pages.
107
110
 
108
- - Most man pages use only a single level of
109
- section hierarchy (although two levels are
110
- technically supported). Hierarchy destroys
111
- otherwise good documentation by adding
112
- unnecessary complexity. Feynman described
113
- the whole of quantum electro dynamics with
114
- only two levels of hierarchy. How can you
115
- possibly need more? Man pages force you to
116
- keep it simple.
117
-
118
- - Man pages have a simple referencing syntax;
119
- e.g., sh(1), fork(2), markdown(5). HTML
120
- versions can use this to generate links
121
- between pages.
122
-
123
- - The classical terminal man page display is
124
- typographically well thought out. Big bold
125
- section headings, justified monospaced
126
- text, nicely indented paragraphs,
127
- intelligently aligned definition lists, and
128
- an informational header and footer.
129
-
130
- All that being said, trying to figure out how
131
- to create a man page can be a really tedious
132
- process. The roff/man macro languages are
133
- highly extensible, fractured between multiple
134
- dialects, and include a bunch of stuff that's
135
- entirely irrelevant to modern man page
136
- creation. It's also horribly ugly compared to
137
- today's humane text formats or even HTML
138
- (just sayin').
139
-
140
- Ron aims to address many of the issues with
141
- man page creation while preserving the things
142
- that makes man pages a great form of
111
+ - The classical terminal man page display is typographically well
112
+ thought out. Big bold section headings, justified monospace text,
113
+ nicely indented paragraphs, intelligently aligned definition
114
+ lists, and an informational header and footer.
115
+
116
+ Unfortunately, trying to figure out how to create a man page is a
117
+ fairly tedious process. The roff/man macro languages are highly
118
+ extensible, fractured between multiple dialects, and include a bunch
119
+ of device specific stuff that's entirely irrelevant to modern
120
+ publishing tools.
121
+
122
+ Ron aims to address many of the issues with man page creation while
123
+ preserving the things that makes man pages a great form of
143
124
  documentation.
144
125
 
145
- COPYRIGHT
146
- ---------
126
+ ## COPYING
127
+
128
+ Ron is Copyright (C) 2009 [Ryan Tomayko](http://tomayko.com/about)
129
+ See the file COPYING for information of licensing and distribution.
130
+
131
+ ## SEE ALSO
147
132
 
148
- Ron is Copyright (C) 2009 Ryan Tomayko
149
- See the file COPYING for more information.
133
+ ron(1), ron(5), markdown(5)