ronn 0.6.6 → 0.7.0
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/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/CHANGES
CHANGED
@@ -1,6 +1,40 @@
|
|
1
1
|
Ronn CHANGES
|
2
2
|
============
|
3
3
|
|
4
|
+
Version 0.7.0 (2010 June 21)
|
5
|
+
----------------------------
|
6
|
+
|
7
|
+
* HTML: Manual references (like 'grep(1)', 'ls(1)', etc.) are now hyperlinked
|
8
|
+
based on a set of name -> URL mappings defined in an index.txt file. The index
|
9
|
+
may also define links to things that aren't manuals for use in markdown
|
10
|
+
reference-style links. See the ronn(1) manual on LINK INDEXES for more
|
11
|
+
inforation: <http://rtomayko.github.com/ronn/ronn.1.html#LINK-INDEXES>
|
12
|
+
(rtomayko)
|
13
|
+
|
14
|
+
* ROFF: Fixed a bug where multiple dot characters (.) at the beginning of a
|
15
|
+
line were not being escaped properly and were not displayed when viewed
|
16
|
+
in the terminal. (rtomayko)
|
17
|
+
|
18
|
+
* ROFF: Non-breaking space characters ( ) can now be used to control line
|
19
|
+
wrap in roff output. (rtomayko)
|
20
|
+
|
21
|
+
* ROFF: Named HTML entities like •, ™, ©, and — are now
|
22
|
+
converted to their roff escaped equivalents. (rtomayko)
|
23
|
+
|
24
|
+
* An undocumented --markdown format option argument has been added to ronn(1).
|
25
|
+
When given, ronn generates a <name>.<section>.markdown file with the
|
26
|
+
post-processed markdown text. This is mostly useful for debugging but may be
|
27
|
+
useful for converting ronn-format to 100% compatible markdown text.
|
28
|
+
(rtomayko)
|
29
|
+
|
30
|
+
* The ronn(5) manpage is now known as ronn-format(7) (section 5 is limited
|
31
|
+
to configuration files and stuff like that historically). The old ronn(7)
|
32
|
+
manpage, which was really just the README, has been removed.
|
33
|
+
(rtomayko)
|
34
|
+
|
35
|
+
* Performance improvements. Fixed a few cases where HTML was being reparsed
|
36
|
+
needlessly, tuned dom selectors, ... (rtomayko)
|
37
|
+
|
4
38
|
Version 0.6.6 (2010 June 13)
|
5
39
|
----------------------------
|
6
40
|
|
data/INSTALLING
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Ronn is currently distributed mainly as a gem package. Install with rubygems:
|
2
|
+
|
3
|
+
$ gem install ronn
|
4
|
+
$ ronn --help
|
5
|
+
|
6
|
+
Tarballs available at: <http://github.com/rtomayko/ronn/downloads>
|
7
|
+
|
8
|
+
$ curl -L http://github.com/rtomayko/ronn/downloads/0.6.6 | tar xvzf -
|
9
|
+
$ cd rtomayko-r*
|
10
|
+
$ ruby setup.rb
|
11
|
+
|
12
|
+
The hpricot, mustache, and rdiscount packages are required.
|
13
|
+
|
14
|
+
Hacking? Clone the git repository and put ronn/bin on your PATH:
|
15
|
+
|
16
|
+
$ git clone git://github.com/rtomayko/ronn.git
|
17
|
+
$ PATH=$(pwd)/ronn/bin:$PATH
|
18
|
+
$ ronn --help
|
data/README.md
CHANGED
@@ -1,46 +1,27 @@
|
|
1
|
-
|
2
|
-
============================
|
1
|
+
# Ronn
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
Ronn is a text format and toolchain for creating UNIX manpages. It converts
|
7
|
-
markdown to standard UNIX roff manpages and formatted HTML manuals for the web.
|
3
|
+
Ronn builds manuals. It converts simple, human readable textfiles to roff for
|
4
|
+
terminal display, and also to HTML for the web.
|
8
5
|
|
9
6
|
The source format includes all of Markdown but has a more rigid structure and
|
10
|
-
|
11
|
-
|
7
|
+
syntax extensions for features commonly found in manpages (definition lists,
|
8
|
+
link notation, etc.). The ronn-format(7) manual page defines the format in
|
12
9
|
detail.
|
13
10
|
|
14
|
-
|
15
|
-
|
16
|
-
The `.ronn` files located under the `man/` directory show off a wide range of
|
17
|
-
ronn capabilities and are the source of Ronn's own documentation. The source
|
18
|
-
files and generated HTML / roff output files are available at:
|
11
|
+
The `*.ronn` files found in the [`man/`][1] directory show off a wide range of
|
12
|
+
ronn capabilities:
|
19
13
|
|
20
|
-
* [ronn(1)](http://rtomayko.github.com/ronn/ronn.1) -
|
21
|
-
convert markdown files to manpages.<br>
|
14
|
+
* [ronn(1)](http://rtomayko.github.com/ronn/ronn.1) command -
|
22
15
|
[source file](http://github.com/rtomayko/ronn/blob/master/man/ronn.1.ronn),
|
23
16
|
[roff output](http://github.com/rtomayko/ronn/blob/master/man/ronn.1)
|
24
17
|
|
25
|
-
* [ronn(
|
26
|
-
|
27
|
-
[
|
28
|
-
[roff output](http://github.com/rtomayko/ronn/blob/master/man/ronn.5)
|
29
|
-
|
30
|
-
## INSTALL
|
31
|
-
|
32
|
-
Install with Rubygems:
|
33
|
-
|
34
|
-
$ [sudo] gem install ronn
|
35
|
-
$ ronn --help
|
18
|
+
* [ronn-format(7)](http://rtomayko.github.com/ronn/ronn-format.7) -
|
19
|
+
[source file](http://github.com/rtomayko/ronn/blob/master/man/ronn-format.7.ronn),
|
20
|
+
[roff output](http://github.com/rtomayko/ronn/blob/master/man/ronn-format.7)
|
36
21
|
|
37
|
-
|
22
|
+
[1]: http://github.com/rtomayko/ronn/tree/master/man
|
38
23
|
|
39
|
-
|
40
|
-
$ PATH=ronn/bin:$PATH
|
41
|
-
$ ronn --help
|
42
|
-
|
43
|
-
## BASIC USAGE
|
24
|
+
## Examples
|
44
25
|
|
45
26
|
Build roff and HTML output files for one or more input files:
|
46
27
|
|
@@ -48,10 +29,6 @@ Build roff and HTML output files for one or more input files:
|
|
48
29
|
roff: man/ronn.5
|
49
30
|
html: man/ronn.5.html
|
50
31
|
|
51
|
-
View a roff manpage with man(1):
|
52
|
-
|
53
|
-
$ man man/ronn.5
|
54
|
-
|
55
32
|
Generate only a standalone HTML version of one or more files:
|
56
33
|
|
57
34
|
$ ronn --html man/markdown.5.ronn
|
@@ -65,56 +42,53 @@ View a ronn file as if it were a manpage without building intermediate files:
|
|
65
42
|
|
66
43
|
$ ronn --man man/markdown.5.ronn
|
67
44
|
|
45
|
+
View roff output with man(1):
|
46
|
+
|
47
|
+
$ man man/ronn.5
|
48
|
+
|
68
49
|
The [ronn(1)](http://rtomayko.github.com/ronn/ronn.1) manual page includes
|
69
50
|
comprehensive documentation on `ronn` command line options.
|
70
51
|
|
71
|
-
##
|
52
|
+
## Background
|
72
53
|
|
73
|
-
Some
|
74
|
-
|
54
|
+
Some think UNIX manual pages are a poor and outdated form of documentation. I
|
55
|
+
disagree:
|
75
56
|
|
76
|
-
-
|
77
|
-
|
78
|
-
|
57
|
+
- Manpages follow a well defined structure that's immediately familiar. This
|
58
|
+
gives developers a starting point when documenting new tools, libraries, and
|
59
|
+
formats.
|
79
60
|
|
80
|
-
-
|
61
|
+
- Manpages get to the point. Because they're written in an inverted style, with
|
81
62
|
a SYNOPSIS section followed by additional detail, prose and references to
|
82
|
-
other sources of information,
|
63
|
+
other sources of information, manpages provide the best of both cheat sheet
|
83
64
|
and reference style documentation.
|
84
65
|
|
85
|
-
-
|
86
|
-
capabilities. You get a couple of headings, lists, bold,
|
87
|
-
more. This is a feature.
|
66
|
+
- Historically, manpages use an extremely -- unbelievably -- limited set of
|
67
|
+
text formatting capabilities. You get a couple of headings, lists, bold,
|
68
|
+
underline and no more. This is a feature.
|
88
69
|
|
89
|
-
- Although two levels of section hierarchy are technically supported, most
|
90
|
-
|
91
|
-
otherwise good documentation.
|
92
|
-
bodies through QED -- with only two levels of document hierarchy
|
93
|
-
Lectures on Physics_, 1970).
|
94
|
-
|
95
|
-
- Man pages have a simple referencing syntax; e.g., sh(1), fork(2), markdown(7).
|
96
|
-
HTML versions can use this to generate links between pages.
|
70
|
+
- Although two levels of section hierarchy are technically supported, most
|
71
|
+
manpages use only a single level. Unwieldy document hierarchies complicate
|
72
|
+
otherwise good documentation. Remember that Feynman covered all of physics
|
73
|
+
-- heavenly bodies through QED -- with only two levels of document hierarchy
|
74
|
+
(_The Feynman Lectures on Physics_, 1970).
|
97
75
|
|
98
|
-
- The classical terminal
|
76
|
+
- The classical terminal manpage display is typographically well thought out.
|
99
77
|
Big bold section headings, justified monospace text, nicely indented
|
100
78
|
paragraphs, intelligently aligned definition lists, and an informational
|
101
79
|
header and footer.
|
102
80
|
|
81
|
+
- Manpages have a simple referencing syntax; e.g., sh(1), fork(2), markdown(7).
|
82
|
+
HTML versions can use this to generate links between pages.
|
83
|
+
|
103
84
|
Unfortunately, figuring out how to create a manpage is a fairly tedious process.
|
104
|
-
The roff/
|
105
|
-
dialects, and include a bunch of device specific stuff irrelevant to
|
106
|
-
publishing tools.
|
85
|
+
The roff/mandoc/mdoc macro languages are highly extensible, fractured between
|
86
|
+
multiple dialects, and include a bunch of device specific stuff irrelevant to
|
87
|
+
modern publishing tools.
|
107
88
|
|
108
|
-
Ronn aims
|
109
|
-
the things that makes manpages a great form of documentation.
|
89
|
+
Ronn aims
|
110
90
|
|
111
|
-
##
|
91
|
+
## Copying
|
112
92
|
|
113
|
-
Ronn is Copyright (C)
|
93
|
+
Ronn is Copyright (C) 2010 [Ryan Tomayko](http://tomayko.com/about)<br>
|
114
94
|
See the file COPYING for information of licensing and distribution.
|
115
|
-
|
116
|
-
## SEE ALSO
|
117
|
-
|
118
|
-
[ronn(1)](http://rtomayko.github.com/ronn/ronn.1),
|
119
|
-
[ronn(5)](http://rtomayko.github.com/ronn/ronn.5),
|
120
|
-
markdown(5)
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ end
|
|
19
19
|
desc 'Run tests'
|
20
20
|
task :test => :environment do
|
21
21
|
$LOAD_PATH.unshift "#{ROOTDIR}/test"
|
22
|
-
Dir['test
|
22
|
+
Dir['test/test_*.rb'].each { |f| require(f) }
|
23
23
|
end
|
24
24
|
|
25
25
|
desc 'Start the server'
|
@@ -45,9 +45,9 @@ end
|
|
45
45
|
desc 'Build the manual'
|
46
46
|
task :man => :environment do
|
47
47
|
require 'ronn'
|
48
|
-
ENV['RONN_MANUAL'] = "Ronn
|
49
|
-
ENV['RONN_ORGANIZATION'] = Ronn::
|
50
|
-
sh "ronn -w -s toc man/*.ronn"
|
48
|
+
ENV['RONN_MANUAL'] = "Ronn Manual"
|
49
|
+
ENV['RONN_ORGANIZATION'] = "Ronn #{Ronn::revision}"
|
50
|
+
sh "ronn -w -s toc -r5 --markdown man/*.ronn"
|
51
51
|
end
|
52
52
|
|
53
53
|
desc 'Publish to github pages'
|
@@ -57,17 +57,16 @@ task :pages => :man do
|
|
57
57
|
verbose(false) {
|
58
58
|
rm_rf 'pages'
|
59
59
|
push_url = `git remote show origin`.grep(/Push.*URL/).first[/git@.*/]
|
60
|
-
rev = `git rev-parse origin/gh-pages`
|
61
60
|
sh "
|
62
61
|
set -e
|
63
62
|
git fetch -q origin
|
63
|
+
rev=$(git rev-parse origin/gh-pages)
|
64
64
|
git clone -q -b gh-pages . pages
|
65
65
|
cd pages
|
66
|
-
git reset --hard
|
66
|
+
git reset --hard $rev
|
67
67
|
rm -f ronn*.html index.html
|
68
|
-
cp -rp ../man/ronn*.html ./
|
69
|
-
|
70
|
-
git add -u ronn*.html index.html
|
68
|
+
cp -rp ../man/ronn*.html ../man/index.txt ../man/index.html ./
|
69
|
+
git add -u ronn*.html index.html index.txt
|
71
70
|
git commit -m 'rebuild manual'
|
72
71
|
git push #{push_url} gh-pages
|
73
72
|
", :verbose => false
|
@@ -78,7 +77,7 @@ end
|
|
78
77
|
|
79
78
|
# Rev Ronn::VERSION
|
80
79
|
task :rev do
|
81
|
-
rev = `git describe --tags`.chomp
|
80
|
+
rev = ENV['REV'] || `git describe --tags`.chomp
|
82
81
|
data = File.read('lib/ronn.rb')
|
83
82
|
data.gsub!(/^( *)REV *=.*/, "\\1REV = '#{rev}'")
|
84
83
|
File.open('lib/ronn.rb', 'wb') { |fd| fd.write(data) }
|
data/bin/ronn
CHANGED
@@ -1,29 +1,31 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#/ Usage: ronn <options> <file>...
|
3
|
-
#/ ronn -m|--man <file>
|
3
|
+
#/ ronn -m|--man <file>
|
4
4
|
#/ ronn -S|--server <file> ...
|
5
5
|
#/ ronn --pipe [<file>...]
|
6
6
|
#/ Convert ronn source <file>s to roff or HTML manpage. In the first synopsis form,
|
7
7
|
#/ build HTML and roff output files based on the input file names.
|
8
8
|
#/
|
9
|
-
#/ Mode options alter the default
|
9
|
+
#/ Mode options alter the default behavior of generating files:
|
10
10
|
#/ --pipe write to standard output instead of generating files
|
11
11
|
#/ -m, --man show manual like with man(1)
|
12
12
|
#/ -S, --server serve <file>s at http://localhost:1207/
|
13
13
|
#/
|
14
|
-
#/ Format options control which files are generated:
|
14
|
+
#/ Format options control which files / formats are generated:
|
15
15
|
#/ -r, --roff generate roff output
|
16
16
|
#/ -5, --html generate entire HTML page with layout
|
17
17
|
#/ -f, --fragment generate HTML fragment
|
18
|
+
#/ --markdown generate post-processed markdown output
|
18
19
|
#/
|
19
20
|
#/ Document attributes:
|
20
|
-
#/ --date
|
21
|
-
#/ --manual
|
22
|
-
#/ --organization
|
21
|
+
#/ --date=<date> published date in YYYY-MM-DD format (bottom-center)
|
22
|
+
#/ --manual=<name> name of the manual (top-center)
|
23
|
+
#/ --organization=<name> publishing group or individual (bottom-left)
|
23
24
|
#/
|
24
25
|
#/ Misc options:
|
25
26
|
#/ -w, --warnings show troff warnings on stderr
|
26
27
|
#/ -W disable previously enabled troff warnings
|
28
|
+
#/ --version show ronn version and exit
|
27
29
|
#/ --help show this help message
|
28
30
|
#/
|
29
31
|
#/ A <file> named example.1.ronn generates example.1.html (HTML manpage)
|
@@ -38,14 +40,38 @@ def usage
|
|
38
40
|
join("\n")
|
39
41
|
end
|
40
42
|
|
43
|
+
##
|
44
|
+
# Libraries and LOAD_PATH shenanigans
|
45
|
+
|
46
|
+
begin
|
47
|
+
require 'rdiscount'
|
48
|
+
require 'hpricot'
|
49
|
+
require 'ronn'
|
50
|
+
rescue LoadError => boom
|
51
|
+
if boom.to_s =~ /ronn/
|
52
|
+
libdir = File.expand_path("../../lib", __FILE__).sub(%r|^#{Dir.pwd}/|, './')
|
53
|
+
if File.directory?(libdir) && !$:.include?(libdir)
|
54
|
+
warn "warn: #{boom}. adding #{libdir} to RUBYLIB ..."
|
55
|
+
$:.unshift libdir
|
56
|
+
retry
|
57
|
+
end
|
58
|
+
elsif !defined?(Gem)
|
59
|
+
warn "warn: #{boom}. loading rubygems ..."
|
60
|
+
require 'rubygems'
|
61
|
+
retry
|
62
|
+
end
|
63
|
+
abort boom.to_s
|
64
|
+
end
|
65
|
+
|
41
66
|
##
|
42
67
|
# Argument defaults
|
43
68
|
|
44
|
-
build
|
45
|
-
view
|
46
|
-
server
|
69
|
+
build = true
|
70
|
+
view = false
|
71
|
+
server = false
|
47
72
|
formats = nil
|
48
73
|
options = {}
|
74
|
+
write_index = false
|
49
75
|
styles = %w[man]
|
50
76
|
groff = "groff -Wall -mtty-char -mandoc -Tascii"
|
51
77
|
pager = ENV['MANPAGER'] || ENV['PAGER'] || 'more'
|
@@ -68,13 +94,13 @@ ARGV.options do |argv|
|
|
68
94
|
argv.on("-b", "--build") { build = true; server = false }
|
69
95
|
argv.on("-m", "--man") { build = server = false; view = true }
|
70
96
|
argv.on("-S", "--server") { build = view = false; server = true }
|
71
|
-
argv.on("-
|
72
|
-
argv.on("-W") { groff += ' -Ww' }
|
97
|
+
argv.on("-i", "--index") { write_index = true }
|
73
98
|
|
74
99
|
# format options
|
75
100
|
argv.on("-r", "--roff") { (formats ||= []) << 'roff' }
|
76
101
|
argv.on("-5", "--html") { (formats ||= []) << 'html' }
|
77
102
|
argv.on("-f", "--fragment") { (formats ||= []) << 'html_fragment' }
|
103
|
+
argv.on("--markdown") { (formats ||= []) << 'markdown' }
|
78
104
|
|
79
105
|
# html output options
|
80
106
|
argv.on("-s", "--style=V") { |val| styles += val.split(/[, \n]+/) }
|
@@ -84,6 +110,19 @@ ARGV.options do |argv|
|
|
84
110
|
argv.on("--#{attribute}=VALUE") { |val| options[attribute] = val }
|
85
111
|
end
|
86
112
|
|
113
|
+
# misc
|
114
|
+
argv.on("-w", "--warnings") { groff += ' -ww' }
|
115
|
+
argv.on("-W") { groff += ' -Ww' }
|
116
|
+
argv.on("-v", "--version") do
|
117
|
+
require 'ronn'
|
118
|
+
if Ronn.release?
|
119
|
+
printf "Ronn v%s\n", Ronn::VERSION
|
120
|
+
else
|
121
|
+
printf "Ronn v%s (%s)\n", Ronn::VERSION, Ronn::REV
|
122
|
+
end
|
123
|
+
printf "http://github.com/rtomayko/ronn/tree/%s\n", Ronn.revision
|
124
|
+
exit 0
|
125
|
+
end
|
87
126
|
argv.on_tail("--help") { usage ; exit 0 }
|
88
127
|
argv.parse!
|
89
128
|
end
|
@@ -107,41 +146,9 @@ end
|
|
107
146
|
formats ||= []
|
108
147
|
formats.delete('html') if formats.include?('html_fragment')
|
109
148
|
|
110
|
-
# turn the --date arg into a real date object
|
111
149
|
options['date'] &&= Date.strptime(options['date'], '%Y-%m-%d')
|
112
|
-
|
113
|
-
# pass the styles option
|
114
150
|
options['styles'] = styles
|
115
151
|
|
116
|
-
##
|
117
|
-
# Libraries and LOAD_PATH shenanigans
|
118
|
-
|
119
|
-
begin
|
120
|
-
require 'hpricot'
|
121
|
-
require 'rdiscount'
|
122
|
-
rescue LoadError
|
123
|
-
if !defined?(Gem)
|
124
|
-
warn "warn: #{$!.to_s}. trying again with rubygems."
|
125
|
-
require 'rubygems'
|
126
|
-
retry
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
# load ronn libs, setting up the load path if something fails and
|
131
|
-
# we're in a development environment.
|
132
|
-
begin
|
133
|
-
require 'ronn'
|
134
|
-
rescue LoadError
|
135
|
-
raise if $!.to_s !~ /ronn/
|
136
|
-
libdir = File.expand_path("../../lib", __FILE__).sub(/^#{Dir.pwd}/, '.')
|
137
|
-
if !$:.include?(libdir)
|
138
|
-
warn "warn: #{$!.to_s}. trying again with #{libdir} on load path."
|
139
|
-
$:.unshift libdir
|
140
|
-
retry
|
141
|
-
end
|
142
|
-
raise
|
143
|
-
end
|
144
|
-
|
145
152
|
##
|
146
153
|
# Server
|
147
154
|
|
@@ -156,9 +163,8 @@ end
|
|
156
163
|
|
157
164
|
pid = nil
|
158
165
|
wr = STDOUT
|
159
|
-
ARGV.
|
160
|
-
|
161
|
-
|
166
|
+
documents = ARGV.map { |file| Ronn::Document.new(file, options) }
|
167
|
+
documents.each do |doc|
|
162
168
|
# setup the man pipeline if the --man option was specified
|
163
169
|
if view && !build
|
164
170
|
rd, wr = IO.pipe
|
@@ -177,9 +183,9 @@ ARGV.each do |file|
|
|
177
183
|
path = doc.path_for(format)
|
178
184
|
case format
|
179
185
|
when 'html'
|
180
|
-
warn "%
|
181
|
-
when 'roff', 'html_fragment'
|
182
|
-
warn "%
|
186
|
+
warn "%9s: %-43s%15s" % [format, path, '+' + doc.styles.join(',')]
|
187
|
+
when 'roff', 'html_fragment', 'markdown'
|
188
|
+
warn "%9s: %-43s" % [format, path]
|
183
189
|
end
|
184
190
|
|
185
191
|
output = doc.convert(format)
|
@@ -204,3 +210,14 @@ ARGV.each do |file|
|
|
204
210
|
Process.wait
|
205
211
|
end
|
206
212
|
end
|
213
|
+
|
214
|
+
# Write index.txt files
|
215
|
+
|
216
|
+
if write_index
|
217
|
+
indexes = documents.map { |doc| doc.index }.uniq
|
218
|
+
indexes.each do |index|
|
219
|
+
File.open(index.path, 'wb') do |fd|
|
220
|
+
fd.puts(index.to_text)
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|