binman 5.0.1 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
![screenshot](https://github.com/sunaku/binman/raw/gh-pages/EXAMPLE.png)
|
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
|