binman 5.0.1 → 5.1.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.
- checksums.yaml +4 -4
- data/README.markdown +471 -238
- data/VERSION.markdown +40 -8
- data/bin/binman +17 -71
- data/bin/binman-help +208 -0
- data/bin/binman-html +28 -0
- data/bin/binman-rake +11 -8
- data/bin/binman-roff +28 -0
- data/bin/binman-show +193 -0
- data/bin/binman-text +105 -0
- data/binman.gemspec +4 -4
- data/lib/binman.rb +8 -8
- data/lib/binman/rakefile.rb +2 -2
- data/lib/binman/version.rb +1 -1
- data/man/index.html +3 -3
- data/man/man0/README.html +488 -253
- data/man/man0/VERSION.html +44 -23
- data/man/man1/binman-help.1 +215 -0
- data/man/man1/binman-help.1.html +106 -0
- data/man/man1/binman-html.1 +18 -0
- data/man/man1/binman-html.1.html +12 -0
- data/man/man1/binman-rake.1 +9 -10
- data/man/man1/binman-rake.1.html +8 -8
- data/man/man1/binman-roff.1 +23 -0
- data/man/man1/binman-roff.1.html +12 -0
- data/man/man1/binman-show.1 +219 -0
- data/man/man1/binman-show.1.html +104 -0
- data/man/man1/binman-text.1 +129 -0
- data/man/man1/binman-text.1.html +55 -0
- data/man/man1/binman.1 +22 -111
- data/man/man1/binman.1.html +7 -47
- data/man/man5/md2man.5 +219 -0
- data/man/man5/md2man.5.html +140 -0
- data/man/man5/md2man.5.markdown +190 -0
- data/man/style.css +217 -1
- metadata +28 -7
- data/EXAMPLE.png +0 -0
- data/man/man0/EXAMPLE.png +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6b08b858239584baf09207846add1177ee90013
|
4
|
+
data.tar.gz: ad1ff716f568a244b76bf2ba6ab5d2c525176dbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed4a88e6e239a644c195637acf3ae9d2196d0e0d1073c2fc92ec76ca44ac29572213e1931a2acf0611249b5527bf0b8acb97636860591d40a2d1e4d38eb584f2
|
7
|
+
data.tar.gz: 72565f480b58604dee7134d4f9c46d56bb8b06c962b091522fac8aa298c9147565be648a96db4743a9712cecd90d21c03375bae9ae9a219cb7a7b17322247e27
|
data/README.markdown
CHANGED
@@ -1,168 +1,47 @@
|
|
1
|
-
|
1
|
+
* Code: <https://github.com/sunaku/binman>
|
2
|
+
* Docs: <https://sunaku.github.io/binman/man>
|
3
|
+
* Bugs: <https://github.com/sunaku/binman/issues>
|
2
4
|
|
3
|
-
|
4
|
-
Simply [document your script in Markdown][md2man-markdown] as a comment at the
|
5
|
-
top of your script and call `binman show` to display it as a UNIX manual page!
|
6
|
-
Or, call `binman help` to display your manual _only_ when your script receives
|
7
|
-
with `-h` or `--help` command-line options. Or, call `binman text` to extract
|
8
|
-
the manual from your script for your own custom processing, outside of binman.
|
9
|
-
And that's not all: [see the manual page][binman-man] for more possibilities!
|
5
|
+
# binman - manpages from header comments
|
10
6
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
binman generates manual pages from header comments in your scripts so that you
|
8
|
+
can keep your documentation and implementation together, in the same file, for
|
9
|
+
easy maintenance. But keeping them apart, in separate files, is supported too.
|
10
|
+
|
11
|
+

