inochi 1.0.0 → 1.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.
data/bin/inochi CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/ruby -w
1
+ #!/usr/bin/env ruby
2
2
  #
3
3
  # Generates a project scaffold using the given information.
4
4
  #
@@ -36,8 +36,8 @@
36
36
  #
37
37
 
38
38
  #--
39
- # Copyright 2009 Suraj N. Kurapati
40
- # See the LICENSE file for details.
39
+ # Copyright protects this work.
40
+ # See LICENSE file for details.
41
41
  #++
42
42
 
43
43
  # command line
@@ -143,7 +143,7 @@
143
143
 
144
144
  bin_file = "#{program_name}/bin/#{program_name}"
145
145
  create bin_file, %{
146
- #!/usr/bin/ruby -w
146
+ #!/usr/bin/env ruby
147
147
  #
148
148
  # TODO: Explain the command-line usage of this program here.
149
149
  #
@@ -189,7 +189,17 @@
189
189
  :website => 'http://#{program_name}.rubyforge.org',
190
190
  :tagline => 'put a single line description of your project here',
191
191
  :require => {
192
- # TODO: list gems required by your project here.
192
+ # TODO: list gems required by your project during runtime here.
193
+ # NOTE: this is completely optional!
194
+ #
195
+ # example: if your project needs version 9.9.9 of the 'foo' gem:
196
+ # 'foo' => '9.9.9',
197
+ #
198
+ # example: if any version of a gem is acceptable then:
199
+ # 'foo' => nil,
200
+ },
201
+ :develop => {
202
+ # TODO: list gems required by your project during development here.
193
203
  # NOTE: this is completely optional!
194
204
  #
195
205
  # example: if your project needs version 9.9.9 of the 'foo' gem:
@@ -221,6 +231,7 @@
221
231
  }
222
232
 
223
233
  create "#{program_name}/doc/index.erb", %{
234
+
224
235
  % Inochi.book #{project_symbol.inspect}, self
225
236
 
226
237
  %+ "intro.erb"
@@ -228,19 +239,37 @@
228
239
  %+ "theory.erb"
229
240
  %+ "usage.erb"
230
241
  %+ "history.erb"
242
+
231
243
  }
232
244
 
233
245
  create "#{program_name}/doc/intro.erb", %{
246
+
234
247
  % api_url = './api/index.html'
235
- % repo_url = 'http://github.com/__________/' + $program
236
- % repo_scm = '[Git](http://git-scm.com)'
248
+ % src_url = "http://github.com/__________/\#{$program}"
249
+ % src_scm = '[Git](http://git-scm.com)'
250
+
237
251
 
238
252
  %|chapter "Introduction"
253
+
254
+
239
255
  %|project
256
+
240
257
  > TODO: explain the purpose of your project
241
258
 
242
259
  <%= $project %> is a __________ that __________.
243
260
 
261
+
262
+ * <%= xref "History", "What's new?" %> --- history of project releases.
263
+ * [Source code](<%= src_url %>) --- obtain via <%= src_scm %> or browse online.
264
+ * [API reference](<%= api_url %>) --- documentation for source code.
265
+ * [Project home](<%= $website %>) --- the <%= $project %> project home page.
266
+
267
+ To get help or provide feedback, simply
268
+ %= xref "License", "contact the author(s)."
269
+
270
+
271
+ %|section "Features"
272
+
244
273
  > TODO: explain why your project is important
245
274
 
246
275
  <%= $project %> is exciting because:
@@ -248,81 +277,46 @@
248
277
  * Its core contains less than __________ lines of code.
249
278
  * It __________.
250
279
 
251
- > TODO: explain why your project is better than its competitors
252
280
 
253
- These features distinguish <%= $project %> from the competition:
254
- * [competitor 1](http://)
255
- * [competitor 2](http://)
256
- * [competitor 3](http://)
281
+ %|section "Etymology"
257
282
 
258
- %|paragraph "Etymology"
259
283
  > TODO: explain the meaning of the name of your project
260
284
 
261
- %|section "Logistics"
262
- * <%= xref "History", "Release notes" %> --- history of project releases.
263
- * [Source code](<%= repo_url %>) --- obtain via <%= repo_scm %> or browse online.
264
- * [API reference](<%= api_url %>) --- documentation for source code.
265
- * [Project home](<%= $website %>) --- the <%= $project %> project home page.
266
-
267
- To get help or provide feedback, simply
268
- <%= xref "License", "contact the author(s)" %>.
269
-
270
- %|paragraph "Version numbers"
271
- <%= $project %> releases are numbered in *major.minor.patch*
272
- form according to the [RubyGems rational versioning
273
- policy](http://www.rubygems.org/read/chapter/7), which
274
- can be summarized thus:
275
-
276
- <table markdown="1">
277
- <thead>
278
- <tr>
279
- <td rowspan="2">What increased in the version number?</td>
280
- <td colspan="3">The increase indicates that the release:</td>
281
- </tr>
282
- <tr>
283
- <th>Is backward compatible?</th>
284
- <th>Has new features?</th>
285
- <th>Has bug fixes?</th>
286
- </tr>
287
- </thead>
288
- <tbody>
289
- <tr>
290
- <th>major</th>
291
- <td style="background-color: #FFE4E1;">No</td>
292
- <td>Yes</td>
293
- <td>Yes</td>
294
- </tr>
295
- <tr>
296
- <th>minor</th>
297
- <td>Yes</td>
298
- <td>Yes</td>
299
- <td>Yes</td>
300
- </tr>
301
- <tr>
302
- <th>patch</th>
303
- <td>Yes</td>
304
- <td style="background-color: #FFE4E1;">No</td>
305
- <td>Yes</td>
306
- </tr>
307
- </tbody>
308
- </table>
309
-
310
- %|paragraph "License"
311
- %< "../LICENSE"
285
+
286
+ %|section "License"
287
+
288
+ %< "../LICENSE"
289
+
312
290
 
313
291
  %|section "Credits"
292
+
314
293
  > TODO: give attribution to your predecessors and contributors
315
294
 
316
- <%= $project %> is made possible by
317
- <%= xref "History", "contributions" %>
295
+ %= $project
296
+ is made possible by
297
+ %= xref "History", "contributions"
318
298
  from users like you:
319
299
 
320
300
  %< "../CREDITS"
301
+
302
+
303
+ %|section "Related works"
304
+
305
+ > TODO: list other projects which are similar to yours
306
+
307
+ * [project 1](http://)
308
+ * [project 2](http://)
309
+ * [project 3](http://)
310
+
321
311
  }
322
312
 
323
313
  create "#{program_name}/doc/setup.erb", %{
314
+
324
315
  %|chapter "Setup"
316
+
317
+
325
318
  %|section "Requirements"
319
+
326
320
  Your system needs the following software to run <%= $project %>.
327
321
 
328
322
  | Software | Description | Notes |
@@ -330,7 +324,9 @@
330
324
  | [Ruby](http://ruby-lang.org) | Ruby language interpreter | Version #{RUBY_VERSION} has been tested successfully. |
331
325
  | [RubyGems](http://rubygems.org) | Ruby packaging system | Version #{Gem::RubyGemsVersion} or newer is required. |
332
326
 
327
+
333
328
  %|section "Installation"
329
+
334
330
  You can install <%= $project %> by running this command:
335
331
 
336
332
  gem install <%= $program %>
@@ -344,9 +340,12 @@
344
340
  <pre><%= verbatim `ruby bin/\#{$program} --version` %></pre>
345
341
 
346
342
  If you do not see such output, you may
347
- <%= xref "License", "ask the author(s)" %> for help.
343
+ %= xref "License", "ask the author(s)"
344
+ for help.
345
+
346
+
347
+ %|section "Package contents"
348
348
 
349
- %|section "Manifest"
350
349
  You will see the following items inside <%= $project %>'s installation
351
350
  directory, whose path you can determine by running this command:
352
351
 
@@ -377,16 +376,65 @@
377
376
  * <tt>LICENSE</tt> --- copyright notice and legal conditions.
378
377
 
379
378
  * <tt>CREDITS</tt> --- attribution of project contributors.
379
+
380
+
381
+ %|section "Version numbers"
382
+
383
+ <%= $project %> releases are numbered in *major.minor.patch*
384
+ form according to the [RubyGems rational versioning
385
+ policy](http://www.rubygems.org/read/chapter/7), which
386
+ can be summarized as follows:
387
+
388
+ <table markdown="1">
389
+ <thead>
390
+ <tr>
391
+ <td rowspan="2">What increased in the version number?</td>
392
+ <td colspan="3">The increase indicates that the release:</td>
393
+ </tr>
394
+ <tr>
395
+ <th>Is backward compatible?</th>
396
+ <th>Has new features?</th>
397
+ <th>Has bug fixes?</th>
398
+ </tr>
399
+ </thead>
400
+ <tbody>
401
+ <tr>
402
+ <th>major</th>
403
+ <td style="background-color: #FFE4E1;">No</td>
404
+ <td>Yes</td>
405
+ <td>Yes</td>
406
+ </tr>
407
+ <tr>
408
+ <th>minor</th>
409
+ <td>Yes</td>
410
+ <td>Yes</td>
411
+ <td>Yes</td>
412
+ </tr>
413
+ <tr>
414
+ <th>patch</th>
415
+ <td>Yes</td>
416
+ <td style="background-color: #FFE4E1;">No</td>
417
+ <td>Yes</td>
418
+ </tr>
419
+ </tbody>
420
+ </table>
421
+
380
422
  }
381
423
 
382
424
  create "#{program_name}/doc/theory.erb", %{
425
+
383
426
  %|chapter "Theory of operation"
427
+
384
428
  > TODO: explain how your project does what it does
385
429
  }
386
430
 
387
431
  create "#{program_name}/doc/usage.erb", %{
432
+
388
433
  %|chapter "Usage"
434
+
435
+
389
436
  %|section "Command-line interface"
437
+
390
438
  When you run this command:
391
439
 
392
440
  <%= $program %> --help
@@ -397,32 +445,48 @@
397
445
 
398
446
  > TODO: explain the command-line arguments
399
447
 
448
+
400
449
  %|section "Ruby library interface"
450
+
401
451
  > TODO: explain how to use your project's Ruby library
402
452
  > from inside another Ruby program or library
403
453
 
404
- %|section "Tutorial"
405
- This tutorial shows how <%= $project %> is used to __________.
454
+
455
+ %|section "General walkthrough"
456
+
457
+ This tutorial walks you through the typical usage of <%= $project %>.
406
458
 
407
459
  > TODO: give examples for doing common tasks
408
460
 
409
- > TODO: explain how to do more (advanced) things
461
+
462
+ %|section "Specific topics"
463
+
464
+ > TODO: explain how to do more advanced / specific things
465
+
410
466
  }
411
467
 
412
468
  create "#{program_name}/doc/history.erb", %{
469
+
413
470
  %|chapter "History"
471
+
414
472
  > TODO: put a brief history about your project here
415
473
 
474
+
416
475
  %|history
476
+
417
477
  > TODO: put release notes for your project
418
478
  > here -- newest first, oldest last.
419
479
 
480
+
420
481
  %|section "Version #{project_version} (#{project_release})"
482
+
421
483
  > TODO: write a short summary of the changes in this release
422
484
 
423
485
  This release changes __________, adds __________, and fixes __________.
424
486
 
487
+
425
488
  %|paragraph "Thank you"
489
+
426
490
  > TODO: list everyone who contributed to this release
427
491
 
428
492
  * __________ contributed __________
@@ -431,7 +495,9 @@
431
495
 
432
496
  * __________ helped to __________
433
497
 
498
+
434
499
  %|paragraph "Incompatible changes"
500
+
435
501
  > TODO: list all backward-incompatible changes in this release
436
502
 
437
503
  * __________ has been __________ to __________ ---contributor name
@@ -440,7 +506,9 @@
440
506
 
441
507
  * __________ ---contributor name
442
508
 
509
+
443
510
  %|paragraph "New features"
511
+
444
512
  > TODO: list new features added in this release
445
513
 
446
514
  * __________ ---contributor name
@@ -449,7 +517,9 @@
449
517
 
450
518
  * __________ ---contributor name
451
519
 
520
+
452
521
  %|paragraph "Bug fixes"
522
+
453
523
  > TODO: describe all bugs that are fixed in this release
454
524
 
455
525
  * __________ was __________ ---contributor name
@@ -458,7 +528,9 @@
458
528
 
459
529
  * __________ did __________ ---contributor name
460
530
 
531
+
461
532
  %|paragraph "Housekeeping"
533
+
462
534
  > TODO: list the refactorings, clean ups, and other
463
535
  > improvements that were done for this release
464
536
 
@@ -467,4 +539,5 @@
467
539
  * __________ ---contributor name
468
540
 
469
541
  * __________ ---contributor name
542
+
470
543
  }
@@ -125,7 +125,7 @@ from this list.
125
125
  <p class="source-link">
126
126
  Source: <a href="javascript:toggleSource('M000002_source')" id="l_M000002_source">show</a>
127
127
 
128
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L70" target="_blank" class="github_url">on GitHub</a>
128
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L70" target="_blank" class="github_url">on GitHub</a>
129
129
 
130
130
  </p>
131
131
  <div id="M000002_source" class="dyn-source">
@@ -165,7 +165,7 @@ Returns all possible combinations of all possible lengths.
165
165
  <p class="source-link">
166
166
  Source: <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">show</a>
167
167
 
168
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L84" target="_blank" class="github_url">on GitHub</a>
168
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L84" target="_blank" class="github_url">on GitHub</a>
169
169
 
170
170
  </p>
171
171
  <div id="M000003_source" class="dyn-source">
@@ -209,7 +209,7 @@ from this list.
209
209
  <p class="source-link">
210
210
  Source: <a href="javascript:toggleSource('M000000_source')" id="l_M000000_source">show</a>
211
211
 
212
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L20" target="_blank" class="github_url">on GitHub</a>
212
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L20" target="_blank" class="github_url">on GitHub</a>
213
213
 
214
214
  </p>
215
215
  <div id="M000000_source" class="dyn-source">
@@ -267,7 +267,7 @@ Returns all possible enumerations of all possible lengths.
267
267
  <p class="source-link">
268
268
  Source: <a href="javascript:toggleSource('M000001_source')" id="l_M000001_source">show</a>
269
269
 
270
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L52" target="_blank" class="github_url">on GitHub</a>
270
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L52" target="_blank" class="github_url">on GitHub</a>
271
271
 
272
272
  </p>
273
273
  <div id="M000001_source" class="dyn-source">
@@ -311,7 +311,7 @@ from this list.
311
311
  <p class="source-link">
312
312
  Source: <a href="javascript:toggleSource('M000004_source')" id="l_M000004_source">show</a>
313
313
 
314
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L102" target="_blank" class="github_url">on GitHub</a>
314
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L102" target="_blank" class="github_url">on GitHub</a>
315
315
 
316
316
  </p>
317
317
  <div id="M000004_source" class="dyn-source">
@@ -351,7 +351,7 @@ Returns all possible permutations of all possible lengths.
351
351
  <p class="source-link">
352
352
  Source: <a href="javascript:toggleSource('M000005_source')" id="l_M000005_source">show</a>
353
353
 
354
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L116" target="_blank" class="github_url">on GitHub</a>
354
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L116" target="_blank" class="github_url">on GitHub</a>
355
355
 
356
356
  </p>
357
357
  <div id="M000005_source" class="dyn-source">
@@ -91,7 +91,7 @@ Writes the given content to the given file.
91
91
  <p class="source-link">
92
92
  Source: <a href="javascript:toggleSource('M000021_source')" id="l_M000021_source">show</a>
93
93
 
94
- | <a href="http://github.com/sunaku/inochi/blob/61f28653cea6fab1bfd8cffb07a666c236b243be/lib/inochi/util.rb#L96" target="_blank" class="github_url">on GitHub</a>
94
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util.rb#L96" target="_blank" class="github_url">on GitHub</a>
95
95
 
96
96
  </p>
97
97
  <div id="M000021_source" class="dyn-source">
@@ -171,7 +171,7 @@ project.
171
171
  <p class="source-link">
172
172
  Source: <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">show</a>
173
173
 
174
- | <a href="http://github.com/sunaku/inochi/blob/5f65225f952717327ab0d21f371307dcd335f34c/lib/inochi/book.rb#L42" target="_blank" class="github_url">on GitHub</a>
174
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/book.rb#L42" target="_blank" class="github_url">on GitHub</a>
175
175
 
176
176
  </p>
177
177
  <div id="M000011_source" class="dyn-source">
@@ -350,7 +350,7 @@ The newly configured project module.
350
350
  <p class="source-link">
351
351
  Source: <a href="javascript:toggleSource('M000022_source')" id="l_M000022_source">show</a>
352
352
 
353
- | <a href="http://github.com/sunaku/inochi/blob/61f28653cea6fab1bfd8cffb07a666c236b243be/lib/inochi/init.rb#L107" target="_blank" class="github_url">on GitHub</a>
353
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/init.rb#L107" target="_blank" class="github_url">on GitHub</a>
354
354
 
355
355
  </p>
356
356
  <div id="M000022_source" class="dyn-source">
@@ -462,7 +462,7 @@ Returns the result of Trollop::options().
462
462
  <p class="source-link">
463
463
  Source: <a href="javascript:toggleSource('M000010_source')" id="l_M000010_source">show</a>
464
464
 
465
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/main.rb#L36" target="_blank" class="github_url">on GitHub</a>
465
+ | <a href="http://github.com/sunaku/inochi/blob/c7a54935a163d0b7a35beac0f54ed38c29c3e358/lib/inochi/main.rb#L36" target="_blank" class="github_url">on GitHub</a>
466
466
 
467
467
  </p>
468
468
  <div id="M000010_source" class="dyn-source">
@@ -505,7 +505,7 @@ Returns the result of Trollop::options().
505
505
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:manual</span>]
506
506
  <span class="ruby-identifier">require</span> <span class="ruby-value str">'launchy'</span>
507
507
 
508
- <span class="ruby-identifier">manual</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">INSTALL</span>, <span class="ruby-value str">'doc'</span>, <span class="ruby-value str">'index.xhtml'</span>)
508
+ <span class="ruby-identifier">manual</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">INSTALL</span>, <span class="ruby-value str">'doc'</span>, <span class="ruby-value str">'index.html'</span>)
509
509
  <span class="ruby-constant">Launchy</span><span class="ruby-operator">::</span><span class="ruby-constant">Browser</span>.<span class="ruby-identifier">run</span> <span class="ruby-identifier">manual</span>
510
510
 
511
511
  <span class="ruby-identifier">exit</span>
@@ -668,7 +668,7 @@ configuration.
668
668
  <p class="source-link">
669
669
  Source: <a href="javascript:toggleSource('M000014_source')" id="l_M000014_source">show</a>
670
670
 
671
- | <a href="http://github.com/sunaku/inochi/blob/bb5ea888e45c928e0318cfbef999ce7f41994411/lib/inochi/rake.rb#L110" target="_blank" class="github_url">on GitHub</a>
671
+ | <a href="http://github.com/sunaku/inochi/blob/c7a54935a163d0b7a35beac0f54ed38c29c3e358/lib/inochi/rake.rb#L110" target="_blank" class="github_url">on GitHub</a>
672
672
 
673
673
  </p>
674
674
  <div id="M000014_source" class="dyn-source">
@@ -730,9 +730,7 @@ configuration.
730
730
  <span class="ruby-identifier">lang_dump_file</span> = <span class="ruby-value str">'lang/phrases.yaml'</span>
731
731
 
732
732
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Extract language phrases for translation.'</span>
733
- <span class="ruby-identifier">task</span> <span class="ruby-value str">'lang:dump'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_file</span>
734
-
735
- <span class="ruby-identifier">file</span> <span class="ruby-identifier">lang_dump_file</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_deps</span> <span class="ruby-keyword kw">do</span>
733
+ <span class="ruby-identifier">task</span> <span class="ruby-value str">'lang:dump'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_deps</span> <span class="ruby-keyword kw">do</span>
736
734
  <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'dump_lang_phrases'</span>] = <span class="ruby-value str">'1'</span>
737
735
  <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">Task</span>[<span class="ruby-identifier">:test</span>].<span class="ruby-identifier">invoke</span>
738
736
  <span class="ruby-keyword kw">end</span>
@@ -910,7 +908,7 @@ configuration.
910
908
 
911
909
  <span class="ruby-comment cmt"># user manual</span>
912
910
  <span class="ruby-identifier">doc_man_src</span> = <span class="ruby-value str">'doc/index.erb'</span>
913
- <span class="ruby-identifier">doc_man_dst</span> = <span class="ruby-value str">'doc/index.xhtml'</span>
911
+ <span class="ruby-identifier">doc_man_dst</span> = <span class="ruby-value str">'doc/index.html'</span>
914
912
  <span class="ruby-identifier">doc_man_deps</span> = <span class="ruby-constant">FileList</span>[<span class="ruby-value str">'doc/*.erb'</span>]
915
913
 
916
914
  <span class="ruby-identifier">doc_man_doc</span> = <span class="ruby-keyword kw">nil</span>
@@ -941,16 +939,15 @@ configuration.
941
939
 
942
940
  <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:doc</span> <span class="ruby-keyword kw">do</span>
943
941
  <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:api</span> <span class="ruby-keyword kw">do</span>
944
- <span class="ruby-identifier">require</span> <span class="ruby-value str">'sdoc'</span>
945
942
  <span class="ruby-identifier">require</span> <span class="ruby-value str">'rake/rdoctask'</span>
946
943
 
947
944
  <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">RDocTask</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
948
945
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_dir</span> = <span class="ruby-identifier">doc_api_dst</span>
949
946
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">template</span> = <span class="ruby-value str">'direct'</span> <span class="ruby-comment cmt"># lighter template used on railsapi.com</span>
950
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">options</span>.<span class="ruby-identifier">push</span> <span class="ruby-value str">'--fmt'</span>, <span class="ruby-value str">'shtml'</span> <span class="ruby-comment cmt"># explictly set shtml generator</span>
951
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'[A-Z]*'</span>, <span class="ruby-value str">'lib/**/*.rb'</span>, <span class="ruby-value str">'ext/**/*.{rb,c*}'</span>
947
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">options</span>.<span class="ruby-identifier">push</span> <span class="ruby-value str">'--fmt'</span>, <span class="ruby-value str">'shtml'</span> <span class="ruby-comment cmt"># explictly set SDoc generator</span>
948
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'[A-Z]*'</span>, <span class="ruby-value str">'{lib,ext}/**/*.{rb,c}'</span>
952
949
 
953
- <span class="ruby-comment cmt"># regen when sources change</span>
950
+ <span class="ruby-comment cmt"># regenerate API reference when sources change</span>
954
951
  <span class="ruby-identifier">task</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>
955
952
 
956
953
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">main</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:license_file</span>]
@@ -1056,7 +1053,7 @@ configuration.
1056
1053
  &lt;p&gt;#{project_module::WEBSITE}&lt;/p&gt;
1057
1054
  &lt;/center&gt;
1058
1055
  #{ann_nfo_doc}
1059
- #{ann_rel_doc}
1056
+ #{ann_rel_doc.to_s.sub ann_rel_doc.parent_tabs_begin, '&lt;div&gt;'}
1060
1057
  }</span>
1061
1058
 
1062
1059
  <span class="ruby-comment cmt"># remove heading navigation menus</span>
@@ -1071,9 +1068,7 @@ configuration.
1071
1068
 
1072
1069
  <span class="ruby-identifier">ann_text</span> = <span class="ruby-keyword kw">nil</span>
1073
1070
  <span class="ruby-identifier">task</span> <span class="ruby-identifier">:ann_text</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_html</span> <span class="ruby-keyword kw">do</span>
1074
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ann_text</span>
1075
- <span class="ruby-identifier">ann_text</span> = <span class="ruby-identifier">convert_html_to_text</span>[<span class="ruby-identifier">ann_html</span>]
1076
- <span class="ruby-keyword kw">end</span>
1071
+ <span class="ruby-identifier">ann_text</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">convert_html_to_text</span>[<span class="ruby-identifier">ann_html</span>]
1077
1072
  <span class="ruby-keyword kw">end</span>
1078
1073
 
1079
1074
  <span class="ruby-identifier">ann_nfo_text</span> = <span class="ruby-keyword kw">nil</span>
@@ -1163,15 +1158,11 @@ configuration.
1163
1158
  <span class="ruby-constant">CLEAN</span>.<span class="ruby-identifier">include</span> <span class="ruby-identifier">ann_mail_dst</span>
1164
1159
 
1165
1160
  <span class="ruby-comment cmt"># packaging</span>
1166
- <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Build a release.'</span>
1167
- <span class="ruby-identifier">task</span> <span class="ruby-identifier">:gem</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">:clobber</span>, <span class="ruby-identifier">:doc</span>] <span class="ruby-keyword kw">do</span>
1168
- <span class="ruby-identifier">sh</span> <span class="ruby-identifier">$0</span>, <span class="ruby-value str">'gem:package'</span>
1169
- <span class="ruby-keyword kw">end</span>
1170
- <span class="ruby-constant">CLEAN</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'pkg'</span>
1171
-
1172
- <span class="ruby-comment cmt"># ruby gem</span>
1173
- <span class="ruby-identifier">require</span> <span class="ruby-value str">'rake/gempackagetask'</span>
1161
+ <span class="ruby-identifier">directory</span> <span class="ruby-value str">'pkg'</span>
1162
+ <span class="ruby-constant">CLOBBER</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'pkg'</span>
1174
1163
 
1164
+ <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Build a release.'</span>
1165
+ <span class="ruby-identifier">task</span> <span class="ruby-identifier">:gem</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">:doc</span>, <span class="ruby-identifier">:ann_text</span>, <span class="ruby-value str">'pkg'</span>] <span class="ruby-keyword kw">do</span>
1175
1166
  <span class="ruby-identifier">gem_spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gem</span><span class="ruby-operator">|</span>
1176
1167
  <span class="ruby-identifier">authors</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORS</span>
1177
1168
 
@@ -1200,10 +1191,10 @@ configuration.
1200
1191
  <span class="ruby-comment cmt"># For example, consider the &quot;RedCloth&quot; gem.</span>
1201
1192
  <span class="ruby-comment cmt">#</span>
1202
1193
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">PROGRAM</span>
1203
-
1194
+ <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">date</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">RELEASE</span>
1204
1195
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">version</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
1205
1196
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">summary</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">TAGLINE</span>
1206
- <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">description</span> = <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">summary</span>
1197
+ <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">description</span> = <span class="ruby-identifier">ann_text</span>
1207
1198
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">homepage</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">WEBSITE</span>
1208
1199
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">files</span> = <span class="ruby-constant">FileList</span>[<span class="ruby-value str">'**/*'</span>].<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'_darcs'</span>) <span class="ruby-operator">-</span> <span class="ruby-constant">CLEAN</span>
1209
1200
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">has_rdoc</span> = <span class="ruby-keyword kw">true</span>
@@ -1233,18 +1224,11 @@ configuration.
1233
1224
  <span class="ruby-keyword kw">end</span>
1234
1225
 
1235
1226
  <span class="ruby-comment cmt"># additional configuration is done by user</span>
1236
- <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">gem</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_config</span>
1237
- <span class="ruby-keyword kw">end</span>
1238
-
1239
- <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:gem</span> <span class="ruby-keyword kw">do</span>
1240
- <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">GemPackageTask</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gem_spec</span>).<span class="ruby-identifier">define</span>
1241
-
1242
- <span class="ruby-node">%w[gem package repackage clobber_package]</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
1243
- <span class="ruby-identifier">hide_rake_task</span>.<span class="ruby-identifier">call</span> <span class="ruby-node">&quot;gem:#{t}&quot;</span>
1244
- <span class="ruby-keyword kw">end</span>
1227
+ <span class="ruby-identifier">gem_config</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">gem</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_config</span>
1245
1228
  <span class="ruby-keyword kw">end</span>
1246
1229
 
1247
- <span class="ruby-identifier">task</span> <span class="ruby-identifier">:clobber</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;gem:clobber_package&quot;</span>
1230
+ <span class="ruby-identifier">mv</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gem_spec</span>).<span class="ruby-identifier">build</span>, <span class="ruby-value str">'pkg'</span>
1231
+ <span class="ruby-keyword kw">end</span>
1248
1232
 
1249
1233
  <span class="ruby-comment cmt"># releasing</span>
1250
1234
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Publish a release.'</span>
@@ -1314,7 +1298,7 @@ configuration.
1314
1298
 
1315
1299
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to RubyForge news.'</span>
1316
1300
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:forge'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:pub_forge</span> <span class="ruby-keyword kw">do</span>
1317
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to RubyForge news...'</span>
1301
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to RubyForge news...'</span>
1318
1302
 
1319
1303
  <span class="ruby-identifier">project</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:rubyforge_project</span>]
1320
1304
 
@@ -1344,7 +1328,7 @@ configuration.
1344
1328
 
1345
1329
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to ruby-talk mailing list.'</span>
1346
1330
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:talk'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_logins</span> <span class="ruby-keyword kw">do</span>
1347
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to ruby-talk mailing list...'</span>
1331
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to ruby-talk mailing list...'</span>
1348
1332
 
1349
1333
  <span class="ruby-identifier">host</span> = <span class="ruby-value str">'http://ruby-forum.com'</span>
1350
1334
  <span class="ruby-identifier">ruby_talk</span> = <span class="ruby-value">4</span> <span class="ruby-comment cmt"># ruby-talk forum ID</span>
@@ -1406,7 +1390,7 @@ configuration.
1406
1390
 
1407
1391
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to RAA (Ruby Application Archive).'</span>
1408
1392
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:raa'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_logins</span> <span class="ruby-keyword kw">do</span>
1409
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to RAA (Ruby Application Archive)...'</span>
1393
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to RAA (Ruby Application Archive)...'</span>
1410
1394
 
1411
1395
  <span class="ruby-identifier">show_page_error</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">page</span>, <span class="ruby-identifier">message</span><span class="ruby-operator">|</span>
1412
1396
  <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;#{message}, so I can NOT announce this release to RAA:&quot;</span>