binman 0.1.1 → 0.1.2

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.
@@ -1,3 +1,15 @@
1
+ ------------------------------------------------------------------------------
2
+ Version 0.1.2 (2011-10-13)
3
+ ------------------------------------------------------------------------------
4
+
5
+ Housekeeping:
6
+
7
+ * Extracted `BinMan::Renderer` into [redcarpet-manpage] library.
8
+
9
+ * The [Redcarpet2] library is not a runtime gem dependency anymore.
10
+
11
+ * Forgot to introduce leading comment headers in binman(1) man page.
12
+
1
13
  ------------------------------------------------------------------------------
2
14
  Version 0.1.1 (2011-10-13)
3
15
  ------------------------------------------------------------------------------
data/bin/binman CHANGED
@@ -2,7 +2,7 @@
2
2
  # encoding: utf-8
3
3
  =begin
4
4
 
5
- BINMAN 1 "2011-10-13" "0.1.1" "Ruby User Manuals"
5
+ BINMAN 1 "2011-10-13" "0.1.2" "Ruby User Manuals"
6
6
  =================================================
7
7
 
8
8
  NAME
@@ -24,6 +24,8 @@ into roff(7) using [Redcarpet2], and display them using man(1).
24
24
 
25
25
  ### Leading Comment Headers
26
26
 
27
+ A leading comment header can be one of the following two things:
28
+
27
29
  1. A contiguous sequence of single-line comments starting at the
28
30
  beginning of the file (after shebang and encoding comments plus
29
31
  optional blank lines) and ending at the first single blank line.
@@ -32,6 +34,15 @@ into roff(7) using [Redcarpet2], and display them using man(1).
32
34
 
33
35
  ### Markdown Processing Extensions
34
36
 
37
+ The following [Redcarpet2] markdown processing extensions are enabled:
38
+
39
+ * autolink
40
+ * no_intra_emphasis
41
+ * fenced_code_blocks
42
+ * space_after_headers
43
+
44
+ ### Markdown Processing Divergence
45
+
35
46
  Although your leading comment headers are written in markdown(7), `binman`
36
47
  introduces the following additional conventions to simplify common tasks:
37
48
 
@@ -23,5 +23,5 @@ Gem::Specification.new do |s|
23
23
  # specify any dependencies here; for example:
24
24
  # s.add_development_dependency "rspec"
25
25
  # s.add_runtime_dependency "rest-client"
26
- s.add_runtime_dependency "redcarpet", ">= 2.0.0b5"
26
+ s.add_development_dependency "redcarpet-manpage", ">= 0.0.1"
27
27
  end
@@ -41,8 +41,10 @@ module BinMan
41
41
  # Converts given leading comment header (produced by #read) into roff(7).
42
42
  #
43
43
  def dump header
44
- require 'binman/renderer'
45
- RENDERER.render(header)
44
+ require 'redcarpet-manpage'
45
+ RedcarpetManpage::RENDERER.render(header)
46
+ rescue LoadError
47
+ raise 'Run `gem install binman --development` to use dump().'
46
48
  end
47
49
 
48
50
  ##
@@ -59,7 +61,8 @@ module BinMan
59
61
  begin
60
62
  roff = dump(header)
61
63
  IO.popen('man -l -', 'w') {|man| man.puts roff }
62
- rescue
64
+ rescue => error
65
+ warn "binman: #{error}"
63
66
  puts header
64
67
  end
65
68
  end
@@ -1,3 +1,3 @@
1
1
  module BinMan
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -1,4 +1,4 @@
1
- .TH BINMAN 1 "2011-10-13" "0.1.1" "Ruby User Manuals"
1
+ .TH BINMAN 1 "2011-10-13" "0.1.2" "Ruby User Manuals"
2
2
  .SH NAME
3
3
  .PP
4
4
  binman \- UNIX man pages for Ruby \fBbin/\fP scripts
@@ -15,6 +15,8 @@ into
15
15
  using \fBRedcarpet2\fP \fIhttps://github.com/tanoku/redcarpet\fP, and display them using
16
16
  .BR man (1).
17
17
  .SS Leading Comment Headers
18
+ .PP
19
+ A leading comment header can be one of the following two things:
18
20
  .nr step 0 1