|
15
12
|
|
16
13
|
## Features
|
17
14
|
|
18
|
-
*
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
*
|
23
|
-
|
24
|
-
*
|
25
|
-
|
26
|
-
* Implemented in roughly 165 lines of pure Ruby code! :-)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
> [tork.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork.1.markdown)
|
39
|
-
* `binman roff`
|
40
|
-
< [tork](https://raw.github.com/sunaku/tork/master/bin/tork)
|
41
|
-
> [tork.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork.1)
|
42
|
-
* `binman html`
|
43
|
-
< [tork](https://raw.github.com/sunaku/tork/master/bin/tork)
|
44
|
-
> [tork.1.html](https://sunaku.github.io/tork/man/man1/tork.1.html)
|
45
|
-
* `binman text`
|
46
|
-
< [tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
47
|
-
> [tork-runner.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-runner.1.markdown)
|
48
|
-
* `binman roff`
|
49
|
-
< [tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
50
|
-
> [tork-runner.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-runner.1)
|
51
|
-
* `binman html`
|
52
|
-
< [tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
53
|
-
> [tork-runner.1.html](https://sunaku.github.io/tork/man/man1/tork-runner.1.html)
|
54
|
-
* `binman text`
|
55
|
-
< [tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
56
|
-
> [tork-herald.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-herald.1.markdown)
|
57
|
-
* `binman roff`
|
58
|
-
< [tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
59
|
-
> [tork-herald.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-herald.1)
|
60
|
-
* `binman html`
|
61
|
-
< [tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
62
|
-
> [tork-herald.1.html](https://sunaku.github.io/tork/man/man1/tork-herald.1.html)
|
63
|
-
* `binman text`
|
64
|
-
< [tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
65
|
-
> [tork-driver.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-driver.1.markdown)
|
66
|
-
* `binman roff`
|
67
|
-
< [tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
68
|
-
> [tork-driver.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-driver.1)
|
69
|
-
* `binman html`
|
70
|
-
< [tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
71
|
-
> [tork-driver.1.html](https://sunaku.github.io/tork/man/man1/tork-driver.1.html)
|
72
|
-
* `binman text`
|
73
|
-
< [tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
74
|
-
> [tork-engine.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-engine.1.markdown)
|
75
|
-
* `binman roff`
|
76
|
-
< [tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
77
|
-
> [tork-engine.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-engine.1)
|
78
|
-
* `binman html`
|
79
|
-
< [tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
80
|
-
> [tork-engine.1.html](https://sunaku.github.io/tork/man/man1/tork-engine.1.html)
|
81
|
-
* `binman text`
|
82
|
-
< [tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
83
|
-
> [tork-master.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-master.1.markdown)
|
84
|
-
* `binman roff`
|
85
|
-
< [tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
86
|
-
> [tork-master.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-master.1)
|
87
|
-
* `binman html`
|
88
|
-
< [tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
89
|
-
> [tork-master.1.html](https://sunaku.github.io/tork/man/man1/tork-master.1.html)
|
90
|
-
* `binman text`
|
91
|
-
< [tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
92
|
-
> [tork-remote.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-remote.1.markdown)
|
93
|
-
* `binman roff`
|
94
|
-
< [tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
95
|
-
> [tork-remote.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-remote.1)
|
96
|
-
* `binman html`
|
97
|
-
< [tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
98
|
-
> [tork-remote.1.html](https://sunaku.github.io/tork/man/man1/tork-remote.1.html)
|
99
|
-
* `binman text`
|
100
|
-
< [tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
101
|
-
> [tork-notify.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-notify.1.markdown)
|
102
|
-
* `binman roff`
|
103
|
-
< [tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
104
|
-
> [tork-notify.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-notify.1)
|
105
|
-
* `binman html`
|
106
|
-
< [tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
107
|
-
> [tork-notify.1.html](https://sunaku.github.io/tork/man/man1/tork-notify.1.html)
|
108
|
-
* `binman text`
|
109
|
-
< [md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
110
|
-
> [md2man-roff.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-roff.1.markdown)
|
111
|
-
* `binman roff`
|
112
|
-
< [md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
113
|
-
> [md2man-roff.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-roff.1)
|
114
|
-
* `binman html`
|
115
|
-
< [md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
116
|
-
> [md2man-roff.1.html](https://sunaku.github.io/md2man/man/man1/md2man-roff.1.html)
|
117
|
-
* `binman text`
|
118
|
-
< [md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
119
|
-
> [md2man-html.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-html.1.markdown)
|
120
|
-
* `binman roff`
|
121
|
-
< [md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
122
|
-
> [md2man-html.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-html.1)
|
123
|
-
* `binman html`
|
124
|
-
< [md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
125
|
-
> [md2man-html.1.html](https://sunaku.github.io/md2man/man/man1/md2man-html.1.html)
|
126
|
-
* `binman text`
|
127
|
-
< [md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
128
|
-
> [md2man-rake.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-rake.1.markdown)
|
129
|
-
* `binman roff`
|
130
|
-
< [md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
131
|
-
> [md2man-rake.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-rake.1)
|
132
|
-
* `binman html`
|
133
|
-
< [md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
134
|
-
> [md2man-rake.1.html](https://sunaku.github.io/md2man/man/man1/md2man-rake.1.html)
|
135
|
-
* `binman text`
|
136
|
-
< [binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
137
|
-
> [binman.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman.1.markdown)
|
138
|
-
* `binman roff`
|
139
|
-
< [binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
140
|
-
> [binman.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman.1)
|
141
|
-
* `binman html`
|
142
|
-
< [binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
143
|
-
> [binman.1.html](https://sunaku.github.io/binman/man/man1/binman.1.html)
|
144
|
-
* `binman text`
|
145
|
-
< [binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
146
|
-
> [binman-rake.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-rake.1.markdown)
|
147
|
-
* `binman roff`
|
148
|
-
< [binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
149
|
-
> [binman-rake.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-rake.1)
|
150
|
-
* `binman html`
|
151
|
-
< [binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
152
|
-
> [binman-rake.1.html](https://sunaku.github.io/binman/man/man1/binman-rake.1.html)
|
153
|
-
|
154
|
-
For examples in even more scripting languages, see the "Usage" section below!
|
155
|
-
|
156
|
-
#### What can binman-rake(1) do?
|
157
|
-
|
158
|
-
Here are some examples of HTML manual _sets_ produced by binman-rake(1):
|
159
|
-
|
160
|
-
* https://sunaku.github.io/tork/man
|
161
|
-
* https://sunaku.github.io/binman/man
|
162
|
-
* https://sunaku.github.io/md2man/man
|
15
|
+
* Direct support for any scripting language that has multi-line comments or
|
16
|
+
uses `#` for single-line comments such as Ruby, Perl, PHP, Python, R, Tcl,
|
17
|
+
Node.js, Elixir, make, AWK, sed, UNIX shells, Windows PowerShell and more!
|
18
|
+
|
19
|
+
* Individual commands for manual page extraction, conversion, and display.
|
20
|
+
|
21
|
+
* Accessible from the command line and also as a library in [Ruby] scripts.
|
22
|
+
|
23
|
+
* Implemented in roughly 165 statement lines (SLOC) of pure [Ruby] code! :-)
|
24
|
+
|
25
|
+
## Examples
|
26
|
+
|
27
|
+
Here are some examples of HTML manual page _sets_ generated by binman-rake(1):
|
28
|
+
|
29
|
+
* https://sunaku.github.io/dasht/man
|
30
|
+
* https://sunaku.github.io/tork/man
|
31
|
+
* https://sunaku.github.io/binman/man
|
32
|
+
* https://sunaku.github.io/md2man/man
|
33
|
+
|
34
|
+
For examples of input and output files, see "From the command line" below.
|
163
35
|
|
164
36
|
## Installation
|
165
37
|
|
38
|
+
### Requirements
|
39
|
+
|
40
|
+
* [Ruby] 1.8.7 or newer
|
41
|
+
[Ruby]: https://www.ruby-lang.org/
|
42
|
+
|
43
|
+
### For users
|
44
|
+
|
166
45
|
If you only want to view pre-built manual pages:
|
167
46
|
|
168
47
|
```sh
|
@@ -172,34 +51,442 @@ gem install binman
|
|
172
51
|
If you also want to build your own manual pages:
|
173
52
|
|
174
53
|
```sh
|
175
|
-
gem install md2man -v '~> 5.
|
54
|
+
gem install md2man -v '~> 5.1'
|
176
55
|
```
|
177
56
|
|
178
|
-
###
|
179
|
-
|
180
|
-
* Ruby 1.8.7 or 1.9.2 or newer.
|
181
|
-
|
182
|
-
### Development
|
57
|
+
### For developers
|
183
58
|
|
184
59
|
```sh
|
185
60
|
git clone https://github.com/sunaku/binman
|
186
61
|
cd binman
|
187
62
|
bundle install
|
188
|
-
bundle exec
|
189
|
-
bundle exec
|
63
|
+
bundle exec rake --tasks # packaging tasks
|
64
|
+
bundle exec binman-text --help # run it directly
|
65
|
+
bundle exec binman-roff --help # run it directly
|
66
|
+
bundle exec binman-html --help # run it directly
|
67
|
+
bundle exec binman-show --help # run it directly
|
68
|
+
bundle exec binman-help --help # run it directly
|
69
|
+
bundle exec binman-rake --help # run it directly
|
190
70
|
```
|
191
71
|
|
192
72
|
## Usage
|
193
73
|
|
194
|
-
|
74
|
+
First, write md2man(5) text for your script: either in a comment at the top of
|
75
|
+
your script file, described as "Embedded manpage sources" in binman-text(1),
|
76
|
+
or in a separate Markdown file located at `man/man?/*.?.{markdown,mkd,md}`.
|
77
|
+
|
78
|
+
* For real examples of what to write, see "From the command line" below.
|
79
|
+
* For the detailed syntax and semantics of what to write, see md2man(5).
|
80
|
+
|
81
|
+
Next, you have two ways of generating manual pages from what you've written:
|
82
|
+
|
83
|
+
1. Generate manual pages at "compile time" and ship them with your scripts.
|
84
|
+
2. Generate manual pages at "run time" so that your scripts are standalone.
|
85
|
+
|
86
|
+
### At compile time
|
87
|
+
|
88
|
+
Run binman-rake(1) to generate manual pages for all of your `./bin/*` scripts.
|
89
|
+
|
90
|
+
Alternatively, to have more control over the generation of your manual pages:
|
91
|
+
|
92
|
+
* Run binman-text(1) to extract manual page text from a specified script.
|
93
|
+
* Run binman-roff(1) to generate a UNIX manual page from a specified script.
|
94
|
+
* Run binman-html(1) to generate a HTML manual page from a specified script.
|
95
|
+
|
96
|
+
#### From the command line
|
97
|
+
|
98
|
+
Below are some real examples of generating manual pages from the command line.
|
99
|
+
Note that binman-rake(1) abstracts away all of the complexity you see below!
|
100
|
+
|
101
|
+
dasht(1):
|
102
|
+
|
103
|
+
* `binman-text`
|
104
|
+
[dasht](https://raw.github.com/sunaku/dasht/master/bin/dasht)
|
105
|
+
`>` [dasht.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht.1.markdown)
|
106
|
+
* `binman-roff`
|
107
|
+
[dasht](https://raw.github.com/sunaku/dasht/master/bin/dasht)
|
108
|
+
`>` [dasht.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht.1)
|
109
|
+
* `binman-html`
|
110
|
+
[dasht](https://raw.github.com/sunaku/dasht/master/bin/dasht)
|
111
|
+
`>` [dasht.1.html](https://sunaku.github.io/dasht/man/man1/dasht.1.html)
|
112
|
+
|
113
|
+
dasht-docsets(1):
|
114
|
+
|
115
|
+
* `binman-text`
|
116
|
+
[dasht-docsets](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets)
|
117
|
+
`>` [dasht-docsets.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets.1.markdown)
|
118
|
+
* `binman-roff`
|
119
|
+
[dasht-docsets](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets)
|
120
|
+
`>` [dasht-docsets.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets.1)
|
121
|
+
* `binman-html`
|
122
|
+
[dasht-docsets](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets)
|
123
|
+
`>` [dasht-docsets.1.html](https://sunaku.github.io/dasht/man/man1/dasht-docsets.1.html)
|
124
|
+
|
125
|
+
dasht-docsets-install(1):
|
126
|
+
|
127
|
+
* `binman-text`
|
128
|
+
[dasht-docsets-install](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-install)
|
129
|
+
`>` [dasht-docsets-install.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-install.1.markdown)
|
130
|
+
* `binman-roff`
|
131
|
+
[dasht-docsets-install](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-install)
|
132
|
+
`>` [dasht-docsets-install.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-install.1)
|
133
|
+
* `binman-html`
|
134
|
+
[dasht-docsets-install](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-install)
|
135
|
+
`>` [dasht-docsets-install.1.html](https://sunaku.github.io/dasht/man/man1/dasht-docsets-install.1.html)
|
136
|
+
|
137
|
+
dasht-docsets-remove(1):
|
138
|
+
|
139
|
+
* `binman-text`
|
140
|
+
[dasht-docsets-remove](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-remove)
|
141
|
+
`>` [dasht-docsets-remove.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-remove.1.markdown)
|
142
|
+
* `binman-roff`
|
143
|
+
[dasht-docsets-remove](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-remove)
|
144
|
+
`>` [dasht-docsets-remove.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-remove.1)
|
145
|
+
* `binman-html`
|
146
|
+
[dasht-docsets-remove](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-remove)
|
147
|
+
`>` [dasht-docsets-remove.1.html](https://sunaku.github.io/dasht/man/man1/dasht-docsets-remove.1.html)
|
148
|
+
|
149
|
+
dasht-docsets-update(1):
|
150
|
+
|
151
|
+
* `binman-text`
|
152
|
+
[dasht-docsets-update](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-update)
|
153
|
+
`>` [dasht-docsets-update.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-update.1.markdown)
|
154
|
+
* `binman-roff`
|
155
|
+
[dasht-docsets-update](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-update)
|
156
|
+
`>` [dasht-docsets-update.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-docsets-update.1)
|
157
|
+
* `binman-html`
|
158
|
+
[dasht-docsets-update](https://raw.github.com/sunaku/dasht/master/bin/dasht-docsets-update)
|
159
|
+
`>` [dasht-docsets-update.1.html](https://sunaku.github.io/dasht/man/man1/dasht-docsets-update.1.html)
|
160
|
+
|
161
|
+
dasht-query-exec(1):
|
162
|
+
|
163
|
+
* `binman-text`
|
164
|
+
[dasht-query-exec](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-exec)
|
165
|
+
`>` [dasht-query-exec.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-exec.1.markdown)
|
166
|
+
* `binman-roff`
|
167
|
+
[dasht-query-exec](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-exec)
|
168
|
+
`>` [dasht-query-exec.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-exec.1)
|
169
|
+
* `binman-html`
|
170
|
+
[dasht-query-exec](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-exec)
|
171
|
+
`>` [dasht-query-exec.1.html](https://sunaku.github.io/dasht/man/man1/dasht-query-exec.1.html)
|
172
|
+
|
173
|
+
dasht-query-html(1):
|
174
|
+
|
175
|
+
* `binman-text`
|
176
|
+
[dasht-query-html](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-html)
|
177
|
+
`>` [dasht-query-html.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-html.1.markdown)
|
178
|
+
* `binman-roff`
|
179
|
+
[dasht-query-html](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-html)
|
180
|
+
`>` [dasht-query-html.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-html.1)
|
181
|
+
* `binman-html`
|
182
|
+
[dasht-query-html](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-html)
|
183
|
+
`>` [dasht-query-html.1.html](https://sunaku.github.io/dasht/man/man1/dasht-query-html.1.html)
|
184
|
+
|
185
|
+
dasht-query-line(1):
|
186
|
+
|
187
|
+
* `binman-text`
|
188
|
+
[dasht-query-line](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-line)
|
189
|
+
`>` [dasht-query-line.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-line.1.markdown)
|
190
|
+
* `binman-roff`
|
191
|
+
[dasht-query-line](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-line)
|
192
|
+
`>` [dasht-query-line.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-query-line.1)
|
193
|
+
* `binman-html`
|
194
|
+
[dasht-query-line](https://raw.github.com/sunaku/dasht/master/bin/dasht-query-line)
|
195
|
+
`>` [dasht-query-line.1.html](https://sunaku.github.io/dasht/man/man1/dasht-query-line.1.html)
|
196
|
+
|
197
|
+
dasht-server(1):
|
198
|
+
|
199
|
+
* `binman-text`
|
200
|
+
[dasht-server](https://raw.github.com/sunaku/dasht/master/bin/dasht-server)
|
201
|
+
`>` [dasht-server.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-server.1.markdown)
|
202
|
+
* `binman-roff`
|
203
|
+
[dasht-server](https://raw.github.com/sunaku/dasht/master/bin/dasht-server)
|
204
|
+
`>` [dasht-server.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-server.1)
|
205
|
+
* `binman-html`
|
206
|
+
[dasht-server](https://raw.github.com/sunaku/dasht/master/bin/dasht-server)
|
207
|
+
`>` [dasht-server.1.html](https://sunaku.github.io/dasht/man/man1/dasht-server.1.html)
|
208
|
+
|
209
|
+
dasht-server-http(1):
|
210
|
+
|
211
|
+
* `binman-text`
|
212
|
+
[dasht-server-http](https://raw.github.com/sunaku/dasht/master/bin/dasht-server-http)
|
213
|
+
`>` [dasht-server-http.1.markdown](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-server-http.1.markdown)
|
214
|
+
* `binman-roff`
|
215
|
+
[dasht-server-http](https://raw.github.com/sunaku/dasht/master/bin/dasht-server-http)
|
216
|
+
`>` [dasht-server-http.1](https://raw.github.com/sunaku/dasht/gh-pages/man/man1/dasht-server-http.1)
|
217
|
+
* `binman-html`
|
218
|
+
[dasht-server-http](https://raw.github.com/sunaku/dasht/master/bin/dasht-server-http)
|
219
|
+
`>` [dasht-server-http.1.html](https://sunaku.github.io/dasht/man/man1/dasht-server-http.1.html)
|
220
|
+
|
221
|
+
tork(1):
|
222
|
+
|
223
|
+
* `binman-text`
|
224
|
+
[tork](https://raw.github.com/sunaku/tork/master/bin/tork)
|
225
|
+
`>` [tork.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork.1.markdown)
|
226
|
+
* `binman-roff`
|
227
|
+
[tork](https://raw.github.com/sunaku/tork/master/bin/tork)
|
228
|
+
`>` [tork.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork.1)
|
229
|
+
* `binman-html`
|
230
|
+
[tork](https://raw.github.com/sunaku/tork/master/bin/tork)
|
231
|
+
`>` [tork.1.html](https://sunaku.github.io/tork/man/man1/tork.1.html)
|
232
|
+
|
233
|
+
tork-runner(1):
|
234
|
+
|
235
|
+
* `binman-text`
|
236
|
+
[tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
237
|
+
`>` [tork-runner.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-runner.1.markdown)
|
238
|
+
* `binman-roff`
|
239
|
+
[tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
240
|
+
`>` [tork-runner.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-runner.1)
|
241
|
+
* `binman-html`
|
242
|
+
[tork-runner](https://raw.github.com/sunaku/tork/master/bin/tork-runner)
|
243
|
+
`>` [tork-runner.1.html](https://sunaku.github.io/tork/man/man1/tork-runner.1.html)
|
244
|
+
|
245
|
+
tork-herald(1):
|
246
|
+
|
247
|
+
* `binman-text`
|
248
|
+
[tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
249
|
+
`>` [tork-herald.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-herald.1.markdown)
|
250
|
+
* `binman-roff`
|
251
|
+
[tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
252
|
+
`>` [tork-herald.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-herald.1)
|
253
|
+
* `binman-html`
|
254
|
+
[tork-herald](https://raw.github.com/sunaku/tork/master/bin/tork-herald)
|
255
|
+
`>` [tork-herald.1.html](https://sunaku.github.io/tork/man/man1/tork-herald.1.html)
|
256
|
+
|
257
|
+
tork-driver(1):
|
258
|
+
|
259
|
+
* `binman-text`
|
260
|
+
[tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
261
|
+
`>` [tork-driver.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-driver.1.markdown)
|
262
|
+
* `binman-roff`
|
263
|
+
[tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
264
|
+
`>` [tork-driver.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-driver.1)
|
265
|
+
* `binman-html`
|
266
|
+
[tork-driver](https://raw.github.com/sunaku/tork/master/bin/tork-driver)
|
267
|
+
`>` [tork-driver.1.html](https://sunaku.github.io/tork/man/man1/tork-driver.1.html)
|
268
|
+
|
269
|
+
tork-engine(1):
|
270
|
+
|
271
|
+
* `binman-text`
|
272
|
+
[tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
273
|
+
`>` [tork-engine.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-engine.1.markdown)
|
274
|
+
* `binman-roff`
|
275
|
+
[tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
276
|
+
`>` [tork-engine.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-engine.1)
|
277
|
+
* `binman-html`
|
278
|
+
[tork-engine](https://raw.github.com/sunaku/tork/master/bin/tork-engine)
|
279
|
+
`>` [tork-engine.1.html](https://sunaku.github.io/tork/man/man1/tork-engine.1.html)
|
280
|
+
|
281
|
+
tork-master(1):
|
282
|
+
|
283
|
+
* `binman-text`
|
284
|
+
[tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
285
|
+
`>` [tork-master.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-master.1.markdown)
|
286
|
+
* `binman-roff`
|
287
|
+
[tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
288
|
+
`>` [tork-master.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-master.1)
|
289
|
+
* `binman-html`
|
290
|
+
[tork-master](https://raw.github.com/sunaku/tork/master/bin/tork-master)
|
291
|
+
`>` [tork-master.1.html](https://sunaku.github.io/tork/man/man1/tork-master.1.html)
|
292
|
+
|
293
|
+
tork-remote(1):
|
294
|
+
|
295
|
+
* `binman-text`
|
296
|
+
[tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
297
|
+
`>` [tork-remote.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-remote.1.markdown)
|
298
|
+
* `binman-roff`
|
299
|
+
[tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
300
|
+
`>` [tork-remote.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-remote.1)
|
301
|
+
* `binman-html`
|
302
|
+
[tork-remote](https://raw.github.com/sunaku/tork/master/bin/tork-remote)
|
303
|
+
`>` [tork-remote.1.html](https://sunaku.github.io/tork/man/man1/tork-remote.1.html)
|
304
|
+
|
305
|
+
tork-notify(1):
|
306
|
+
|
307
|
+
* `binman-text`
|
308
|
+
[tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
309
|
+
`>` [tork-notify.1.markdown](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-notify.1.markdown)
|
310
|
+
* `binman-roff`
|
311
|
+
[tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
312
|
+
`>` [tork-notify.1](https://raw.github.com/sunaku/tork/gh-pages/man/man1/tork-notify.1)
|
313
|
+
* `binman-html`
|
314
|
+
[tork-notify](https://raw.github.com/sunaku/tork/master/bin/tork-notify)
|
315
|
+
`>` [tork-notify.1.html](https://sunaku.github.io/tork/man/man1/tork-notify.1.html)
|
316
|
+
|
317
|
+
binman(1):
|
318
|
+
|
319
|
+
* `binman-text`
|
320
|
+
[binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
321
|
+
`>` [binman.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman.1.markdown)
|
322
|
+
* `binman-roff`
|
323
|
+
[binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
324
|
+
`>` [binman.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman.1)
|
325
|
+
* `binman-html`
|
326
|
+
[binman](https://raw.github.com/sunaku/binman/master/bin/binman)
|
327
|
+
`>` [binman.1.html](https://sunaku.github.io/binman/man/man1/binman.1.html)
|
328
|
+
|
329
|
+
binman-text(1):
|
330
|
+
|
331
|
+
* `binman-text`
|
332
|
+
[binman-text](https://raw.github.com/sunaku/binman/master/bin/binman-text)
|
333
|
+
`>` [binman-text.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-text.1.markdown)
|
334
|
+
* `binman-roff`
|
335
|
+
[binman-text](https://raw.github.com/sunaku/binman/master/bin/binman-text)
|
336
|
+
`>` [binman-text.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-text.1)
|
337
|
+
* `binman-html`
|
338
|
+
[binman-text](https://raw.github.com/sunaku/binman/master/bin/binman-text)
|
339
|
+
`>` [binman-text.1.html](https://sunaku.github.io/binman/man/man1/binman-text.1.html)
|
340
|
+
|
341
|
+
binman-roff(1):
|
342
|
+
|
343
|
+
* `binman-text`
|
344
|
+
[binman-roff](https://raw.github.com/sunaku/binman/master/bin/binman-roff)
|
345
|
+
`>` [binman-roff.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-roff.1.markdown)
|
346
|
+
* `binman-roff`
|
347
|
+
[binman-roff](https://raw.github.com/sunaku/binman/master/bin/binman-roff)
|
348
|
+
`>` [binman-roff.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-roff.1)
|
349
|
+
* `binman-html`
|
350
|
+
[binman-roff](https://raw.github.com/sunaku/binman/master/bin/binman-roff)
|
351
|
+
`>` [binman-roff.1.html](https://sunaku.github.io/binman/man/man1/binman-roff.1.html)
|
352
|
+
|
353
|
+
binman-html(1):
|
354
|
+
|
355
|
+
* `binman-text`
|
356
|
+
[binman-html](https://raw.github.com/sunaku/binman/master/bin/binman-html)
|
357
|
+
`>` [binman-html.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-html.1.markdown)
|
358
|
+
* `binman-roff`
|
359
|
+
[binman-html](https://raw.github.com/sunaku/binman/master/bin/binman-html)
|
360
|
+
`>` [binman-html.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-html.1)
|
361
|
+
* `binman-html`
|
362
|
+
[binman-html](https://raw.github.com/sunaku/binman/master/bin/binman-html)
|
363
|
+
`>` [binman-html.1.html](https://sunaku.github.io/binman/man/man1/binman-html.1.html)
|
364
|
+
|
365
|
+
binman-show(1):
|
366
|
+
|
367
|
+
* `binman-text`
|
368
|
+
[binman-show](https://raw.github.com/sunaku/binman/master/bin/binman-show)
|
369
|
+
`>` [binman-show.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-show.1.markdown)
|
370
|
+
* `binman-roff`
|
371
|
+
[binman-show](https://raw.github.com/sunaku/binman/master/bin/binman-show)
|
372
|
+
`>` [binman-show.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-show.1)
|
373
|
+
* `binman-html`
|
374
|
+
[binman-show](https://raw.github.com/sunaku/binman/master/bin/binman-show)
|
375
|
+
`>` [binman-show.1.html](https://sunaku.github.io/binman/man/man1/binman-show.1.html)
|
376
|
+
|
377
|
+
binman-help(1):
|
378
|
+
|
379
|
+
* `binman-text`
|
380
|
+
[binman-help](https://raw.github.com/sunaku/binman/master/bin/binman-help)
|
381
|
+
`>` [binman-help.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-help.1.markdown)
|
382
|
+
* `binman-roff`
|
383
|
+
[binman-help](https://raw.github.com/sunaku/binman/master/bin/binman-help)
|
384
|
+
`>` [binman-help.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-help.1)
|
385
|
+
* `binman-html`
|
386
|
+
[binman-help](https://raw.github.com/sunaku/binman/master/bin/binman-help)
|
387
|
+
`>` [binman-help.1.html](https://sunaku.github.io/binman/man/man1/binman-help.1.html)
|
388
|
+
|
389
|
+
binman-rake(1):
|
390
|
+
|
391
|
+
* `binman-text`
|
392
|
+
[binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
393
|
+
`>` [binman-rake.1.markdown](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-rake.1.markdown)
|
394
|
+
* `binman-roff`
|
395
|
+
[binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
396
|
+
`>` [binman-rake.1](https://raw.github.com/sunaku/binman/gh-pages/man/man1/binman-rake.1)
|
397
|
+
* `binman-html`
|
398
|
+
[binman-rake](https://raw.github.com/sunaku/binman/master/bin/binman-rake)
|
399
|
+
`>` [binman-rake.1.html](https://sunaku.github.io/binman/man/man1/binman-rake.1.html)
|
400
|
+
|
401
|
+
md2man-roff(1):
|
402
|
+
|
403
|
+
* `binman-text`
|
404
|
+
[md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
405
|
+
`>` [md2man-roff.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-roff.1.markdown)
|
406
|
+
* `binman-roff`
|
407
|
+
[md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
408
|
+
`>` [md2man-roff.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-roff.1)
|
409
|
+
* `binman-html`
|
410
|
+
[md2man-roff](https://raw.github.com/sunaku/md2man/master/bin/md2man-roff)
|
411
|
+
`>` [md2man-roff.1.html](https://sunaku.github.io/md2man/man/man1/md2man-roff.1.html)
|
412
|
+
|
413
|
+
md2man-html(1):
|
414
|
+
|
415
|
+
* `binman-text`
|
416
|
+
[md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
417
|
+
`>` [md2man-html.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-html.1.markdown)
|
418
|
+
* `binman-roff`
|
419
|
+
[md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
420
|
+
`>` [md2man-html.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-html.1)
|
421
|
+
* `binman-html`
|
422
|
+
[md2man-html](https://raw.github.com/sunaku/md2man/master/bin/md2man-html)
|
423
|
+
`>` [md2man-html.1.html](https://sunaku.github.io/md2man/man/man1/md2man-html.1.html)
|
424
|
+
|
425
|
+
md2man-rake(1):
|
426
|
+
|
427
|
+
* `binman-text`
|
428
|
+
[md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
429
|
+
`>` [md2man-rake.1.markdown](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-rake.1.markdown)
|
430
|
+
* `binman-roff`
|
431
|
+
[md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
432
|
+
`>` [md2man-rake.1](https://raw.github.com/sunaku/md2man/gh-pages/man/man1/md2man-rake.1)
|
433
|
+
* `binman-html`
|
434
|
+
[md2man-rake](https://raw.github.com/sunaku/md2man/master/bin/md2man-rake)
|
435
|
+
`>` [md2man-rake.1.html](https://sunaku.github.io/md2man/man/man1/md2man-rake.1.html)
|
436
|
+
|
437
|
+
#### For a Ruby package
|
438
|
+
|
439
|
+
Add this snippet to your gemspec file:
|
440
|
+
|
441
|
+
```ruby
|
442
|
+
s.files += Dir['man/man?/*.?'] # UNIX manpages
|
443
|
+
s.files += Dir['man/**/*.{html,css}'] # HTML webpages
|
444
|
+
s.add_development_dependency 'md2man', '~> 5.1'
|
445
|
+
```
|
446
|
+
|
447
|
+
Add the following line to your Rakefile:
|
448
|
+
|
449
|
+
```ruby
|
450
|
+
require 'binman/rakefile'
|
451
|
+
```
|
452
|
+
|
453
|
+
You now have a `rake binman` task that pre-builds UNIX manual page files for
|
454
|
+
your `bin/` scripts into a `man/` directory so that your end-users do not need
|
455
|
+
[md2man] installed in order to view the manual pages you've embedded therein!
|
456
|
+
There are also sub-tasks to build manual pages individually as [roff] or HTML.
|
457
|
+
|
458
|
+
If you're using Bundler, this task also hooks into its gem packaging tasks and
|
459
|
+
ensures that your UNIX manual pages are pre-built and packaged into your gem:
|
460
|
+
|
461
|
+
```shell
|
462
|
+
bundle exec rake build
|
463
|
+
gem spec pkg/*.gem | fgrep man/man
|
464
|
+
```
|
465
|
+
|
466
|
+
### At run time
|
467
|
+
|
468
|
+
Run binman-show(1) to display the manual page (which may have been
|
469
|
+
pre-generated at "compile time") for a specified script.
|
195
470
|
|
196
|
-
|
471
|
+
Alternatively, an easy way to add support for `-h` and `--help` options in a
|
472
|
+
specified script is to run binman-help(1) with its file path and command line
|
473
|
+
arguments. This displays its manual page (which may have been pre-generated
|
474
|
+
at "compile time") *only when* those help options are found in its arguments.
|
475
|
+
|
476
|
+
#### From a shell script
|
197
477
|
|
198
478
|
```sh
|
199
|
-
|
479
|
+
#!/usr/bin/sh
|
480
|
+
# your program's manual page goes here
|
481
|
+
|
482
|
+
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
483
|
+
binman-help "$0" "$@" && exit
|
484
|
+
|
485
|
+
# OPTION 2: show manual unconditionally
|
486
|
+
binman-show "$0"
|
200
487
|
```
|
201
488
|
|
202
|
-
|
489
|
+
#### From a Ruby script
|
203
490
|
|
204
491
|
```ruby
|
205
492
|
#!/usr/bin/env ruby
|
@@ -243,30 +530,17 @@ your program's manual page goes here
|
|
243
530
|
|
244
531
|
See the [API documentation][binman-api] for even more possibilities!
|
245
532
|
|
246
|
-
|
247
|
-
|
248
|
-
```ruby
|
249
|
-
#!/usr/bin/sh
|
250
|
-
# your program's manual page goes here
|
251
|
-
|
252
|
-
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
253
|
-
binman help "$0" "$@" && exit
|
254
|
-
|
255
|
-
# OPTION 2: show manual unconditionally
|
256
|
-
binman show "$0"
|
257
|
-
```
|
258
|
-
|
259
|
-
### Inside a Perl script
|
533
|
+
#### From a Perl script
|
260
534
|
|
261
535
|
```perl
|
262
536
|
#!/usr/bin/env perl
|
263
537
|
# your program's manual page goes here
|
264
538
|
|
265
539
|
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
266
|
-
system('binman
|
540
|
+
system('binman-help', __FILE__, @ARGV) == 0 and exit;
|
267
541
|
|
268
542
|
# OPTION 2: show manual unconditionally
|
269
|
-
system('binman
|
543
|
+
system('binman-show', __FILE__);
|
270
544
|
```
|
271
545
|
|
272
546
|
You can also write the manual as a multi-line Ruby comment after `__END__`:
|
@@ -280,7 +554,7 @@ your program's manual page goes here
|
|
280
554
|
=end
|
281
555
|
```
|
282
556
|
|
283
|
-
|
557
|
+
#### From a Python script
|
284
558
|
|
285
559
|
```python
|
286
560
|
#!/usr/bin/env python
|
@@ -289,10 +563,10 @@ your program's manual page goes here
|
|
289
563
|
import sys, subprocess
|
290
564
|
|
291
565
|
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
292
|
-
subprocess.call(['binman
|
566
|
+
subprocess.call(['binman-help', __file__] + sys.argv) == 0 and sys.exit()
|
293
567
|
|
294
568
|
# OPTION 2: show manual unconditionally
|
295
|
-
subprocess.call(['binman
|
569
|
+
subprocess.call(['binman-show', __file__])
|
296
570
|
```
|
297
571
|
|
298
572
|
You can also specify your program's source file encoding above the manual:
|
@@ -326,7 +600,7 @@ your program's manual page goes here
|
|
326
600
|
"""
|
327
601
|
```
|
328
602
|
|
329
|
-
|
603
|
+
#### From an AWK script
|
330
604
|
|
331
605
|
The technique for determining current AWK script file name [comes from here](
|
332
606
|
http://www.mombu.com/programming/programming/t-the-name-of-script-itself-2040784-print.html
|
@@ -338,24 +612,24 @@ http://www.mombu.com/programming/programming/t-the-name-of-script-itself-2040784
|
|
338
612
|
|
339
613
|
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
340
614
|
BEGIN {getline c <"/proc/self/cmdline"; sub(".*-f\0"," ",c); gsub("\0"," ",c);
|
341
|
-
if(system("binman
|
615
|
+
if(system("binman-help" c) == 0){ exit }}
|
342
616
|
|
343
617
|
# OPTION 2: show manual unconditionally
|
344
618
|
BEGIN {getline c <"/proc/self/cmdline"; sub(".*-f\0"," ",c); sub("\0.*","",c);
|
345
|
-
system("binman
|
619
|
+
system("binman-show" c)}
|
346
620
|
```
|
347
621
|
|
348
|
-
|
622
|
+
#### From a Tcl script
|
349
623
|
|
350
624
|
```tcl
|
351
625
|
#!/usr/bin/env tclsh
|
352
626
|
# your program's manual page goes here
|
353
627
|
|
354
628
|
# OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
355
|
-
if {![catch {exec -- >/dev/tty binman
|
629
|
+
if {![catch {exec -- >/dev/tty binman-help $argv0 {*}$argv}]} {exit}
|
356
630
|
|
357
631
|
# OPTION 2: show manual unconditionally
|
358
|
-
exec >/dev/tty binman
|
632
|
+
exec >/dev/tty binman-show $argv0
|
359
633
|
```
|
360
634
|
|
361
635
|
You can also write the manual as a multi-line Ruby comment inside an `if 0`:
|
@@ -369,7 +643,7 @@ your program's manual page goes here
|
|
369
643
|
}
|
370
644
|
```
|
371
645
|
|
372
|
-
|
646
|
+
#### From a Node.js script
|
373
647
|
|
374
648
|
```javascript
|
375
649
|
/*
|
@@ -381,52 +655,11 @@ your program's manual page goes here
|
|
381
655
|
var exec = require('child_process').exec;
|
382
656
|
|
383
657
|
// OPTION 1: show manual and exit if ARGV has -h or --help except after --
|
384
|
-
exec(['>/dev/tty', 'binman
|
658
|
+
exec(['>/dev/tty', 'binman-help', __filename].concat(process.argv).
|
385
659
|
join(' '), function(error){ if (error === null){ process.exit(); } });
|
386
660
|
|
387
661
|
// OPTION 2: show manual unconditionally
|
388
|
-
exec(['>/dev/tty', 'binman
|
389
|
-
```
|
390
|
-
|
391
|
-
## Packaging
|
392
|
-
|
393
|
-
### Building man pages
|
394
|
-
|
395
|
-
#### At the command line
|
396
|
-
|
397
|
-
See binman-rake(1) manual:
|
398
|
-
|
399
|
-
```sh
|
400
|
-
binman-rake --help
|
401
|
-
```
|
402
|
-
|
403
|
-
#### Inside a Ruby script
|
404
|
-
|
405
|
-
Add this snippet to your gemspec file:
|
406
|
-
|
407
|
-
```ruby
|
408
|
-
s.files += Dir['man/man?/*.?'] # UNIX man pages
|
409
|
-
s.files += Dir['man/**/*.{html,css,js}'] # HTML man pages
|
410
|
-
s.add_development_dependency 'md2man', '~> 5.0'
|
411
|
-
```
|
412
|
-
|
413
|
-
Add the following line to your Rakefile:
|
414
|
-
|
415
|
-
```ruby
|
416
|
-
require 'binman/rakefile'
|
417
|
-
```
|
418
|
-
|
419
|
-
You now have a `rake binman` task that pre-builds UNIX manual page files for
|
420
|
-
your `bin/` scripts into a `man/` directory so that your end-users do not need
|
421
|
-
[md2man] installed in order to view the manual pages you've embedded therein!
|
422
|
-
There are also sub-tasks to build manual pages individually as [roff] or HTML.
|
423
|
-
|
424
|
-
If you're using Bundler, this task also hooks into its gem packaging tasks and
|
425
|
-
ensures that your UNIX manual pages are pre-built and packaged into your gem:
|
426
|
-
|
427
|
-
```shell
|
428
|
-
bundle exec rake build
|
429
|
-
gem spec pkg/*.gem | fgrep man/man
|
662
|
+
exec(['>/dev/tty', 'binman-show', __filename].join(' '));
|
430
663
|
```
|
431
664
|
|
432
665
|
## License
|