ronn-ng 0.10.1.pre4 → 0.10.1.pre6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24e763c319198b0faa02cb53f80eb6b296eba031e622257bdff747e4f5f80b96
4
- data.tar.gz: 9ea2a36ecda90be6b1405c66aff2c683999bc9bc2f91d711e8b31f7f8975fd3b
3
+ metadata.gz: 9505d966f681ed78efa33c1fcef840066c560b9ba763e05bff0c3ff567e6fce7
4
+ data.tar.gz: dd026bd76f479eab06f15dec890aa9e659d9bd7cc43e333ca4c48424a56317ca
5
5
  SHA512:
6
- metadata.gz: bca753a51a57dc4a627a60640bf1e3ab3ba319f63968725b426b25feccf783cafc8747901f23622be530592786979569b81695cc9202a2c0cc722d14f4df85c8
7
- data.tar.gz: a64bff17c7bbdc669828a713430af19bfc49f29fe25d7088b48f5aa86b6f66a9a3a65722b8a7bf8438cf92fb51effd473045a5b286f94b453e70307826b8ed1b
6
+ metadata.gz: fce7a366f7e13dcf9e0baae53c75813f26c61950bf68bc353392baf82eba5797707a3ef3353ba070e31fdd8cb47c001f3d4eb0b3005b3b9e91e6587497b92ed6
7
+ data.tar.gz: 604b73cf59fb339641289056d9358b57c7db79f1a1eb56ad4fa9a6b65ebadd24ddc976769ded142a07c7a2fc5217450a1a4cb4abebc6d3dce9113dc1c825ea99
data/CHANGELOG.md CHANGED
@@ -13,6 +13,7 @@ Note: 0.10.1 is the first 0.10.x release, because Ronn-NG 0.10.0 does not exist.
13
13
  * doc: Reformat Changelog to match common gem and keep-a-changelog conventions
14
14
  * NOTE: Renamed `CHANGES` to `CHANGELOG.md`. Packagers will need to update specs.
15
15
  * Bump Ruby to 2.7, gem deps to latest minor versions
16
+ * Tweak `ronn --version` output: remove GitHub URL and format it "ronn <ver> (Ronn-NG)"
16
17
 
17
18
  ### Bug Fixes
18
19
 