19
21
  .IP \n+[step]
20
22
  A contiguous sequence of single-line comments starting at the
@@ -24,6 +26,18 @@ optional blank lines) and ending at the first single blank line.
24
26
  First embedded document delimited by \fB=begin\fP and \fB=end\fP lines.
25
27
  .SS Markdown Processing Extensions
26
28
  .PP
29
+ The following \fBRedcarpet2\fP \fIhttps://github.com/tanoku/redcarpet\fP markdown processing extensions are enabled:
30
+ .
31
+ .IP \[bu] 2
32
+ autolink
33
+ .IP \[bu] 2
34
+ no_intra_emphasis
35
+ .IP \[bu] 2
36
+ fenced_code_blocks
37
+ .IP \[bu] 2
38
+ space_after_headers
39
+ .SS Markdown Processing Divergence
40
+ .PP
27
41
  Although your leading comment headers are written in
28
42
  .BR markdown (7),
29
43
  \fBbinman\fP
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: binman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,19 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-13 00:00:00.000000000 Z
12
+ date: 2011-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: redcarpet
16
- requirement: &19851600 !ruby/object:Gem::Requirement
15
+ name: redcarpet-manpage
16
+ requirement: &21068040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.0.0b5
22
- type: :runtime
21
+ version: 0.0.1
22
+ type: :development
23
23
  prerelease: false
24
- version_requirements: *19851600
24
+ version_requirements: *21068040
25
25
  description: ''
26
26
  email:
27
27
  - sunaku@gmail.com
@@ -40,7 +40,6 @@ files:
40
40
  - binman.gemspec
41
41
  - lib/binman.rb
42
42
  - lib/binman/rake_tasks.rb
43
- - lib/binman/renderer.rb
44
43
  - lib/binman/version.rb
45
44
  - man/man1/binman.1
46
45
  homepage: http://github.com/sunaku/binman
@@ -1,58 +0,0 @@
1
- require 'redcarpet'
2
- require 'redcarpet/render_man'
3
-
4
- module BinMan
5
- class Renderer < Redcarpet::Render::ManPage
6
- def normal_text text
7
- text.gsub(/(?<=\W)-(?=\W)/, '\\-') if text
8
- end
9
-
10
- def paragraph(text)
11
- "\n.PP\n#{text}\n"
12
- end
13
-
14
- alias codespan double_emphasis
15
- alias triple_emphasis double_emphasis
16
-
17
- def autolink link, link_type
18
- emphasis link
19
- end
20
-
21
- def link link, title, content
22
- "#{triple_emphasis content} #{emphasis link}"
23
- end
24
-
25
- DEFINITION_INDENT = ' ' # two spaces
26
-
27
- def postprocess document
28
- document.
29
- # squeeze blank lines to prevent double-spaced output
30
- gsub(/^\n/, '').
31
-
32
- # first paragraphs inside list items
33
- gsub(/^(\.IP.*)\n\.PP/, '\1').
34
-
35
- # paragraphs beginning with bold/italic and followed by
36
- # at least one definition-indented line are definitions
37
- gsub(/^\.PP(?=\n\\f.+\n#{DEFINITION_INDENT}\S)/, '.TP').
38
-
39
- # make indented paragraphs occupy less space on screen:
40
- # roff will fit the second line of the paragraph along
41
- # side the first line if it has enough room to do so!
42
- gsub(/^#{DEFINITION_INDENT}(?=\S)/, '').
43
-
44
- # encode references to other man pages as "hyperlinks"
45
- gsub(/(\w+)(\([1-9nol]\)[[:punct:]]?\s*)/, "\n.BR \\1 \\2\n").
46
- # keep the SEE ALSO sequence of references in-line
47
- gsub(/(?:^\.BR.+\n)+/m){ |sequence| sequence.squeeze("\n") }
48
- end
49
- end
50
-
51
- RENDERER = Redcarpet::Markdown.new(Renderer,
52
- #:tables => true,
53
- :autolink => true,
54
- #:superscript => true,
55
- :no_intra_emphasis => true,
56
- :fenced_code_blocks => true,
57
- :space_after_headers => true)
58
- end