ron 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
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)