data/Rakefile CHANGED
@@ -7,13 +7,14 @@ ROOTDIR = File.expand_path(__dir__).sub(/#{Dir.pwd}(?=\/)/, '.')
7
7
  LIBDIR = "#{ROOTDIR}/lib".freeze
8
8
  BINDIR = "#{ROOTDIR}/bin".freeze
9
9
 
10
+ desc 'Set up environment'
10
11
  task :environment do
11
12
  $LOAD_PATH.unshift ROOTDIR unless $LOAD_PATH.include?(ROOTDIR)
12
13
  $LOAD_PATH.unshift LIBDIR unless $LOAD_PATH.include?(LIBDIR)
13
14
  require_library 'nokogiri'
14
15
  require_library 'kramdown'
15
16
  ENV['RUBYLIB'] = $LOAD_PATH.join(':')
16
- ENV['PATH'] = "#{BINDIR}:#{ENV['PATH']}"
17
+ ENV['PATH'] = "#{BINDIR}:#{ENV.fetch('PATH', nil)}"
17
18
  end
18
19
 
19
20
  desc 'Run tests'
@@ -66,11 +67,12 @@ end
66
67
  # PACKAGING ============================================================
67
68
 
68
69
  # Rev Ronn::VERSION
70
+ desc 'Bump package version'
69
71
  task :rev do
70
72
  rev = ENV['REV'] || `git describe --tags`.chomp
71
73
  data = File.read('lib/ronn.rb')
72
74
  data.gsub!(/^( *)REV *=.*/, "\\1REV = '#{rev.sub(/\Av/, '')}'.freeze")
73
- File.open('lib/ronn.rb', 'wb') { |fd| fd.write(data) }
75
+ File.binwrite('lib/ronn.rb', data)
74
76
  puts "revision: #{rev}"
75
77
  puts "version: #{`ruby -Ilib -rronn -e 'puts Ronn::VERSION'`}"
76
78
  end
@@ -120,14 +122,16 @@ file 'ronn-ng.gemspec' => FileList['{lib,test,bin}/**', 'Rakefile'] do |f|
120
122
  files = `git ls-files`
121
123
  .split("\n")
122
124
  .sort
123
- .reject { |file| file =~ /^\./ }
124
- .reject { |file| file =~ /^doc/ }
125
+ .grep_v(/^\./)
126
+ # .reject { |file| file =~ /^\./ }
127
+ .grep_v(/^doc/)
128
+ # .reject { |file| file =~ /^doc/ }
125
129
  .map { |file| " #{file}" }
126
130
  .join("\n")
127
131
  # piece file back together and write...
128
132
  manifest = " s.files = %w[\n#{files}\n ]\n"
129
133
  spec = [head, manifest, tail].join(" # = MANIFEST =\n")
130
- File.open(f.name, 'w') { |io| io.write(spec) }
134
+ File.write(f.name, spec)
131
135
  puts "updated #{f.name}"
132
136
  end
133
137
 
@@ -145,6 +149,7 @@ rescue LoadError => e
145
149
  end
146
150
 
147
151
  # make .wrong test files right
152
+ desc 'Mark *.wrong test files as right'
148
153
  task :right do
149
154
  Dir['test/*.wrong'].each do |file|
150
155
  dest = file.sub(/\.wrong$/, '')
data/bin/ronn CHANGED
@@ -47,7 +47,7 @@ Encoding.default_external = Encoding::UTF_8
47
47
  def usage
48
48
  puts File.readlines(__FILE__)
49
49
  .grep(/^# \/.*/)
50
- .map { |line| line.chomp[4..-1] }
50
+ .map { |line| line.chomp[4..] }
51
51
  .join("\n")
52
52
  end
53
53
 
@@ -94,7 +94,7 @@ output_dir = nil
94
94
  # Environment variables
95
95
 
96
96
  %w[manual organization date].each do |attribute|
97
- value = ENV["RONN_#{attribute.upcase}"]
97
+ value = ENV.fetch("RONN_#{attribute.upcase}", nil)
98
98
  next if value.nil? || value.empty?
99
99
 
100
100
  options[attribute] = value
@@ -135,11 +135,10 @@ ARGV.options do |argv|
135
135
  argv.on('-v', '--version') do
136
136
  require 'ronn'
137
137
  if Ronn.release?
138
- printf "Ronn-NG v%s\n", Ronn::VERSION
138
+ printf "ronn v%s (Ronn-NG)\n", Ronn::VERSION
139
139
  else
140
- printf "Ronn-NG v%s (%s)\n", Ronn::VERSION, Ronn::REV
140
+ printf "ronn v%s (rev %s) (Ronn-NG)\n", Ronn::VERSION, Ronn::REV
141
141
  end
142
- printf "http://github.com/apjanke/ronn-ng/tree/%s\n", Ronn.revision
143
142
  exit 0
144
143
  end
145
144
  argv.on_tail('--help') { usage; exit 0 }
data/lib/ronn/document.rb CHANGED
@@ -258,7 +258,7 @@ module Ronn
258
258
  # Convert the document to HTML and return the result as a string.
259
259
  # The returned string is a complete HTML document.
260
260
  def to_html
261
- layout = ENV['RONN_LAYOUT']
261
+ layout = ENV.fetch('RONN_LAYOUT', nil)
262
262
  layout_path = nil
263
263
  if layout
264
264
  layout_path = File.expand_path(layout)
@@ -438,7 +438,7 @@ module Ronn
438
438
  "<h1>#{title}</h1>"
439
439
  elsif name
440
440
  "<h2>NAME</h2>\n" \
441
- "<p class='man-name'>\n <code>#{name}</code>" +
441
+ "<p class='man-name'>\n <code>#{name}</code>" +
442
442
  (tagline ? " - <span class='man-whatis'>#{tagline}</span>\n" : "\n") +
443
443
  "</p>\n"
444
444
  end
data/lib/ronn/roff.rb CHANGED
@@ -142,7 +142,7 @@ module Ronn
142
142
  # HACK: strip an initial \n to avoid extra spacing
143
143
  if node.children && node.children[0].text?
144
144
  text = node.children[0].to_s
145
- node.children[0].replace(text[1..-1]) if text.start_with? "\n"
145
+ node.children[0].replace(text[1..]) if text.start_with? "\n"
146
146
  end
147
147
  inline_filter(node.children)
148
148
  macro 'fi'
@@ -356,15 +356,15 @@ module Ronn
356
356
  end
357
357
 
358
358
  def quote(text)
359
- "\"#{text.gsub(/"/, '\\"')}\""
359
+ "\"#{text.gsub('"', '\\"')}\""
360
360
  end
361
361
 
362
362
  # write text to output buffer
363
363
  def write(text)
364
364
  return if text.nil? || text.empty?
365
365
  # lines cannot start with a '.' or "'". insert zero-width character before.
366
- text = text.gsub(/\n\\\./, "\n\\\\&\\.")
367
- text = text.gsub(/\n'/, "\n\\&\\'")
366
+ text = text.gsub("\n\\.", "\n\\\\&\\.")
367
+ text = text.gsub("\n'", "\n\\&\\'")
368
368
  buf_ends_in_newline = @buf.last && @buf.last[-1] == "\n"
369
369
  @buf << '\&' if text[0, 2] == '\.' && buf_ends_in_newline
370
370
  @buf << '\&' if text[0, 1] == "'" && buf_ends_in_newline
data/lib/ronn/template.rb CHANGED
@@ -13,7 +13,7 @@ module Ronn
13
13
  end
14
14
 
15
15
  def render(template = 'default')
16
- super template[0, 1] == '/' ? File.read(template) : partial(template)
16
+ super(template[0, 1] == '/' ? File.read(template) : partial(template))
17
17
  end
18
18
 
19
19
  ##
data/lib/ronn.rb CHANGED
@@ -40,6 +40,6 @@ module Ronn
40
40
  end
41
41
 
42
42
  # value generated by: rake rev
43
- REV = '0.10.1.pre4'.freeze
43
+ REV = '0.10.1.pre6'.freeze
44
44
  VERSION = version
45
45
  end
data/man/ronn-format.7 CHANGED
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
- .\" http://github.com/apjanke/ronn-ng/tree/0.10.1.pre4
3
- .TH "RONN\-FORMAT" "7" "January 2024" "Ronn-NG 0.10.1.pre4" "Ronn Manual"
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1.pre6
3
+ .TH "RONN\-FORMAT" "7" "January 2024" "Ronn-NG 0.10.1.pre6" "Ronn Manual"
4
4
  .SH "NAME"
5
5
  \fBronn\-format\fR \- manual authoring format based on Markdown
6
6
  .SH "SYNOPSIS"
data/man/ronn.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
- .\" http://github.com/apjanke/ronn-ng/tree/0.10.1.pre4
3
- .TH "RONN" "1" "December 2023" "Ronn-NG 0.10.1.pre4" "Ronn Manual"
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.10.1.pre6
3
+ .TH "RONN" "1" "January 2024" "Ronn-NG 0.10.1.pre6" "Ronn Manual"
4
4
  .SH "NAME"
5
5
  \fBronn\fR \- convert markdown files to manpages
6
6
  .SH "SYNOPSIS"
data/ronn-ng.gemspec CHANGED
@@ -1,10 +1,8 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'ronn-ng'
3
- s.version = '0.10.1.pre4'
4
- # As of 2023-09, ronn-ng targets and is tested on Ruby 2.7 for deployment. It'll mostly
5
- # work on lower versions, but in effect requires >= 2.7 because it needs nokogiri
6
- # >= 1.14.3 for correct tag name handling, and that nokogiri requires Ruby 2.7.
7
- s.required_ruby_version = '>= 2.4'
3
+ s.version = '0.10.1.pre6'
4
+ # We target Ruby 2.7+ for test & deploy, plus nokogiri 1.14.3+ need Ruby 2.7
5
+ s.required_ruby_version = '>= 2.7'
8
6
 
9
7
  s.summary = 'Builds man pages from Markdown'
10
8
  s.description = 'Ronn-NG builds manuals in Unix man page and HTML format from Markdown. Ronn-NG is a modern, maintained fork of the original Ronn.'
@@ -15,9 +13,10 @@ Gem::Specification.new do |s|
15
13
  s.email = 'floss@apjanke.net'
16
14
 
17
15
  s.metadata = {
18
- 'bug_tracker_uri' => 'https://github.com/apjanke/ronn-ng/issues',
19
- 'source_code_uri' => 'https://github.com/apjanke/ronn-ng',
20
- 'changelog_uri' => 'https://github.com/apjanke/ronn-ng/blob/main/CHANGELOG.md'
16
+ 'bug_tracker_uri' => 'https://github.com/apjanke/ronn-ng/issues',
17
+ 'source_code_uri' => 'https://github.com/apjanke/ronn-ng',
18
+ 'changelog_uri' => 'https://github.com/apjanke/ronn-ng/blob/main/CHANGELOG.md',
19
+ 'rubygems_mfa_required' => 'true'
21
20
  }
22
21
 
23
22
  # = MANIFEST =
@@ -58,22 +57,22 @@ Gem::Specification.new do |s|
58
57
  # = MANIFEST =
59
58
 
60
59
  s.executables = ['ronn']
61
- s.test_files = s.files.select { |path| path =~ /^test\/.*_test.rb/ }
62
60
 
63
61
  s.extra_rdoc_files = %w[LICENSE.txt AUTHORS]
64
- s.add_dependency 'kramdown', '>= 2.1'
65
- s.add_dependency 'kramdown-parser-gfm', '>= 1.0.1'
66
- s.add_dependency 'mustache', '>= 0.7.0'
62
+ s.add_dependency 'kramdown', ['~> 2', '>= 2.1']
63
+ s.add_dependency 'kramdown-parser-gfm', ['~> 1', '>= 1.0.1']
64
+ s.add_dependency 'mustache', ['~> 1']
67
65
  # nokogiri <= 1.14.2 mishandle tag names with ":" in them (see #102)
68
- s.add_dependency 'nokogiri', '>= 1.14.3'
69
- # rack < 2.2.3.0 have security vulns
70
- s.add_development_dependency 'rack', '>= 2.2.3'
71
- s.add_development_dependency 'rake', '>= 13.0.3'
66
+ s.add_dependency 'nokogiri', ['~> 1', '>= 1.14.3']
67
+ # rack < 2.2.3 have security vulns
68
+ s.add_development_dependency 'rack', ['~> 2', '>= 2.2.3']
69
+ s.add_development_dependency 'rake', ['~> 13', '>= 13.0.3']
72
70
  # just a guess based on what I used to use
73
- s.add_development_dependency 'rubocop', '>= 1.25.1'
71
+ s.add_development_dependency 'rubocop', ['~> 1', '>= 1.25.1']
72
+ s.add_development_dependency 'rubocop-rake', ['~> 0']
74
73
  # sinatra < 2.2.3 have security vulns
75
- s.add_development_dependency 'sinatra', '>= 2.2.3'
76
- s.add_development_dependency 'test-unit', '>= 3.2.7'
74
+ s.add_development_dependency 'sinatra', ['~> 2', '>= 2.2.3']
75
+ s.add_development_dependency 'test-unit', ['~> 3', '>= 3.2.7']
77
76
 
78
77
  s.rdoc_options = ['--line-numbers', '--inline-source', '--title', 'Ronn']
79
78
  s.require_paths = %w[lib]
metadata CHANGED
@@ -1,19 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronn-ng
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1.pre4
4
+ version: 0.10.1.pre6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Janke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-04 00:00:00.000000000 Z
11
+ date: 2024-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: '2.1'
@@ -21,6 +24,9 @@ dependencies:
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: '2.1'
@@ -28,6 +34,9 @@ dependencies:
28
34
  name: kramdown-parser-gfm
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1'
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
42
  version: 1.0.1
@@ -35,6 +44,9 @@ dependencies:
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1'
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
52
  version: 1.0.1
@@ -42,20 +54,23 @@ dependencies:
42
54
  name: mustache
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ">="
57
+ - - "~>"
46
58
  - !ruby/object:Gem::Version
47
- version: 0.7.0
59
+ version: '1'
48
60
  type: :runtime
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - ">="
64
+ - - "~>"
53
65
  - !ruby/object:Gem::Version
54
- version: 0.7.0
66
+ version: '1'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: nokogiri
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1'
59
74
  - - ">="
60
75
  - !ruby/object:Gem::Version
61
76
  version: 1.14.3
@@ -63,6 +78,9 @@ dependencies:
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1'
66
84
  - - ">="
67
85
  - !ruby/object:Gem::Version
68
86
  version: 1.14.3
@@ -70,6 +88,9 @@ dependencies:
70
88
  name: rack
71
89
  requirement: !ruby/object:Gem::Requirement
72
90
  requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: '2'
73
94
  - - ">="
74
95
  - !ruby/object:Gem::Version
75
96
  version: 2.2.3
@@ -77,6 +98,9 @@ dependencies:
77
98
  prerelease: false
78
99
  version_requirements: !ruby/object:Gem::Requirement
79
100
  requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2'
80
104
  - - ">="
81
105
  - !ruby/object:Gem::Version
82
106
  version: 2.2.3
@@ -84,6 +108,9 @@ dependencies:
84
108
  name: rake
85
109
  requirement: !ruby/object:Gem::Requirement
86
110
  requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '13'
87
114
  - - ">="
88
115
  - !ruby/object:Gem::Version
89
116
  version: 13.0.3
@@ -91,6 +118,9 @@ dependencies:
91
118
  prerelease: false
92
119
  version_requirements: !ruby/object:Gem::Requirement
93
120
  requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '13'
94
124
  - - ">="
95
125
  - !ruby/object:Gem::Version
96
126
  version: 13.0.3
@@ -98,6 +128,9 @@ dependencies:
98
128
  name: rubocop
99
129
  requirement: !ruby/object:Gem::Requirement
100
130
  requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '1'
101
134
  - - ">="
102
135
  - !ruby/object:Gem::Version
103
136
  version: 1.25.1
@@ -105,13 +138,33 @@ dependencies:
105
138
  prerelease: false
106
139
  version_requirements: !ruby/object:Gem::Requirement
107
140
  requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '1'
108
144
  - - ">="
109
145
  - !ruby/object:Gem::Version
110
146
  version: 1.25.1
147
+ - !ruby/object:Gem::Dependency
148
+ name: rubocop-rake
149
+ requirement: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
111
161
  - !ruby/object:Gem::Dependency
112
162
  name: sinatra
113
163
  requirement: !ruby/object:Gem::Requirement
114
164
  requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '2'
115
168
  - - ">="
116
169
  - !ruby/object:Gem::Version
117
170
  version: 2.2.3
@@ -119,6 +172,9 @@ dependencies:
119
172
  prerelease: false
120
173
  version_requirements: !ruby/object:Gem::Requirement
121
174
  requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '2'
122
178
  - - ">="
123
179
  - !ruby/object:Gem::Version
124
180
  version: 2.2.3
@@ -126,6 +182,9 @@ dependencies:
126
182
  name: test-unit
127
183
  requirement: !ruby/object:Gem::Requirement
128
184
  requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '3'
129
188
  - - ">="
130
189
  - !ruby/object:Gem::Version
131
190
  version: 3.2.7
@@ -133,6 +192,9 @@ dependencies:
133
192
  prerelease: false
134
193
  version_requirements: !ruby/object:Gem::Requirement
135
194
  requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: '3'
136
198
  - - ">="
137
199
  - !ruby/object:Gem::Version
138
200
  version: 3.2.7
@@ -185,6 +247,7 @@ metadata:
185
247
  bug_tracker_uri: https://github.com/apjanke/ronn-ng/issues
186
248
  source_code_uri: https://github.com/apjanke/ronn-ng
187
249
  changelog_uri: https://github.com/apjanke/ronn-ng/blob/main/CHANGELOG.md
250
+ rubygems_mfa_required: 'true'
188
251
  post_install_message:
189
252
  rdoc_options:
190
253
  - "--line-numbers"
@@ -197,14 +260,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
260
  requirements:
198
261
  - - ">="
199
262
  - !ruby/object:Gem::Version
200
- version: '2.4'
263
+ version: '2.7'
201
264
  required_rubygems_version: !ruby/object:Gem::Requirement
202
265
  requirements:
203
- - - ">="
266
+ - - ">"
204
267
  - !ruby/object:Gem::Version
205
- version: '0'
268
+ version: 1.3.1
206
269
  requirements: []
207
- rubygems_version: 3.5.3
270
+ rubygems_version: 3.1.6
208
271
  signing_key:
209
272
  specification_version: 4
210
273
  summary: Builds man pages from Markdown