inochi 0.2.0 → 0.3.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.
@@ -14,11 +14,11 @@
14
14
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
15
15
  <meta name="generator" content="ERBook 6.0.1"/>
16
16
 
17
- <title>Inochi 0.2.0</title>
17
+ <title>Inochi 0.3.0</title>
18
18
 
19
19
  <meta name="author" content="Suraj N. Kurapati"/>
20
20
 
21
- <meta name="date" content="25 January 2009"/>
21
+ <meta name="date" content="12 February 2009"/>
22
22
 
23
23
  <link rel="alternate" type="application/rss+xml" href="http://snk.tuxfamily.org/lib/inochi/ann.xml"/>
24
24
 
@@ -49,7 +49,7 @@
49
49
  {
50
50
  height : 0;
51
51
  border : 0;
52
- border-top : 2px solid #FF0000;
52
+ border-top : thin dashed #000000;
53
53
  }
54
54
 
55
55
  /* source code */
@@ -642,13 +642,13 @@
642
642
 
643
643
  <div class="logo"><img src='inochi.png' alt='project logo' /></div>
644
644
 
645
- <h1 class="title">Inochi 0.2.0</h1>
645
+ <h1 class="title">Inochi 0.3.0</h1>
646
646
 
647
647
  <h2 class="subtitle">Gives life to RubyGems-based software</h2>
648
648
 
649
649
  <h3 class="authors"><a href="mailto:sunaku@gmail.com">Suraj N. Kurapati</a></h3>
650
650
 
651
- <h3 class="date">25 January 2009</h3>
651
+ <h3 class="date">12 February 2009</h3>
652
652
 
653
653
  </div>
654
654
 
@@ -663,7 +663,7 @@
663
663
  <a name="Contents"/><div class="nav" id="Contents"><a title="Reverse jump to listing" href="#rev:Contents">&equiv;</a>&#x25B3;&#x25BD;<a title="Jump to this segment" href="#Contents">&#x25CE;</a></div>
664
664
  <h1 class="title">Contents</h1>
665
665
  <ul>
666
- <li>1&nbsp;&nbsp;<a id="rev:Introduction" href="#Introduction">Introduction</a><ul><li><a id="rev:Etymology" href="#Etymology">Etymology</a></li><li>1.1&nbsp;&nbsp;<a id="rev:Logistics" href="#Logistics">Logistics</a><ul><li><a id="rev:Version-numbers" href="#Version-numbers">Version numbers</a></li></ul></li><li>1.2&nbsp;&nbsp;<a id="rev:License" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="rev:Credits" href="#Credits">Credits</a></li></ul></li><li>2&nbsp;&nbsp;<a id="rev:Setup" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="rev:Requirements" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="rev:Installation" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="rev:Manifest" href="#Manifest">Manifest</a></li></ul></li><li>3&nbsp;&nbsp;<a id="rev:Usage" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="rev:Command-line-interface" href="#Command-line-interface">Command-line interface</a></li><li>3.2&nbsp;&nbsp;<a id="rev:Ruby-library-interface" href="#Ruby-library-interface">Ruby library interface</a></li><li>3.3&nbsp;&nbsp;<a id="rev:Tutorial" href="#Tutorial">Tutorial</a><ul><li>3.3.1&nbsp;&nbsp;<a id="rev:Have-a-brilliant-idea" href="#Have-a-brilliant-idea">Have a brilliant idea</a></li><li>3.3.2&nbsp;&nbsp;<a id="rev:Generate-your-project" href="#Generate-your-project">Generate your project</a><ul><li><a id="rev:View-Rake-tasks" href="#View-Rake-tasks">View Rake tasks</a></li><li><a id="rev:Run-unit-tests" href="#Run-unit-tests">Run unit tests</a></li><li><a id="rev:Run-project-executable" href="#Run-project-executable">Run project executable</a></li><li><a id="rev:Show-user-manual" href="#Show-user-manual">Show user manual</a></li></ul></li><li>3.3.3&nbsp;&nbsp;<a id="rev:Configure-your-project" href="#Configure-your-project">Configure your project</a><ul><li>3.3.3.1&nbsp;&nbsp;<a id="rev:Project-information" href="#Project-information">Project information</a></li><li>3.3.3.2&nbsp;&nbsp;<a id="rev:Project-executable" href="#Project-executable">Project executable</a></li><li>3.3.3.3&nbsp;&nbsp;<a id="rev:Rake-tasks" href="#Rake-tasks">Rake tasks</a></li><li>3.3.3.4&nbsp;&nbsp;<a id="rev:User-manual" href="#User-manual">User manual</a><ul><li><a id="rev:doc-index.erb" href="#doc-index.erb"><tt>doc/index.erb</tt></a></li><li><a id="rev:doc-intro.erb" href="#doc-intro.erb"><tt>doc/intro.erb</tt></a></li><li><a id="rev:doc-setup.erb" href="#doc-setup.erb"><tt>doc/setup.erb</tt></a></li><li><a id="rev:doc-theory.erb" href="#doc-theory.erb"><tt>doc/theory.erb</tt></a></li><li><a id="rev:doc-usage.erb" href="#doc-usage.erb"><tt>doc/usage.erb</tt></a></li><li><a id="rev:doc-history.erb" href="#doc-history.erb"><tt>doc/history.erb</tt></a></li></ul></li></ul></li><li>3.3.4&nbsp;&nbsp;<a id="rev:Implement-your-project" href="#Implement-your-project">Implement your project</a><ul><li><a id="rev:Goodbye-LOAD_PATH-hello-require" href="#Goodbye-LOAD_PATH-hello-require">Goodbye <code class="code"><span style="color:#d70;font-weight:bold">$LOAD_PATH</span></code>, hello <code class="code">require()</code></a></li></ul></li><li>3.3.5&nbsp;&nbsp;<a id="rev:Test-your-project" href="#Test-your-project">Test your project</a><ul><li><a id="rev:Units-and-tests" href="#Units-and-tests">Units and tests</a></li><li><a id="rev:Test-execution" href="#Test-execution">Test execution</a></li><li><a id="rev:Helper-libraries" href="#Helper-libraries">Helper libraries</a></li></ul></li><li>3.3.6&nbsp;&nbsp;<a id="rev:Publish-your-project" href="#Publish-your-project">Publish your project</a><ul><li>3.3.6.1&nbsp;&nbsp;<a id="rev:Build-a-RubyGem" href="#Build-a-RubyGem">Build a RubyGem</a></li><li>3.3.6.2&nbsp;&nbsp;<a id="rev:Publish-a-RubyGem" href="#Publish-a-RubyGem">Publish a RubyGem</a></li><li>3.3.6.3&nbsp;&nbsp;<a id="rev:Announce-a-release" href="#Announce-a-release">Announce a release</a><ul><li><a id="rev:Login-information" href="#Login-information">Login information</a></li><li>3.3.6.3.1&nbsp;&nbsp;<a id="rev:Manual-release-announcement" href="#Manual-release-announcement">Manual release announcement</a></li></ul></li><li>3.3.6.4&nbsp;&nbsp;<a id="rev:Publish-the-documentation" href="#Publish-the-documentation">Publish the documentation</a></li></ul></li></ul></li></ul></li><li>4&nbsp;&nbsp;<a id="rev:history" href="#history">History</a><ul><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.2.0-2009-01-25" href="#Version-0.2.0-2009-01-25">Version 0.2.0 (2009-01-25)</a><ul><li><a id="rev:Contributor-kudos" href="#Contributor-kudos">Contributor kudos</a></li><li><a id="rev:New-features" href="#New-features">New features</a></li><li><a id="rev:Bug-fixes" href="#Bug-fixes">Bug fixes</a></li><li><a id="rev:Housekeeping" href="#Housekeeping">Housekeeping</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.1.0-2009-01-13" href="#Version-0.1.0-2009-01-13">Version 0.1.0 (2009-01-13)</a><ul><li><a id="rev:New-features-608879868" href="#New-features-608879868">New features</a></li><li><a id="rev:Bug-fixes-608886358" href="#Bug-fixes-608886358">Bug fixes</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.0.1-2009-01-13" href="#Version-0.0.1-2009-01-13">Version 0.0.1 (2009-01-13)</a><ul><li><a id="rev:Contributor-kudos-608900438" href="#Contributor-kudos-608900438">Contributor kudos</a></li><li><a id="rev:Bug-fixes-608905168" href="#Bug-fixes-608905168">Bug fixes</a></li><li><a id="rev:Housekeeping-608918928" href="#Housekeeping-608918928">Housekeeping</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.0.0-2009-01-13" href="#Version-0.0.0-2009-01-13">Version 0.0.0 (2009-01-13)</a></li></ul></li>
666
+ <li>1&nbsp;&nbsp;<a id="rev:Introduction" href="#Introduction">Introduction</a><ul><li><a id="rev:Etymology" href="#Etymology">Etymology</a></li><li>1.1&nbsp;&nbsp;<a id="rev:Logistics" href="#Logistics">Logistics</a><ul><li><a id="rev:Version-numbers" href="#Version-numbers">Version numbers</a></li></ul></li><li>1.2&nbsp;&nbsp;<a id="rev:License" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="rev:Credits" href="#Credits">Credits</a></li></ul></li><li>2&nbsp;&nbsp;<a id="rev:Setup" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="rev:Requirements" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="rev:Installation" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="rev:Manifest" href="#Manifest">Manifest</a></li></ul></li><li>3&nbsp;&nbsp;<a id="rev:Usage" href="#Usage">Usage</a><ul><li>3.1&nbsp;&nbsp;<a id="rev:Command-line-interface" href="#Command-line-interface">Command-line interface</a></li><li>3.2&nbsp;&nbsp;<a id="rev:Ruby-library-interface" href="#Ruby-library-interface">Ruby library interface</a></li><li>3.3&nbsp;&nbsp;<a id="rev:Tutorial" href="#Tutorial">Tutorial</a><ul><li>3.3.1&nbsp;&nbsp;<a id="rev:Have-a-brilliant-idea" href="#Have-a-brilliant-idea">Have a brilliant idea</a></li><li>3.3.2&nbsp;&nbsp;<a id="rev:Generate-your-project" href="#Generate-your-project">Generate your project</a><ul><li><a id="rev:View-Rake-tasks" href="#View-Rake-tasks">View Rake tasks</a></li><li><a id="rev:Run-unit-tests" href="#Run-unit-tests">Run unit tests</a></li><li><a id="rev:Run-project-executable" href="#Run-project-executable">Run project executable</a></li><li><a id="rev:Show-user-manual" href="#Show-user-manual">Show user manual</a></li></ul></li><li>3.3.3&nbsp;&nbsp;<a id="rev:Configure-your-project" href="#Configure-your-project">Configure your project</a><ul><li>3.3.3.1&nbsp;&nbsp;<a id="rev:Project-information" href="#Project-information">Project information</a></li><li>3.3.3.2&nbsp;&nbsp;<a id="rev:Project-executable" href="#Project-executable">Project executable</a></li><li>3.3.3.3&nbsp;&nbsp;<a id="rev:Rake-tasks" href="#Rake-tasks">Rake tasks</a></li><li>3.3.3.4&nbsp;&nbsp;<a id="rev:User-manual" href="#User-manual">User manual</a><ul><li><a id="rev:doc-index.erb" href="#doc-index.erb"><tt>doc/index.erb</tt></a></li><li><a id="rev:doc-intro.erb" href="#doc-intro.erb"><tt>doc/intro.erb</tt></a></li><li><a id="rev:doc-setup.erb" href="#doc-setup.erb"><tt>doc/setup.erb</tt></a></li><li><a id="rev:doc-theory.erb" href="#doc-theory.erb"><tt>doc/theory.erb</tt></a></li><li><a id="rev:doc-usage.erb" href="#doc-usage.erb"><tt>doc/usage.erb</tt></a></li><li><a id="rev:doc-history.erb" href="#doc-history.erb"><tt>doc/history.erb</tt></a></li></ul></li></ul></li><li>3.3.4&nbsp;&nbsp;<a id="rev:Implement-your-project" href="#Implement-your-project">Implement your project</a><ul><li><a id="rev:Goodbye-LOAD_PATH-hello-require" href="#Goodbye-LOAD_PATH-hello-require">Goodbye <code class="code"><span style="color:#d70;font-weight:bold">$LOAD_PATH</span></code>, hello <code class="code">require()</code></a></li></ul></li><li>3.3.5&nbsp;&nbsp;<a id="rev:Test-your-project" href="#Test-your-project">Test your project</a><ul><li><a id="rev:Units-and-tests" href="#Units-and-tests">Units and tests</a></li><li><a id="rev:Test-execution" href="#Test-execution">Test execution</a></li><li><a id="rev:Helper-libraries" href="#Helper-libraries">Helper libraries</a></li></ul></li><li>3.3.6&nbsp;&nbsp;<a id="rev:Translate-your-project" href="#Translate-your-project">Translate your project</a><ul><li>3.3.6.1&nbsp;&nbsp;<a id="rev:Language-phrases" href="#Language-phrases">Language phrases</a><ul><li><a id="rev:Parameterizing-language-phrases" href="#Parameterizing-language-phrases">Parameterizing language phrases</a></li><li><a id="rev:Explicit-translation-into-a-language" href="#Explicit-translation-into-a-language">Explicit translation into a language</a></li></ul></li><li>3.3.6.2&nbsp;&nbsp;<a id="rev:Translation-files" href="#Translation-files">Translation files</a></li><li>3.3.6.3&nbsp;&nbsp;<a id="rev:Extracting-language-phrases" href="#Extracting-language-phrases">Extracting language phrases</a><ul><li><a id="rev:Dynamic-analysis" href="#Dynamic-analysis">Dynamic analysis</a></li><li><a id="rev:Static-analysis" href="#Static-analysis">Static analysis</a></li></ul></li><li>3.3.6.4&nbsp;&nbsp;<a id="rev:Translating-language-phrases" href="#Translating-language-phrases">Translating language phrases</a></li></ul></li><li>3.3.7&nbsp;&nbsp;<a id="rev:Publish-your-project" href="#Publish-your-project">Publish your project</a><ul><li>3.3.7.1&nbsp;&nbsp;<a id="rev:Build-a-RubyGem" href="#Build-a-RubyGem">Build a RubyGem</a></li><li>3.3.7.2&nbsp;&nbsp;<a id="rev:Publish-a-RubyGem" href="#Publish-a-RubyGem">Publish a RubyGem</a></li><li>3.3.7.3&nbsp;&nbsp;<a id="rev:Announce-a-release" href="#Announce-a-release">Announce a release</a><ul><li><a id="rev:Login-information" href="#Login-information">Login information</a></li><li>3.3.7.3.1&nbsp;&nbsp;<a id="rev:Manual-release-announcement" href="#Manual-release-announcement">Manual release announcement</a></li></ul></li><li>3.3.7.4&nbsp;&nbsp;<a id="rev:Publish-the-documentation" href="#Publish-the-documentation">Publish the documentation</a></li></ul></li></ul></li></ul></li><li>4&nbsp;&nbsp;<a id="rev:History" href="#History">History</a><ul><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.3.0-2009-02-12" href="#Version-0.3.0-2009-02-12">Version 0.3.0 (2009-02-12)</a><ul><li><a id="rev:New-features" href="#New-features">New features</a></li><li><a id="rev:Bug-fixes" href="#Bug-fixes">Bug fixes</a></li><li><a id="rev:Housekeeping" href="#Housekeeping">Housekeeping</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.2.0-2009-01-25" href="#Version-0.2.0-2009-01-25">Version 0.2.0 (2009-01-25)</a><ul><li><a id="rev:New-features-608879778" href="#New-features-608879778">New features</a></li><li><a id="rev:Bug-fixes-608927278" href="#Bug-fixes-608927278">Bug fixes</a></li><li><a id="rev:Housekeeping-608956548" href="#Housekeeping-608956548">Housekeeping</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.1.0-2009-01-13" href="#Version-0.1.0-2009-01-13">Version 0.1.0 (2009-01-13)</a><ul><li><a id="rev:New-features-609008278" href="#New-features-609008278">New features</a></li><li><a id="rev:Bug-fixes-609028008" href="#Bug-fixes-609028008">Bug fixes</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.0.1-2009-01-13" href="#Version-0.0.1-2009-01-13">Version 0.0.1 (2009-01-13)</a><ul><li><a id="rev:Bug-fixes-609075888" href="#Bug-fixes-609075888">Bug fixes</a></li><li><a id="rev:Housekeeping-609091378" href="#Housekeeping-609091378">Housekeeping</a></li></ul></li><li>4.1&nbsp;&nbsp;<a id="rev:Version-0.0.0-2009-01-13" href="#Version-0.0.0-2009-01-13">Version 0.0.0 (2009-01-13)</a></li></ul></li>
667
667
 
668
668
  </ul>
669
669
  </div>
@@ -682,7 +682,7 @@
682
682
  <br/>
683
683
  <big>Introduction</big>
684
684
  </h1>
685
- <div class="content"><p><p><strong>Inochi</strong> is an infrastructure for <a href='http://www.rubygems.org'>RubyGems</a>-based software projects that encourages good documentation, reduces programming effort, and automates common tasks.</p> <strong>Inochi</strong> is exciting because:</p>
685
+ <div class="content"><p><p><strong>Inochi</strong> is an infrastructure for <a href='http://www.rubygems.org'>RubyGems</a>-based software projects that encourages good documentation and reduces programming effort by automating common tasks.</p> <strong>Inochi</strong> is exciting because:</p>
686
686
 
687
687
  <ul>
688
688
  <li>
@@ -726,16 +726,16 @@
726
726
  <li><a href='http://newgem.rubyforge.org'>newgem</a></li>
727
727
 
728
728
  <li><a href='http://codeforpeople.rubyforge.org/bones/'>Mr Bones</a></li>
729
- </ul>
730
- <!--
731
- Say goodbye to the days of manually requiring libraries:
732
729
 
733
- require File.join(File.dirname(__FILE__), 'project', 'library')
730
+ <li><a href='http://gitorious.org/projects/gemify/'>Gemify</a></li>
731
+
732
+ <li><a href='http://technicalpickles.github.com/jeweler/'>Jeweler</a></li>
734
733
 
735
- With **Inochi** you can require any library in your project:
734
+ <li><a href='https://simonmenke.github.com/gm/'>GemMake</a></li>
735
+
736
+ <li><a href='http://github.com/reagent/simple-gem/tree/master'>SimpleGem</a></li>
737
+ </ul>
736
738
 
737
- require 'project/library'
738
- -->
739
739
  <p><div class="paragraph">
740
740
  <a name="Etymology"/><div class="nav" id="Etymology"><a title="Reverse jump to listing" href="#rev:Etymology">&equiv;</a><a title="Jump to previous segment" href="#Introduction">&#x25B3;</a><a title="Jump to next segment" href="#Logistics">&#x25BD;</a><a title="Jump to this segment" href="#Etymology">&#x25CE;</a></div>
741
741
  <p class="title">Etymology</p>
@@ -743,14 +743,14 @@
743
743
 
744
744
  <p>In this manner, I consider this project not as a generator of skeletons or as a builder of scaffolds, but as a <em>giver of life</em>. That is why I named this project &#8220;inochi&#8221;, the Japanese word for <em>life</em>.</p>
745
745
 
746
- <p>Happy gardening!</p></div>
746
+ <p>Happy cultivation!</p></div>
747
747
  </div> <div class="section">
748
748
  <a name="Logistics"/><div class="nav" id="Logistics"><a title="Reverse jump to listing" href="#rev:Logistics">&equiv;</a><a title="Jump to previous segment" href="#Etymology">&#x25B3;</a><a title="Jump to next segment" href="#Version-numbers">&#x25BD;</a><a title="Jump to this segment" href="#Logistics">&#x25CE;</a></div>
749
749
  <h2 class="title">
750
750
  1.1&nbsp;&nbsp;Logistics
751
751
  </h2>
752
752
  <div class="content"><ul>
753
- <li><a class="xref" href="#history" title="Chapter 4. History">Release notes</a> &#8212; history of project releases.</li>
753
+ <li><a class="xref" href="#History" title="Chapter 4. &quot;History&quot;">Release notes</a> &#8212; history of project releases.</li>
754
754
 
755
755
  <li><a href='http://github.com/sunaku/inochi'>Source code</a> &#8212; obtain via <a href='http://git.or.cz'>Git</a> or browse online.</li>
756
756
 
@@ -759,7 +759,7 @@
759
759
  <li><a href='http://snk.tuxfamily.org/lib/inochi'>Project home</a> &#8212; the <strong>Inochi</strong> project home page.</li>
760
760
  </ul>
761
761
 
762
- <p>To get help or provide feedback, simply <a class="xref" href="#License" title="Section 1.2. License">contact the author(s)</a>.</p>
762
+ <p>To get help or provide feedback, simply <a class="xref" href="#License" title="Section 1.2. &quot;License&quot;">contact the author(s)</a>.</p>
763
763
 
764
764
  <p><div class="paragraph">
765
765
  <a name="Version-numbers"/><div class="nav" id="Version-numbers"><a title="Reverse jump to listing" href="#rev:Version-numbers">&equiv;</a><a title="Jump to previous segment" href="#Logistics">&#x25B3;</a><a title="Jump to next segment" href="#License">&#x25BD;</a><a title="Jump to this segment" href="#Version-numbers">&#x25CE;</a></div>
@@ -804,7 +804,9 @@
804
804
  <h2 class="title">
805
805
  1.2&nbsp;&nbsp;License
806
806
  </h2>
807
- <div class="content"><p>Copyright 2008 Suraj N. Kurapati <a href='mailto:sunaku@gmail.com'>&#115;&#117;&#110;&#097;&#107;&#117;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109;</a></p>
807
+ <div class="content"><p>(the ISC license)</p>
808
+
809
+ <p>Copyright 2008 Suraj N. Kurapati <a href='mailto:sunaku@gmail.com'>&#115;&#117;&#110;&#097;&#107;&#117;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109;</a></p>
808
810
 
809
811
  <p>Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.</p>
810
812
 
@@ -815,10 +817,15 @@
815
817
  1.3&nbsp;&nbsp;Credits
816
818
  </h2>
817
819
  <div class="content"><img src='inochi.png' alt='project logo' />
818
- <p>The &#8220;inochi.png&#8221; image and its &#8220;inochi.svg&#8221; source utilize the <a href='http://openclipart.org/media/files/Peileppe/8978'>&#8220;3 flowers&#8221;</a> graphic, which was created and released into the public domain by <a href='http://openclipart.org/media/people/Peileppe'>Peileppe Production</a> on June 25, 2008.</p></div>
820
+ <p>The &#8220;inochi.png&#8221; image and its &#8220;inochi.svg&#8221; source utilize the <a href='http://openclipart.org/media/files/Peileppe/8978'>&#8220;3 flowers&#8221;</a> graphic, which was created and released into the public domain by <a href='http://openclipart.org/media/people/Peileppe'>Peileppe Production</a> on June 25, 2008.</p>
821
+
822
+ <p><strong>Inochi</strong> is made possible by <a class="xref" href="#History" title="Chapter 4. &quot;History&quot;">contributions</a> from users like you:</p>
823
+
824
+ <ul>
825
+ <li>Florian Gilcher</li>
826
+ </ul></div>
819
827
  </div></p></div>
820
- </div>
821
- <div class="chapter">
828
+ </div><div class="chapter">
822
829
  <a name="Setup"/><div class="nav" id="Setup"><a title="Reverse jump to listing" href="#rev:Setup">&equiv;</a><a title="Jump to previous segment" href="#Credits">&#x25B3;</a><a title="Jump to next segment" href="#Requirements">&#x25BD;</a><a title="Jump to this segment" href="#Setup">&#x25CE;</a></div>
823
830
  <h1 class="title">
824
831
  Chapter&nbsp;2
@@ -833,7 +840,6 @@
833
840
  <div class="content"><p>Your system needs the following software to run <strong>Inochi</strong>.</p>
834
841
  <table border="1"><thead><tr><th>Software</th><th>Description</th><th>Notes</th></tr></thead><tbody><tr><td style='text-align: left;'><a href='http://ruby-lang.org'>Ruby</a></td><td style='text-align: left;'>Ruby language interpreter</td><td style='text-align: left;'>Version 1.8.6 or 1.8.7 is required.</td>
835
842
  </tr><tr><td style='text-align: left;'><a href='http://rubygems.org'>RubyGems</a></td><td style='text-align: left;'>Ruby packaging system</td><td style='text-align: left;'>Version 1.x.x is required.</td>
836
- </tr><tr><td style='text-align: left;'><a href='http://snk.tuxfamily.org/lib/erbook/'>ERBook</a></td><td style='text-align: left;'>Extensible document processor based on eRuby</td><td style='text-align: left;'>Version 6.x.x is required.</td>
837
843
  </tr><tr><td style='text-align: left;'><a href='http://lynx.isc.org'>Lynx</a></td><td style='text-align: left;'>Text-mode web browser</td><td style='text-align: left;'>Version 2.8.6 or newer is required to convert HTML into plain text.</td>
838
844
  </tr></tbody></table></div>
839
845
  </div> <div class="section">
@@ -843,7 +849,7 @@
843
849
  </h2>
844
850
  <div class="content"><p>You can install <strong>Inochi</strong> by running this command:</p>
845
851
 
846
- <pre>gem install erbook inochi</pre>
852
+ <pre>gem install -f inochi</pre>
847
853
 
848
854
  <p>To check whether the installation was sucessful, run this command:</p>
849
855
 
@@ -852,12 +858,12 @@
852
858
  <p>If the installation was successful, you will see output like this:</p>
853
859
 
854
860
  <p><pre>project: Inochi
855
- version: 0.2.0
856
- release: 2009-01-25
861
+ version: 0.3.0
862
+ release: 2009-02-12
857
863
  website: http://snk.tuxfamily.org/lib/inochi
858
864
  install: /home/sun/src/inochi</pre></p>
859
865
 
860
- <p>If you do not see such output, you may <a class="xref" href="#License" title="Section 1.2. License">ask the author(s)</a> for help.</p></div>
866
+ <p>If you do not see such output, you may <a class="xref" href="#License" title="Section 1.2. &quot;License&quot;">ask the author(s)</a> for help.</p></div>
861
867
  </div> <div class="section">
862
868
  <a name="Manifest"/><div class="nav" id="Manifest"><a title="Reverse jump to listing" href="#rev:Manifest">&equiv;</a><a title="Jump to previous segment" href="#Installation">&#x25B3;</a><a title="Jump to next segment" href="#Usage">&#x25BD;</a><a title="Jump to this segment" href="#Manifest">&#x25CE;</a></div>
863
869
  <h2 class="title">
@@ -898,12 +904,18 @@ install: /home/sun/src/inochi</pre></p>
898
904
  </ul>
899
905
  </li>
900
906
 
907
+ <li>
908
+ <p><tt>lang/</tt> &#8212; translations of language phrases.</p>
909
+ </li>
910
+
901
911
  <li>
902
912
  <p><tt>LICENSE</tt> &#8212; copyright notice and legal conditions.</p>
903
913
  </li>
904
914
  </ul></div>
905
915
  </div></p></div>
906
- </div><div class="part">
916
+ </div>
917
+
918
+ <div class="part">
907
919
  <a name="Usage"/><div class="nav" id="Usage"><a title="Reverse jump to listing" href="#rev:Usage">&equiv;</a><a title="Jump to previous segment" href="#Manifest">&#x25B3;</a><a title="Jump to next segment" href="#Command-line-interface">&#x25BD;</a><a title="Jump to this segment" href="#Usage">&#x25CE;</a></div>
908
920
  <h1 class="title">
909
921
  Part&nbsp;3
@@ -926,8 +938,8 @@ install: /home/sun/src/inochi</pre></p>
926
938
  Generates a project scaffold using the given information.
927
939
 
928
940
  Existing files are backed up and NOT overwritten. It is your
929
- responsibility to merge changes between the existing files and
930
- the newly generated files. See the --merge option for details.
941
+ responsibility to merge changes (see the --merger option)
942
+ between the existing files and the newly generated files.
931
943
 
932
944
  This tool announces its progress as it runs, using these indicators:
933
945
 
@@ -935,8 +947,8 @@ This tool announces its progress as it runs, using these indicators:
935
947
 
936
948
  skip: A file is being skipped because it is already up to date.
937
949
 
938
- update: A file will be updated because it is out of date. A text
939
- merging tool (see the &quot;--merger&quot; option) will be launched to
950
+ update: A file is being updated because it is out of date. A text
951
+ merging tool (see the --merger option) will be launched to
940
952
  transfer content from the old file (*.old) and the new file
941
953
  (*.new) to the out of date file. If a text merging tool is
942
954
  not specified, then you will have to do the merging by hand.
@@ -959,11 +971,12 @@ Options:
959
971
 
960
972
  --merger, -m &lt;s&gt;: A command that invokes a text merging tool with three
961
973
  arguments: (1) old file, (2) new file, (3) output file.
962
- The command should write the result of merging the old
963
- file and the new file to the output file. The command
964
- may only modify the output file; it must NOT modify the
965
- old file or the new file.
974
+ The command should direct the result of merging the old
975
+ file and the new file to the output file. In addition,
976
+ the command *must not* modify the old file or the new
977
+ file.
966
978
  --manual, -a: Show the user manual
979
+ --locale, -l &lt;s&gt;: Set preferred language
967
980
  --version, -v: Print version and exit
968
981
  --help, -h: Show this message</pre></p>
969
982
 
@@ -971,7 +984,7 @@ Options:
971
984
  <a name="Merging-files-with-kdiff3"/><div class="nav" id="Merging-files-with-kdiff3"><a title="Reverse jump to listing" href="#rev:Merging-files-with-kdiff3">&equiv;</a><a title="Jump to previous segment" href="#Command-line-interface">&#x25B3;</a><a title="Jump to next segment" href="#Ruby-library-interface">&#x25BD;</a><a title="Jump to this segment" href="#Merging-files-with-kdiff3">&#x25CE;</a></div>
972
985
  <p class="title">Tip 1.&nbsp;&nbsp;Merging files with <strong>kdiff3</strong></p>
973
986
  <div class="content">
974
- <img class="icon" alt="tip" src="&icon_tip;"/>
987
+ <img class="icon" src="&icon_tip;" alt="tip"/>
975
988
  <p>Instead of merging files by hand, you can transfer wanted changes between files semi-automatically using <a href='http://kdiff3.sourceforge.net'>kdiff3</a>. Simply follow these instructions:</p>
976
989
 
977
990
  <ol>
@@ -1116,7 +1129,7 @@ kdiff3 --merge &quot;$old_file&quot; &quot;$new_file&quot; --output &quot;$outpu
1116
1129
  <a name="View-Rake-tasks"/><div class="nav" id="View-Rake-tasks"><a title="Reverse jump to listing" href="#rev:View-Rake-tasks">&equiv;</a><a title="Jump to previous segment" href="#Generate-your-project">&#x25B3;</a><a title="Jump to next segment" href="#Run-unit-tests">&#x25BD;</a><a title="Jump to this segment" href="#View-Rake-tasks">&#x25CE;</a></div>
1117
1130
  <p class="title">View Rake tasks</p>
1118
1131
  <div class="content"><p><pre># rake -T
1119
- (in /tmp/Inochi20090125-24483-1xmgxqy-0/word_count)
1132
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1120
1133
  rake ann # Build all release announcements.
1121
1134
  rake ann:feed # Build RSS announcement: doc/ann.xml
1122
1135
  rake ann:html # Build HTML announcement: ANN.html
@@ -1127,6 +1140,8 @@ rake clobber # Remove any generated file.
1127
1140
  rake doc # Build all documentation.
1128
1141
  rake doc:api # Build API reference.
1129
1142
  rake doc:man # Build the user manual.
1143
+ rake lang:conv # Translate extracted language phrases (from=LANGUAGE_CODE).
1144
+ rake lang:dump # Extract language phrases for translation.
1130
1145
  rake pak # Build a release.
1131
1146
  rake pub # Publish a release.
1132
1147
  rake pub:ann # Publish all announcements.
@@ -1141,19 +1156,19 @@ rake test # Run all unit tests.
1141
1156
  <a name="Run-unit-tests"/><div class="nav" id="Run-unit-tests"><a title="Reverse jump to listing" href="#rev:Run-unit-tests">&equiv;</a><a title="Jump to previous segment" href="#View-Rake-tasks">&#x25B3;</a><a title="Jump to next segment" href="#Run-project-executable">&#x25BD;</a><a title="Jump to this segment" href="#Run-unit-tests">&#x25CE;</a></div>
1142
1157
  <p class="title">Run unit tests</p>
1143
1158
  <div class="content"><p><pre># rake test
1144
- (in /tmp/Inochi20090125-24483-1xmgxqy-0/word_count)
1159
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1145
1160
  Loaded suite word_count
1146
1161
  Started
1147
1162
  .
1148
- Finished in 0.001064 seconds.
1163
+ Finished in 0.001123 seconds.
1149
1164
 
1150
- 1 tests, 23 assertions, 0 failures, 0 errors, 0 skips
1165
+ 1 tests, 25 assertions, 0 failures, 0 errors, 0 skips
1151
1166
  </pre></p></div>
1152
1167
  </div> <div class="paragraph">
1153
1168
  <a name="Run-project-executable"/><div class="nav" id="Run-project-executable"><a title="Reverse jump to listing" href="#rev:Run-project-executable">&equiv;</a><a title="Jump to previous segment" href="#Run-unit-tests">&#x25B3;</a><a title="Jump to next segment" href="#Show-user-manual">&#x25BD;</a><a title="Jump to this segment" href="#Run-project-executable">&#x25CE;</a></div>
1154
1169
  <p class="title">Run project executable</p>
1155
1170
  <div class="content"><p><pre># ruby bin/word_count
1156
- Command-line options: {:manual=&gt;false, :version=&gt;false, :help=&gt;false}
1171
+ Command-line options: {:locale=&gt;nil, :manual=&gt;false, :version=&gt;false, :help=&gt;false}
1157
1172
  Command-line arguments: []
1158
1173
  </pre></p>
1159
1174
 
@@ -1179,9 +1194,10 @@ Usage:
1179
1194
 
1180
1195
  Options:
1181
1196
 
1182
- --manual, -m: Show the user manual
1183
- --version, -v: Print version and exit
1184
- --help, -h: Show this message
1197
+ --manual, -m: Show the user manual
1198
+ --locale, -l &lt;s&gt;: Set preferred language
1199
+ --version, -v: Print version and exit
1200
+ --help, -h: Show this message
1185
1201
  </pre></p>
1186
1202
 
1187
1203
  <p>See project &amp; version information:</p>
@@ -1189,9 +1205,9 @@ Options:
1189
1205
  <p><pre># ruby bin/word_count --version
1190
1206
  project: WordCount
1191
1207
  version: 0.0.0
1192
- release: 2009-01-25
1208
+ release: 2009-02-12
1193
1209
  website: http://word_count.rubyforge.org
1194
- install: /tmp/Inochi20090125-24483-1xmgxqy-0/word_count
1210
+ install: /tmp/Inochi20090212-5946-1r29zno-0/word_count
1195
1211
  </pre></p></div>
1196
1212
  </div> <div class="paragraph">
1197
1213
  <a name="Show-user-manual"/><div class="nav" id="Show-user-manual"><a title="Reverse jump to listing" href="#rev:Show-user-manual">&equiv;</a><a title="Jump to previous segment" href="#Run-project-executable">&#x25B3;</a><a title="Jump to next segment" href="#Configure-your-project">&#x25BD;</a><a title="Jump to this segment" href="#Show-user-manual">&#x25CE;</a></div>
@@ -1211,7 +1227,7 @@ install: /tmp/Inochi20090125-24483-1xmgxqy-0/word_count
1211
1227
  <h3 class="title">
1212
1228
  3.3.3&nbsp;&nbsp;Configure your project
1213
1229
  </h3>
1214
- <div class="content"><p><a class="xref" href="#Ruby-library-interface">Section 3.2. Ruby library interface</a> lists and documents the interactions between your project and <strong>Inochi</strong>. These points of interaction are illustrated in the following sections.</p>
1230
+ <div class="content"><p><a class="xref" href="#Ruby-library-interface">Section 3.2. &#8220;Ruby library interface&#8221;</a> lists and documents the interactions between your project and <strong>Inochi</strong>. These points of interaction are illustrated in the following sections.</p>
1215
1231
 
1216
1232
  <p><div class="section">
1217
1233
  <a name="Project-information"/><div class="nav" id="Project-information"><a title="Reverse jump to listing" href="#rev:Project-information">&equiv;</a><a title="Jump to previous segment" href="#Configure-your-project">&#x25B3;</a><a title="Jump to next segment" href="#Project-executable">&#x25BD;</a><a title="Jump to this segment" href="#Project-information">&#x25CE;</a></div>
@@ -1220,7 +1236,9 @@ install: /tmp/Inochi20090125-24483-1xmgxqy-0/word_count
1220
1236
  </h4>
1221
1237
  <div class="content"><p>Open the <tt>LICENSE</tt> file, which contains the open source <a href='http://www.opensource.org/licenses/isc-license.txt'>ISC license</a> by default, and add a copyright notice with your name and (optional) email address:</p>
1222
1238
 
1223
- <p><pre>Copyright 2009 Your Name &lt;your@email.here&gt;
1239
+ <p><pre>(the ISC license)
1240
+
1241
+ Copyright 2009 Your Name &lt;your@email.here&gt;
1224
1242
 
1225
1243
  Permission to use, copy, modify, and/or distribute this software for any
1226
1244
  purpose with or without fee is hereby granted, provided that the above
@@ -1244,7 +1262,7 @@ require <span style="background-color:#fff0f0;color:#D20"><span style="color:#71
1244
1262
  <span style="color:#036;font-weight:bold">Inochi</span>.init <span style="color:#A60">:WordCount</span>,
1245
1263
  <span style="color:#A60">:project</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">WordCount</span><span style="color:#710">'</span></span>,
1246
1264
  <span style="color:#A60">:version</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">0.0.0</span><span style="color:#710">'</span></span>,
1247
- <span style="color:#A60">:release</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">2009-01-25</span><span style="color:#710">'</span></span>,
1265
+ <span style="color:#A60">:release</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">2009-02-12</span><span style="color:#710">'</span></span>,
1248
1266
  <span style="color:#A60">:website</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">http://word_count.rubyforge.org</span><span style="color:#710">'</span></span>,
1249
1267
  <span style="color:#A60">:tagline</span> =&gt; <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">TODO: put a single line description of your project here.</span><span style="color:#710">'</span></span>,
1250
1268
  <span style="color:#A60">:require</span> =&gt; {
@@ -1427,6 +1445,14 @@ require <span style="background-color:#fff0f0;color:#D20"><span style="color:#71
1427
1445
 
1428
1446
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> section <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Credits</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1429
1447
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: give attribution to your predecessors and contributors
1448
+
1449
+ **<span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%=</span> <span style="color:#d70;font-weight:bold">$project</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>** is made possible by
1450
+ <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%=</span> xref <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">History</span><span style="color:#710">&quot;</span></span>, <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">contributions</span><span style="color:#710">&quot;</span></span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1451
+ from users like you:
1452
+
1453
+ * __________ (contributor name)
1454
+ * __________ (contributor name)
1455
+ * __________ (contributor name)
1430
1456
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1431
1457
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1432
1458
  </pre></p></div>
@@ -1446,7 +1472,7 @@ require <span style="background-color:#fff0f0;color:#D20"><span style="color:#71
1446
1472
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> section <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Installation</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1447
1473
  You can install **<span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%=</span> <span style="color:#d70;font-weight:bold">$project</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>** by running this command:
1448
1474
 
1449
- gem install <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%=</span> <span style="color:#d70;font-weight:bold">$program</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1475
+ gem install -f <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%=</span> <span style="color:#d70;font-weight:bold">$program</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1450
1476
 
1451
1477
  To check whether the installation was sucessful, run this command:
1452
1478
 
@@ -1486,6 +1512,8 @@ require <span style="background-color:#fff0f0;color:#D20"><span style="color:#71
1486
1512
 
1487
1513
  * <span style="color:#070">&lt;tt&gt;</span>index.erb<span style="color:#070">&lt;/tt&gt;</span> --- source of this user manual.
1488
1514
 
1515
+ * <span style="color:#070">&lt;tt&gt;</span>lang/<span style="color:#070">&lt;/tt&gt;</span> --- translations of language phrases.
1516
+
1489
1517
  * <span style="color:#070">&lt;tt&gt;</span>LICENSE<span style="color:#070">&lt;/tt&gt;</span> --- copyright notice and legal conditions.
1490
1518
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1491
1519
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
@@ -1537,61 +1565,50 @@ require <span style="background-color:#fff0f0;color:#D20"><span style="color:#71
1537
1565
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: put release notes for your project
1538
1566
  <span style="color:#F00;background-color:#FAA">&gt;</span> here -- newest first, oldest last.
1539
1567
 
1540
- <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> section <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Version 0.0.0 (2009-01-25)</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1568
+ <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> section <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Version 0.0.0 (2009-02-12)</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1541
1569
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: write a short summary of the changes in this release
1542
1570
 
1543
1571
  This release changes __________, adds __________, and fixes __________.
1544
1572
 
1545
- <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> paragraph <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Contributor kudos</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1546
- <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: list everyone who contributed to this
1547
- <span style="color:#F00;background-color:#FAA">&gt;</span> release and what their contribution was
1548
-
1549
- * __________ contributed __________ which __________.
1550
-
1551
- * __________ fixed __________ which __________.
1552
-
1553
- * __________ added __________ which __________.
1554
- <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1555
-
1556
1573
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> paragraph <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Incompatible changes</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1557
1574
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: list all backward-incompatible changes in this release
1558
1575
 
1559
- * __________ has been __________ to __________.
1576
+ * __________ has been __________ to __________. (contributor name)
1560
1577
 
1561
- * __________.
1578
+ * __________. (contributor name)
1562
1579
 
1563
- * __________.
1580
+ * __________. (contributor name)
1564
1581
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1565
1582
 
1566
1583
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> paragraph <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">New features</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1567
1584
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: list new features added in this release
1568
1585
 
1569
- * __________.
1586
+ * __________. (contributor name)
1570
1587
 
1571
- * __________.
1588
+ * __________. (contributor name)
1572
1589
 
1573
- * __________.
1590
+ * __________. (contributor name)
1574
1591
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1575
1592
 
1576
1593
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> paragraph <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Bug fixes</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1577
1594
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: describe all bugs that are fixed in this release
1578
1595
 
1579
- * __________ was __________.
1596
+ * __________ was __________. (contributor name)
1580
1597
 
1581
- * __________ were __________.
1598
+ * __________ were __________. (contributor name)
1582
1599
 
1583
- * __________ did __________.
1600
+ * __________ did __________. (contributor name)
1584
1601
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1585
1602
 
1586
1603
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> paragraph <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">&quot;</span><span style="">Housekeeping</span><span style="color:#710">&quot;</span></span> <span style="color:#080;font-weight:bold">do</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1587
1604
  <span style="color:#F00;background-color:#FAA">&gt;</span> TODO: list the refactorings, clean ups, and other
1588
1605
  <span style="color:#F00;background-color:#FAA">&gt;</span> improvements that were done for this release
1589
1606
 
1590
- * __________.
1607
+ * __________. (contributor name)
1591
1608
 
1592
- * __________.
1609
+ * __________. (contributor name)
1593
1610
 
1594
- * __________.
1611
+ * __________. (contributor name)
1595
1612
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1596
1613
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
1597
1614
  <span style="background:#eee"><span style="font-weight:bold;color:#888">&lt;%</span> <span style="color:#080;font-weight:bold">end</span> <span style="font-weight:bold;color:#888">%&gt;</span></span>
@@ -1679,7 +1696,7 @@ puts <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">
1679
1696
  <p class="title">Units and tests</p>
1680
1697
  <div class="content"><p>Every Ruby source file in your project&#8217;s <tt>lib/</tt> directory is considered to be a <strong>unit</strong>. Likewise, every Ruby source file in your project&#8217;s <tt>test/</tt> is considered to be a <strong>test</strong>.</p>
1681
1698
 
1682
- <p>As a result, your project&#8217;s <tt>test/</tt> directory structure <em>mirrors</em> the structure of your project&#8217;s <tt>lib/</tt> directory. For example, if your project has a <tt>lib/foo/bar.rb</tt> unit, then <tt>test/foo/bar.rb</tt> would be its the corresponding test.</p></div>
1699
+ <p>As a result, your project&#8217;s <tt>test/</tt> directory structure <em>mirrors</em> the structure of your project&#8217;s <tt>lib/</tt> directory. For example, if your project has a <tt>lib/foo/bar.rb</tt> unit, then <tt>test/foo/bar.rb</tt> would be its corresponding test.</p></div>
1683
1700
  </div> <div class="paragraph">
1684
1701
  <a name="Test-execution"/><div class="nav" id="Test-execution"><a title="Reverse jump to listing" href="#rev:Test-execution">&equiv;</a><a title="Jump to previous segment" href="#Units-and-tests">&#x25B3;</a><a title="Jump to next segment" href="#Helper-libraries">&#x25BD;</a><a title="Jump to this segment" href="#Test-execution">&#x25CE;</a></div>
1685
1702
  <p class="title">Test execution</p>
@@ -1701,7 +1718,7 @@ puts <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">
1701
1718
 
1702
1719
  <ul>
1703
1720
  <li>
1704
- <p>Tests are executed by the <a href='http://rubyforge.org/projects/bfts/'>minitest</a> library, which allows you to write unit tests in a combination of styles: traditional TDD, modern BDD, alternative rSpec BDD, and mock-based validation styles.</p>
1721
+ <p>Tests are executed by the <a href='http://rubyforge.org/projects/bfts/'>minitest</a> library, which allows you to write unit tests in a combination of styles: traditional xUnit TDD, alternative rSpec BDD, and mock-based validation styles.</p>
1705
1722
  </li>
1706
1723
 
1707
1724
  <li>
@@ -1709,7 +1726,7 @@ puts <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">
1709
1726
  </li>
1710
1727
  </ul></div>
1711
1728
  </div> <div class="paragraph">
1712
- <a name="Helper-libraries"/><div class="nav" id="Helper-libraries"><a title="Reverse jump to listing" href="#rev:Helper-libraries">&equiv;</a><a title="Jump to previous segment" href="#Test-execution">&#x25B3;</a><a title="Jump to next segment" href="#Publish-your-project">&#x25BD;</a><a title="Jump to this segment" href="#Helper-libraries">&#x25CE;</a></div>
1729
+ <a name="Helper-libraries"/><div class="nav" id="Helper-libraries"><a title="Reverse jump to listing" href="#rev:Helper-libraries">&equiv;</a><a title="Jump to previous segment" href="#Test-execution">&#x25B3;</a><a title="Jump to next segment" href="#Translate-your-project">&#x25BD;</a><a title="Jump to this segment" href="#Helper-libraries">&#x25CE;</a></div>
1713
1730
  <p class="title">Helper libraries</p>
1714
1731
  <div class="content"><p>Your project&#8217;s main directory is added to Ruby&#8217;s load path. So if your tests have helper libraries stored in your project&#8217;s <tt>test/</tt> directory, you can load them into your tests by adding a &#8220;test/&#8221; prefix.</p>
1715
1732
 
@@ -1719,30 +1736,164 @@ puts <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">
1719
1736
  </pre></p></div>
1720
1737
  </div></p></div>
1721
1738
  </div> <div class="section">
1722
- <a name="Publish-your-project"/><div class="nav" id="Publish-your-project"><a title="Reverse jump to listing" href="#rev:Publish-your-project">&equiv;</a><a title="Jump to previous segment" href="#Helper-libraries">&#x25B3;</a><a title="Jump to next segment" href="#Build-a-RubyGem">&#x25BD;</a><a title="Jump to this segment" href="#Publish-your-project">&#x25CE;</a></div>
1739
+ <a name="Translate-your-project"/><div class="nav" id="Translate-your-project"><a title="Reverse jump to listing" href="#rev:Translate-your-project">&equiv;</a><a title="Jump to previous segment" href="#Helper-libraries">&#x25B3;</a><a title="Jump to next segment" href="#Language-phrases">&#x25BD;</a><a title="Jump to this segment" href="#Translate-your-project">&#x25CE;</a></div>
1723
1740
  <h3 class="title">
1724
- 3.3.6&nbsp;&nbsp;Publish your project
1741
+ 3.3.6&nbsp;&nbsp;Translate your project
1725
1742
  </h3>
1726
- <div class="content"><p>This command performs all of the automated steps described in the following sections:</p>
1743
+ <div class="content"><p>Although English is the <em>lingua franca</em> of today, your project&#8217;s users may prefer to interact with it in their native language. <strong>Inochi</strong> makes it easy to translate your project and also makes it easy for users to correct and contribute translations to your project.</p>
1744
+
1745
+ <p><div class="section">
1746
+ <a name="Language-phrases"/><div class="nav" id="Language-phrases"><a title="Reverse jump to listing" href="#rev:Language-phrases">&equiv;</a><a title="Jump to previous segment" href="#Translate-your-project">&#x25B3;</a><a title="Jump to next segment" href="#Parameterizing-language-phrases">&#x25BD;</a><a title="Jump to this segment" href="#Language-phrases">&#x25CE;</a></div>
1747
+ <h4 class="title">
1748
+ 3.3.6.1&nbsp;&nbsp;Language phrases
1749
+ </h4>
1750
+ <div class="content"><p><strong>Inochi</strong> equips your project module with a <code class="code"><span style="color:#036;font-weight:bold">PHRASES</span></code> constant (see the <a href='api/Inochi/Phrases.html'><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>::<span style="color:#036;font-weight:bold">Phrases</span></code> class</a>) which provides access to translations of language phrases used in your project.</p>
1751
+
1752
+ <p>The <a href='api/Inochi/Phrases.html#[]-instance_method'><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>::<span style="color:#036;font-weight:bold">Phrases</span><span style="color:#666">#[]</span></code> method</a> translates a given language phrase into the user&#8217;s preferred language, which is automatically inferred from their environment, but may be explictly overridden by the user via the <tt>--locale</tt> option of <a class="xref" href="#Run-project-executable" title="Paragraph. &quot;Run project executable&quot;">your project&#8217;s main executable</a>:</p>
1753
+
1754
+ <p><pre class="code">your_project::<span style="color:#036;font-weight:bold">PHRASES</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">Have a nice day!</span><span style="color:#710">'</span></span>]
1755
+ </pre></p>
1756
+
1757
+ <p>If there is no <a class="xref" href="#Translation-files" title="Section 3.3.6.2. &quot;Translation files&quot;">translation file</a> for the user&#8217;s preferred language, or it does not define a translation for a particular language phrase, then the language phrase will be used untranslated:</p>
1727
1758
 
1728
- <p><pre># rake pub</pre></p>
1759
+ <p><pre class="code">your_project::<span style="color:#036;font-weight:bold">PHRASES</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">No translation for this</span><span style="color:#710">'</span></span>]
1760
+ <span style="color:#666">#=&gt; 'No translation for this'</span>
1761
+ </pre></p>
1762
+
1763
+ <p><div class="paragraph">
1764
+ <a name="Parameterizing-language-phrases"/><div class="nav" id="Parameterizing-language-phrases"><a title="Reverse jump to listing" href="#rev:Parameterizing-language-phrases">&equiv;</a><a title="Jump to previous segment" href="#Language-phrases">&#x25B3;</a><a title="Jump to next segment" href="#Explicit-translation-into-a-language">&#x25BD;</a><a title="Jump to this segment" href="#Parameterizing-language-phrases">&#x25CE;</a></div>
1765
+ <p class="title">Parameterizing language phrases</p>
1766
+ <div class="content"><p>Language phrases can be parameterized using <a href='http://en.wikipedia.org/wiki/Printf#printf_format_placeholders'><code class="code">printf</code> format placeholders</a> to ease translation:</p>
1767
+
1768
+ <p><pre class="code">your_project::<span style="color:#036;font-weight:bold">PHRASES</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">Good afternoon, %s.</span><span style="color:#710">'</span></span>, user_name]
1769
+ your_project::<span style="color:#036;font-weight:bold">PHRASES</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">You are %d years old.</span><span style="color:#710">'</span></span>, user_age]
1770
+ </pre></p></div>
1771
+ </div> <div class="paragraph">
1772
+ <a name="Explicit-translation-into-a-language"/><div class="nav" id="Explicit-translation-into-a-language"><a title="Reverse jump to listing" href="#rev:Explicit-translation-into-a-language">&equiv;</a><a title="Jump to previous segment" href="#Parameterizing-language-phrases">&#x25B3;</a><a title="Jump to next segment" href="#Translation-files">&#x25BD;</a><a title="Jump to this segment" href="#Explicit-translation-into-a-language">&#x25CE;</a></div>
1773
+ <p class="title">Explicit translation into a language</p>
1774
+ <div class="content"><p>If a language phrase must be translated into a specific language, regardless of the user&#8217;s preference, you can invoke the respective method (whose name is the same as the <a href='http://en.wikipedia.org/wiki/ISO_639'>ISO-639 language code</a> of the language into which you wish to translate) on your <code class="code"><span style="color:#036;font-weight:bold">PHRASES</span></code> object:</p>
1775
+
1776
+ <p><pre class="code"><span style="color:#666"># explictly translate into Japanese (ja)</span>
1777
+ your_project::<span style="color:#036;font-weight:bold">PHRASES</span>.ja(<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">Goodbye %s!</span><span style="color:#710">'</span></span>, user_name)
1778
+
1779
+ <span style="color:#666"># explictly translate into French (fr)</span>
1780
+ your_project::<span style="color:#036;font-weight:bold">PHRASES</span>.fr(<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">Farewell %s!</span><span style="color:#710">'</span></span>, user_name)
1781
+ </pre></p></div>
1782
+ </div></p></div>
1783
+ </div> <div class="section">
1784
+ <a name="Translation-files"/><div class="nav" id="Translation-files"><a title="Reverse jump to listing" href="#rev:Translation-files">&equiv;</a><a title="Jump to previous segment" href="#Explicit-translation-into-a-language">&#x25B3;</a><a title="Jump to next segment" href="#Extracting-language-phrases">&#x25BD;</a><a title="Jump to this segment" href="#Translation-files">&#x25CE;</a></div>
1785
+ <h4 class="title">
1786
+ 3.3.6.2&nbsp;&nbsp;Translation files
1787
+ </h4>
1788
+ <div class="content"><p>Translation files are <a href='http://yaml.kwiki.org/?YamlInFiveMinutes'>YAML documents</a> that reside in your project&#8217;s <tt>lang/</tt> directory. They provide translations for <a class="xref" href="#Language-phrases" title="Section 3.3.6.1. &quot;Language phrases&quot;">language phrases</a> used in your project.</p>
1789
+
1790
+ <p>For example, suppose that your language phrases are written in English, the <tt>lang/es.yaml</tt> (Spanish) translation file would appear like this:</p>
1791
+
1792
+ <p><pre>#
1793
+ # (this is a comment)
1794
+ #
1795
+ # language phrase : translation
1796
+ #
1797
+ Hello %s! : ¡Hola %s!
1798
+ Money : Dinero
1799
+ Ticket : Tarjeta
1800
+ See you later %s! : ¡Hasta la vista %s!
1801
+ &quot;%s: Quickly, please!&quot; : &quot;%s: ¡Rápidamente, por favor!&quot;</pre></p>
1802
+
1803
+ <p>On each line, the original language phrase (as used in your project) appears first, then a single semicolon (:), followed by the translation.</p>
1804
+
1805
+ <p>Also, notice that if a language phrase contains a semicolon, then the entire phrase must be enclosed in quotation marks. The same rule applies to its corresponding translation.</p></div>
1806
+ </div> <div class="section">
1807
+ <a name="Extracting-language-phrases"/><div class="nav" id="Extracting-language-phrases"><a title="Reverse jump to listing" href="#rev:Extracting-language-phrases">&equiv;</a><a title="Jump to previous segment" href="#Translation-files">&#x25B3;</a><a title="Jump to next segment" href="#Dynamic-analysis">&#x25BD;</a><a title="Jump to this segment" href="#Extracting-language-phrases">&#x25CE;</a></div>
1808
+ <h4 class="title">
1809
+ 3.3.6.3&nbsp;&nbsp;Extracting language phrases
1810
+ </h4>
1811
+ <div class="content"><p><pre># rake lang:dump
1812
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1813
+ Loaded suite word_count
1814
+ Started
1815
+ .
1816
+ Finished in 0.001141 seconds.
1817
+
1818
+ 1 tests, 25 assertions, 0 failures, 0 errors, 0 skips
1819
+ Extracted 0 language phrases into &quot;lang/phrases.yaml&quot;
1820
+ </pre></p>
1821
+
1822
+ <p>The above command exercises your project&#8217;s code and extracts all <em>utilized</em> language phrases into the <tt>lang/phrases.yaml</tt> file. Continue reading to learn how this is accomplished.</p>
1823
+
1824
+ <p><div class="paragraph">
1825
+ <a name="Dynamic-analysis"/><div class="nav" id="Dynamic-analysis"><a title="Reverse jump to listing" href="#rev:Dynamic-analysis">&equiv;</a><a title="Jump to previous segment" href="#Extracting-language-phrases">&#x25B3;</a><a title="Jump to next segment" href="#Static-analysis">&#x25BD;</a><a title="Jump to this segment" href="#Dynamic-analysis">&#x25CE;</a></div>
1826
+ <p class="title">Dynamic analysis</p>
1827
+ <div class="content"><p>Because Ruby is a dynamically interpreted language, the easiest way to extract language phrases is to evaluate the code that defines them and keep track of which phrases are defined.</p>
1828
+
1829
+ <p>But how can <strong>Inochi</strong> exercise all Ruby code in your project? The answer is through <em>unit tests</em>. Because unit tests already exercise your project&#8217;s code, <strong>Inochi</strong> can use them to reach and extract all language phrases from your project.</p>
1830
+
1831
+ <p>However, note that if your unit tests <em>do not</em> exercise a part of your project that defines language phrases, then those phrases <em>will not</em> be extracted by <strong>Inochi</strong>.</p>
1832
+
1833
+ <p>This gives you extra motivation to improve the coverage of your test suite&#8212;at least to the point where all code that defines language phrases is covered.</p></div>
1834
+ </div> <div class="paragraph">
1835
+ <a name="Static-analysis"/><div class="nav" id="Static-analysis"><a title="Reverse jump to listing" href="#rev:Static-analysis">&equiv;</a><a title="Jump to previous segment" href="#Dynamic-analysis">&#x25B3;</a><a title="Jump to next segment" href="#Translating-language-phrases">&#x25BD;</a><a title="Jump to this segment" href="#Static-analysis">&#x25CE;</a></div>
1836
+ <p class="title">Static analysis</p>
1837
+ <div class="content"><p>In a future release, I plan to extract language phrases through static analysis of Ruby code. This approach will supplement the current practice of reaching language phrases through unit tests.</p>
1838
+
1839
+ <p>Patches are welcome! :-)</p></div>
1840
+ </div></p></div>
1841
+ </div> <div class="section">
1842
+ <a name="Translating-language-phrases"/><div class="nav" id="Translating-language-phrases"><a title="Reverse jump to listing" href="#rev:Translating-language-phrases">&equiv;</a><a title="Jump to previous segment" href="#Static-analysis">&#x25B3;</a><a title="Jump to next segment" href="#Publish-your-project">&#x25BD;</a><a title="Jump to this segment" href="#Translating-language-phrases">&#x25CE;</a></div>
1843
+ <h4 class="title">
1844
+ 3.3.6.4&nbsp;&nbsp;Translating language phrases
1845
+ </h4>
1846
+ <div class="content"><p>After you have extracted all language phrases from your project (either manually or via <a class="xref" href="#Extracting-language-phrases">Section 3.3.6.3. &#8220;Extracting language phrases&#8221;</a>) into the <tt>lang/phrases.yaml</tt> file, <strong>Inochi</strong> can automatically translate them into various languages using the <a href='http://babelfish.yahoo.com'>Yahoo! BabelFish translation service</a>:</p>
1847
+
1848
+ <p><pre># rake lang:conv from=LANGUAGE_CODE
1849
+ /usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/gempackagetask.rb:13:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
1850
+ rake aborted!
1851
+ The &quot;from&quot; parameter must be specified as follows:
1852
+ rake lang:conv from=it # from Italian
1853
+ rake lang:conv from=ja # from Japanese
1854
+ rake lang:conv from=de # from German
1855
+ rake lang:conv from=fr # from French
1856
+ rake lang:conv from=es # from Spanish
1857
+ rake lang:conv from=ru # from Russian
1858
+ rake lang:conv from=zh # from Chinese-simp
1859
+ rake lang:conv from=pt # from Portuguese
1860
+ rake lang:conv from=ko # from Korean
1861
+ rake lang:conv from=zt # from Chinese-trad
1862
+ rake lang:conv from=el # from Greek
1863
+ rake lang:conv from=nl # from Dutch
1864
+ rake lang:conv from=en # from English
1865
+
1866
+ (See full trace by running task with --trace)
1867
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1868
+ </pre></p>
1869
+
1870
+ <p>Notice that you must specify the language in which your phrases are written, via the <tt>from=</tt> parameter. <strong>Inochi</strong> cannot determine this automatically.</p></div>
1871
+ </div></p></div>
1872
+ </div> <div class="section">
1873
+ <a name="Publish-your-project"/><div class="nav" id="Publish-your-project"><a title="Reverse jump to listing" href="#rev:Publish-your-project">&equiv;</a><a title="Jump to previous segment" href="#Translating-language-phrases">&#x25B3;</a><a title="Jump to next segment" href="#Build-a-RubyGem">&#x25BD;</a><a title="Jump to this segment" href="#Publish-your-project">&#x25CE;</a></div>
1874
+ <h3 class="title">
1875
+ 3.3.7&nbsp;&nbsp;Publish your project
1876
+ </h3>
1877
+ <div class="content"><p><pre># rake pub</pre></p>
1878
+
1879
+ <p>The above command performs all automated steps described in the following sections.</p>
1729
1880
 
1730
1881
  <p><div class="section">
1731
1882
  <a name="Build-a-RubyGem"/><div class="nav" id="Build-a-RubyGem"><a title="Reverse jump to listing" href="#rev:Build-a-RubyGem">&equiv;</a><a title="Jump to previous segment" href="#Publish-your-project">&#x25B3;</a><a title="Jump to next segment" href="#Publish-a-RubyGem">&#x25BD;</a><a title="Jump to this segment" href="#Build-a-RubyGem">&#x25CE;</a></div>
1732
1883
  <h4 class="title">
1733
- 3.3.6.1&nbsp;&nbsp;Build a RubyGem
1884
+ 3.3.7.1&nbsp;&nbsp;Build a RubyGem
1734
1885
  </h4>
1735
1886
  <div class="content"><p>Build a RubyGem by running:</p>
1736
1887
 
1737
1888
  <p><pre># rake pak
1738
- (in /tmp/Inochi20090125-24483-1xmgxqy-0/word_count)
1739
- (in /tmp/Inochi20090125-24483-1xmgxqy-0/word_count)
1889
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1890
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1740
1891
  Loaded suite word_count
1741
1892
  Started
1742
1893
  .
1743
- Finished in 0.001073 seconds.
1894
+ Finished in 0.001130 seconds.
1744
1895
 
1745
- 1 tests, 23 assertions, 0 failures, 0 errors, 0 skips
1896
+ 1 tests, 25 assertions, 0 failures, 0 errors, 0 skips
1746
1897
  Successfully built RubyGem
1747
1898
  Name: word_count
1748
1899
  Version: 0.0.0
@@ -1763,7 +1914,7 @@ Finished in 0.001073 seconds.
1763
1914
  <span style="color:#808">bindir</span>: <span style="background-color:#fff0f0;color:#D20">bin</span>
1764
1915
  <span style="color:#808">cert_chain</span>: <span style="background-color:#fff0f0;color:#D20">[]</span>
1765
1916
 
1766
- <span style="color:#808">date</span>: <span style="background-color:#fff0f0;color:#D20">2009-01-25 00:00:00 -08:00</span>
1917
+ <span style="color:#808">date</span>: <span style="background-color:#fff0f0;color:#D20">2009-02-12 00:00:00 -08:00</span>
1767
1918
  <span style="color:#808">default_executable</span>:
1768
1919
  <span style="color:#808">dependencies</span>:
1769
1920
  - <span style="color:#339;font-weight:bold">!ruby/object</span>:<span style="color:#B06;font-weight:bold">Gem::Dependency</span>
@@ -1810,6 +1961,8 @@ Finished in 0.001073 seconds.
1810
1961
  - <span style="background-color:#fff0f0;color:#D20">doc/api/jquery.js</span>
1811
1962
  - <span style="background-color:#fff0f0;color:#D20">doc/api/all-namespaces.html</span>
1812
1963
  - <span style="background-color:#fff0f0;color:#D20">doc/theory.erb</span>
1964
+ - <span style="background-color:#fff0f0;color:#D20">lang</span>
1965
+ - <span style="background-color:#fff0f0;color:#D20">lang/phrases.yaml</span>
1813
1966
  <span style="color:#808">has_rdoc</span>: <span style="background-color:#fff0f0;color:#D20">true</span>
1814
1967
  <span style="color:#808">homepage</span>: <span style="background-color:#fff0f0;color:#D20">http://word_count.rubyforge.org</span>
1815
1968
  <span style="color:#808">post_install_message</span>:
@@ -1840,7 +1993,7 @@ Finished in 0.001073 seconds.
1840
1993
  </div> <div class="section">
1841
1994
  <a name="Publish-a-RubyGem"/><div class="nav" id="Publish-a-RubyGem"><a title="Reverse jump to listing" href="#rev:Publish-a-RubyGem">&equiv;</a><a title="Jump to previous segment" href="#Build-a-RubyGem">&#x25B3;</a><a title="Jump to next segment" href="#Announce-a-release">&#x25BD;</a><a title="Jump to this segment" href="#Publish-a-RubyGem">&#x25CE;</a></div>
1842
1995
  <h4 class="title">
1843
- 3.3.6.2&nbsp;&nbsp;Publish a RubyGem
1996
+ 3.3.7.2&nbsp;&nbsp;Publish a RubyGem
1844
1997
  </h4>
1845
1998
  <div class="content"><p>You must first register your project on <a href='http://rubyforge.org'>RubyForge</a> before you can publish a RubyGem. If your RubyForge project name is different from your actual project name, then you should pass the <code class="code"><span style="color:#A60">:rubyforge_project</span></code> and <code class="code"><span style="color:#A60">:rubyforge_section</span></code> options to the <a href='api/Inochi.html#rake-class_method'><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.rake()</code> method</a>).</p>
1846
1999
 
@@ -1850,9 +2003,9 @@ Finished in 0.001073 seconds.
1850
2003
  </div> <div class="section">
1851
2004
  <a name="Announce-a-release"/><div class="nav" id="Announce-a-release"><a title="Reverse jump to listing" href="#rev:Announce-a-release">&equiv;</a><a title="Jump to previous segment" href="#Publish-a-RubyGem">&#x25B3;</a><a title="Jump to next segment" href="#Login-information">&#x25BD;</a><a title="Jump to this segment" href="#Announce-a-release">&#x25CE;</a></div>
1852
2005
  <h4 class="title">
1853
- 3.3.6.3&nbsp;&nbsp;Announce a release
2006
+ 3.3.7.3&nbsp;&nbsp;Announce a release
1854
2007
  </h4>
1855
- <div class="content"><p>You must first provide your <a class="xref" href="#Login-information">Paragraph. Login information</a> to <strong>Inochi</strong>. If you do not want to do this, then see <a class="xref" href="#Manual-release-announcement">Section 3.3.6.3.1. Manual release announcement</a>.</p>
2008
+ <div class="content"><p>You must first provide your <a class="xref" href="#Login-information">Paragraph. &#8220;Login information&#8221;</a> to <strong>Inochi</strong>. If you do not want to do this, then see <a class="xref" href="#Manual-release-announcement">Section 3.3.7.3.1. &#8220;Manual release announcement&#8221;</a>.</p>
1856
2009
 
1857
2010
  <p>Announce a release by running:</p>
1858
2011
 
@@ -1863,7 +2016,7 @@ Finished in 0.001073 seconds.
1863
2016
  <p class="title">Login information</p>
1864
2017
  <div class="content"><p>In order to automate the announcement of releases, <strong>Inochi</strong> needs to know your login information for the <a href='http://raa.ruby-lang.org'>RAA (Ruby Application Archive)</a> and <a href='http://www.ruby-forum.com/forum/4'>RubyForum</a>, which serves as a gateway to the <a href='http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/'>ruby-talk mailing list</a>.</p>
1865
2018
 
1866
- <p>This information is expected to be stored in a <tt>~/.config/inochi/logins.yaml</tt> file (this location can be overridden by passing the <code class="code"><span style="color:#A60">:logins_file</span></code> option to the <a href='api/Inochi.html#rake-class_method'><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.rake()</code> method</a>), where <tt>~</tt> denotes the path to your home directory. This file is a <a href='http://www.yaml.org'>YAML</a> document containing the following parameters:</p>
2019
+ <p>This information is expected to be stored in a <tt>~/.config/inochi/logins.yaml</tt> file (this location can be overridden by passing the <code class="code"><span style="color:#A60">:logins_file</span></code> option to the <a href='api/Inochi.html#rake-class_method'><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.rake()</code> method</a>), where <tt>~</tt> denotes the path to your home directory. This file is a <a href='http://yaml.kwiki.org/?YamlInFiveMinutes'>YAML document</a> containing the following parameters:</p>
1867
2020
 
1868
2021
  <p><pre class="code" lang="yaml"><span style="color:#F00;background-color:#FAA">www.ruby-forum.com</span>:
1869
2022
  <span style="color:#808">user</span>: <span style="background-color:#fff0f0;color:#D20">YOUR_USERNAME_HERE</span>
@@ -1879,12 +2032,12 @@ Finished in 0.001073 seconds.
1879
2032
  </div> <div class="section">
1880
2033
  <a name="Manual-release-announcement"/><div class="nav" id="Manual-release-announcement"><a title="Reverse jump to listing" href="#rev:Manual-release-announcement">&equiv;</a><a title="Jump to previous segment" href="#Login-information">&#x25B3;</a><a title="Jump to next segment" href="#Publish-the-documentation">&#x25BD;</a><a title="Jump to this segment" href="#Manual-release-announcement">&#x25CE;</a></div>
1881
2034
  <h5 class="title">
1882
- 3.3.6.3.1&nbsp;&nbsp;Manual release announcement
2035
+ 3.3.7.3.1&nbsp;&nbsp;Manual release announcement
1883
2036
  </h5>
1884
2037
  <div class="content"><p>Build release announcements by running:</p>
1885
2038
 
1886
2039
  <p><pre># rake ann
1887
- (in /tmp/Inochi20090125-24483-1xmgxqy-0/word_count)
2040
+ (in /tmp/Inochi20090212-5946-1r29zno-0/word_count)
1888
2041
  </pre></p>
1889
2042
 
1890
2043
  <p>This produces the following files in your project directory:</p>
@@ -1900,9 +2053,9 @@ Finished in 0.001073 seconds.
1900
2053
  <p>Now you can manually announce your release using these files.</p></div>
1901
2054
  </div></p></div>
1902
2055
  </div> <div class="section">
1903
- <a name="Publish-the-documentation"/><div class="nav" id="Publish-the-documentation"><a title="Reverse jump to listing" href="#rev:Publish-the-documentation">&equiv;</a><a title="Jump to previous segment" href="#Manual-release-announcement">&#x25B3;</a><a title="Jump to next segment" href="#history">&#x25BD;</a><a title="Jump to this segment" href="#Publish-the-documentation">&#x25CE;</a></div>
2056
+ <a name="Publish-the-documentation"/><div class="nav" id="Publish-the-documentation"><a title="Reverse jump to listing" href="#rev:Publish-the-documentation">&equiv;</a><a title="Jump to previous segment" href="#Manual-release-announcement">&#x25B3;</a><a title="Jump to next segment" href="#History">&#x25BD;</a><a title="Jump to this segment" href="#Publish-the-documentation">&#x25CE;</a></div>
1904
2057
  <h4 class="title">
1905
- 3.3.6.4&nbsp;&nbsp;Publish the documentation
2058
+ 3.3.7.4&nbsp;&nbsp;Publish the documentation
1906
2059
  </h4>
1907
2060
  <div class="content"><p>Publish the user manual and API documentation by running:</p>
1908
2061
 
@@ -1913,66 +2066,134 @@ Finished in 0.001073 seconds.
1913
2066
  </div></p></div>
1914
2067
  </div></p></div>
1915
2068
  </div><div class="chapter">
1916
- <a name="history"/><div class="nav" id="history"><a title="Reverse jump to listing" href="#rev:history">&equiv;</a><a title="Jump to previous segment" href="#Publish-the-documentation">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.2.0-2009-01-25">&#x25BD;</a><a title="Jump to this segment" href="#history">&#x25CE;</a></div>
2069
+ <a name="History"/><div class="nav" id="History"><a title="Reverse jump to listing" href="#rev:History">&equiv;</a><a title="Jump to previous segment" href="#Publish-the-documentation">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.3.0-2009-02-12">&#x25BD;</a><a title="Jump to this segment" href="#History">&#x25CE;</a></div>
1917
2070
  <h1 class="title">
1918
2071
  Chapter&nbsp;4
1919
2072
  <br/>
1920
2073
  <big>History</big>
1921
2074
  </h1>
1922
2075
  <div class="content"><p><p><div class="section">
1923
- <a name="Version-0.2.0-2009-01-25"/><div class="nav" id="Version-0.2.0-2009-01-25"><a title="Reverse jump to listing" href="#rev:Version-0.2.0-2009-01-25">&equiv;</a><a title="Jump to previous segment" href="#history">&#x25B3;</a><a title="Jump to next segment" href="#Contributor-kudos">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.2.0-2009-01-25">&#x25CE;</a></div>
2076
+ <a name="Version-0.3.0-2009-02-12"/><div class="nav" id="Version-0.3.0-2009-02-12"><a title="Reverse jump to listing" href="#rev:Version-0.3.0-2009-02-12">&equiv;</a><a title="Jump to previous segment" href="#History">&#x25B3;</a><a title="Jump to next segment" href="#New-features">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.3.0-2009-02-12">&#x25CE;</a></div>
1924
2077
  <h2 class="title">
1925
- 4.1&nbsp;&nbsp;Version 0.2.0 (2009-01-25)
2078
+ 4.1&nbsp;&nbsp;Version 0.3.0 (2009-02-12)
1926
2079
  </h2>
1927
- <div class="content"><p>This release adds support for unit testing, improves the portability of <strong>Inochi</strong> and configurability of your projects, adds new content to the user manual, and fixes some bugs.</p>
2080
+ <div class="content"><p>This release adds support for <a class="xref" href="#Translate-your-project" title="Section 3.3.6. &quot;Translate your project&quot;">language translations / internationalization / multilingualization</a>, improves the user interface, and fixes a show-stopper bug for Windows users.</p>
1928
2081
 
1929
2082
  <p><div class="paragraph">
1930
- <a name="Contributor-kudos"/><div class="nav" id="Contributor-kudos"><a title="Reverse jump to listing" href="#rev:Contributor-kudos">&equiv;</a><a title="Jump to previous segment" href="#Version-0.2.0-2009-01-25">&#x25B3;</a><a title="Jump to next segment" href="#New-features">&#x25BD;</a><a title="Jump to this segment" href="#Contributor-kudos">&#x25CE;</a></div>
1931
- <p class="title">Contributor kudos</p>
1932
- <div class="content"><p>Florian Gilcher patched <strong>Inochi</strong> to:</p>
2083
+ <a name="New-features"/><div class="nav" id="New-features"><a title="Reverse jump to listing" href="#rev:New-features">&equiv;</a><a title="Jump to previous segment" href="#Version-0.3.0-2009-02-12">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes">&#x25BD;</a><a title="Jump to this segment" href="#New-features">&#x25CE;</a></div>
2084
+ <p class="title">New features</p>
2085
+ <div class="content"><ul>
2086
+ <li>
2087
+ <p>Add support for <a class="xref" href="#Translate-your-project" title="Section 3.3.6. &quot;Translate your project&quot;">language translations</a> of phrases used in a project.</p>
1933
2088
 
1934
2089
  <ul>
1935
2090
  <li>
1936
- <p>Run on both JRuby and normal Ruby in multiple versions and with different executable names on Windows.</p>
2091
+ <p>Add &#8220;lang:dump&#8221; Rake task for extracting language phrases from project.</p>
1937
2092
  </li>
1938
2093
 
1939
2094
  <li>
1940
- <p>Allow project authors to be specified by hand instead of always relying on the license file to be in expected form, because his license template doesn&#8217;t follow that form.</p>
2095
+ <p>Add &#8220;lang:conv&#8221; Rake task for translating dumped phrases into various languages using the BabelFish translation service.</p>
2096
+ </li>
2097
+
2098
+ <li>
2099
+ <p>Add <tt>--locale</tt> option to a project&#8217;s main executable for setting user&#8217;s preferred language in spite of the user&#8217;s locale environment.</p>
2100
+ </li>
2101
+ </ul>
2102
+ </li>
2103
+
2104
+ <li>
2105
+ <p>Notify user when attempting to publish announcements in the &#8220;pub&#8221; Rake tasks.</p>
1941
2106
  </li>
1942
2107
  </ul></div>
1943
2108
  </div> <div class="paragraph">
1944
- <a name="New-features"/><div class="nav" id="New-features"><a title="Reverse jump to listing" href="#rev:New-features">&equiv;</a><a title="Jump to previous segment" href="#Contributor-kudos">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes">&#x25BD;</a><a title="Jump to this segment" href="#New-features">&#x25CE;</a></div>
2109
+ <a name="Bug-fixes"/><div class="nav" id="Bug-fixes"><a title="Reverse jump to listing" href="#rev:Bug-fixes">&equiv;</a><a title="Jump to previous segment" href="#New-features">&#x25B3;</a><a title="Jump to next segment" href="#Housekeeping">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes">&#x25CE;</a></div>
2110
+ <p class="title">Bug fixes</p>
2111
+ <div class="content"><ul>
2112
+ <li>
2113
+ <p>In Windows, <code class="code"><span style="color:#036;font-weight:bold">ENV</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">USERPROFILE</span><span style="color:#710">'</span></span>]</code> gives the path to the user&#8217;s home directory and <code class="code"><span style="color:#036;font-weight:bold">ENV</span>[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">HOME</span><span style="color:#710">'</span></span>]</code> is not defined.</p>
2114
+ </li>
2115
+
2116
+ <li>
2117
+ <p>The only real solution to the circular gem dependency problem is:</p>
2118
+
2119
+ <pre>gem install --force</pre>
2120
+
2121
+ <p>You should update <a class="xref" href="#Setup">Chapter 2. &#8220;Setup&#8221;</a> in your projects&#8217; user manuals accordingly.</p>
2122
+ </li>
2123
+ </ul></div>
2124
+ </div> <div class="paragraph">
2125
+ <a name="Housekeeping"/><div class="nav" id="Housekeeping"><a title="Reverse jump to listing" href="#rev:Housekeeping">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.2.0-2009-01-25">&#x25BD;</a><a title="Jump to this segment" href="#Housekeeping">&#x25CE;</a></div>
2126
+ <p class="title">Housekeeping</p>
2127
+ <div class="content"><ul>
2128
+ <li>
2129
+ <p>Break the huge <tt>lib/inochi/inochi.rb</tt> library into smaller files.</p>
2130
+ </li>
2131
+
2132
+ <li>
2133
+ <p>Instead of adding methods to singleton classes directly, define modules and extend to them so that YARDoc documents the methods appropriately.</p>
2134
+ </li>
2135
+
2136
+ <li>
2137
+ <p>List all project contributors globally in the &#8220;Credits&#8221; section.</p>
2138
+ </li>
2139
+
2140
+ <li>
2141
+ <p>Remove &#8220;Contributor kudos&#8221; paragraph in release notes in favor of crediting contributors inline with each item in the release notes.</p>
2142
+ </li>
2143
+
2144
+ <li>
2145
+ <p>Mention that the project license is ISC for the reader&#8217;s convenience.</p>
2146
+ </li>
2147
+ </ul></div>
2148
+ </div></p></div>
2149
+ </div> <div class="section">
2150
+ <a name="Version-0.2.0-2009-01-25"/><div class="nav" id="Version-0.2.0-2009-01-25"><a title="Reverse jump to listing" href="#rev:Version-0.2.0-2009-01-25">&equiv;</a><a title="Jump to previous segment" href="#Housekeeping">&#x25B3;</a><a title="Jump to next segment" href="#New-features-608879778">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.2.0-2009-01-25">&#x25CE;</a></div>
2151
+ <h2 class="title">
2152
+ 4.1&nbsp;&nbsp;Version 0.2.0 (2009-01-25)
2153
+ </h2>
2154
+ <div class="content"><p>This release adds support for unit testing, improves the portability of <strong>Inochi</strong> and configurability of your projects, adds new content to the user manual, and fixes some bugs.</p>
2155
+
2156
+ <p><div class="paragraph">
2157
+ <a name="New-features-608879778"/><div class="nav" id="New-features-608879778"><a title="Reverse jump to listing" href="#rev:New-features-608879778">&equiv;</a><a title="Jump to previous segment" href="#Version-0.2.0-2009-01-25">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes-608927278">&#x25BD;</a><a title="Jump to this segment" href="#New-features-608879778">&#x25CE;</a></div>
1945
2158
  <p class="title">New features</p>
1946
2159
  <div class="content"><ul>
1947
2160
  <li>
1948
- <p>Added support for unit testing via the <a href='http://rubyforge.org/projects/bfts/'>minitest</a> library. See <a class="xref" href="#Test-your-project">Section 3.3.5. Test your project</a> for documentation.</p>
2161
+ <p>Added <a class="xref" href="#Test-your-project" title="Section 3.3.5. &quot;Test your project&quot;">support for unit testing</a> via the <a href='http://rubyforge.org/projects/bfts/'>minitest</a> library.</p>
1949
2162
 
1950
- <p>Also, in related news, the scaffold generator now emits a default unit test for the main project library.</p>
2163
+ <ul>
2164
+ <li>The scaffold generator now emits a default unit test for the main project library.</li>
2165
+ </ul>
1951
2166
  </li>
1952
2167
 
1953
2168
  <li>
1954
2169
  <p>Added optional ProgramName parameter to the scaffold generator. This allows you to specify reasonable program names when your project module has a strange capitalization:</p>
1955
2170
 
1956
- <pre>&gt; inochi ERBook
2171
+ <pre># inochi ERBook
1957
2172
  create er_book/LICENSE
1958
2173
 
1959
- &gt; inochi ERBook erbook
2174
+ # inochi ERBook erbook
1960
2175
  create erbook/LICENSE
1961
2176
 
1962
- &gt; inochi ERBook foobar
2177
+ # inochi ERBook foobar
1963
2178
  create foobar/LICENSE</pre>
1964
2179
  </li>
1965
2180
 
1966
2181
  <li>
1967
2182
  <p>Allow project authors to be specified via</p>
1968
2183
 
1969
- <p><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.init <span style="color:#A60">:YourProject</span>, <span style="color:#A60">:authors</span> =&gt; ...</code></p>
2184
+ <p><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.init <span style="color:#A60">:YourProject</span>, <span style="color:#A60">:authors</span> =&gt; [[<span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">name</span><span style="color:#710">'</span></span>, <span style="background-color:#fff0f0;color:#D20"><span style="color:#710">'</span><span style="">mail</span><span style="color:#710">'</span></span>]]</code></p>
2185
+
2186
+ <p>(Florian Gilcher)</p>
1970
2187
  </li>
1971
2188
  </ul></div>
1972
2189
  </div> <div class="paragraph">
1973
- <a name="Bug-fixes"/><div class="nav" id="Bug-fixes"><a title="Reverse jump to listing" href="#rev:Bug-fixes">&equiv;</a><a title="Jump to previous segment" href="#New-features">&#x25B3;</a><a title="Jump to next segment" href="#Housekeeping">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes">&#x25CE;</a></div>
2190
+ <a name="Bug-fixes-608927278"/><div class="nav" id="Bug-fixes-608927278"><a title="Reverse jump to listing" href="#rev:Bug-fixes-608927278">&equiv;</a><a title="Jump to previous segment" href="#New-features-608879778">&#x25B3;</a><a title="Jump to next segment" href="#Housekeeping-608956548">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes-608927278">&#x25CE;</a></div>
1974
2191
  <p class="title">Bug fixes</p>
1975
2192
  <div class="content"><ul>
2193
+ <li>
2194
+ <p>Run on both JRuby and normal Ruby in multiple versions and with different executable names on Windows. (Florian Gilcher)</p>
2195
+ </li>
2196
+
1976
2197
  <li>
1977
2198
  <p>Use <code class="code"><span style="color:#036;font-weight:bold">Gem</span>::<span style="color:#036;font-weight:bold">RubyGemsVersion</span></code> instead of a shell command to determine rubygems version for generation of <tt>setup.erb</tt>. (Florian Gilcher)</p>
1978
2199
  </li>
@@ -1986,33 +2207,33 @@ Finished in 0.001073 seconds.
1986
2207
  </li>
1987
2208
  </ul></div>
1988
2209
  </div> <div class="paragraph">
1989
- <a name="Housekeeping"/><div class="nav" id="Housekeeping"><a title="Reverse jump to listing" href="#rev:Housekeeping">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.1.0-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Housekeeping">&#x25CE;</a></div>
2210
+ <a name="Housekeeping-608956548"/><div class="nav" id="Housekeeping-608956548"><a title="Reverse jump to listing" href="#rev:Housekeeping-608956548">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes-608927278">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.1.0-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Housekeeping-608956548">&#x25CE;</a></div>
1990
2211
  <p class="title">Housekeeping</p>
1991
2212
  <div class="content"><ul>
1992
2213
  <li>Added unit tests for utility methods provided by the <strong>Inochi</strong> module: project name calculation and CamelCase to snake_case conversion.</li>
1993
2214
  </ul></div>
1994
2215
  </div></p></div>
1995
2216
  </div> <div class="section">
1996
- <a name="Version-0.1.0-2009-01-13"/><div class="nav" id="Version-0.1.0-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.1.0-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Housekeeping">&#x25B3;</a><a title="Jump to next segment" href="#New-features-608879868">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.1.0-2009-01-13">&#x25CE;</a></div>
2217
+ <a name="Version-0.1.0-2009-01-13"/><div class="nav" id="Version-0.1.0-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.1.0-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Housekeeping-608956548">&#x25B3;</a><a title="Jump to next segment" href="#New-features-609008278">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.1.0-2009-01-13">&#x25CE;</a></div>
1997
2218
  <h2 class="title">
1998
2219
  4.1&nbsp;&nbsp;Version 0.1.0 (2009-01-13)
1999
2220
  </h2>
2000
2221
  <div class="content"><p>This release reattempts to fix the <a href='http://www.ruby-forum.com/topic/176173#771281'>circular dependency problem</a> that occurred when installing either <strong>Inochi</strong> or <strong>ERBook</strong>.</p>
2001
2222
 
2002
2223
  <p><div class="paragraph">
2003
- <a name="New-features-608879868"/><div class="nav" id="New-features-608879868"><a title="Reverse jump to listing" href="#rev:New-features-608879868">&equiv;</a><a title="Jump to previous segment" href="#Version-0.1.0-2009-01-13">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes-608886358">&#x25BD;</a><a title="Jump to this segment" href="#New-features-608879868">&#x25CE;</a></div>
2224
+ <a name="New-features-609008278"/><div class="nav" id="New-features-609008278"><a title="Reverse jump to listing" href="#rev:New-features-609008278">&equiv;</a><a title="Jump to previous segment" href="#Version-0.1.0-2009-01-13">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes-609028008">&#x25BD;</a><a title="Jump to this segment" href="#New-features-609008278">&#x25CE;</a></div>
2004
2225
  <p class="title">New features</p>
2005
2226
  <div class="content"><ul>
2006
- <li><code class="code">**<span style="color:#036;font-weight:bold">Inochi</span>**.init()</code> now adds <code class="code"><span style="color:#666">#major()</span></code>, <code class="code"><span style="color:#666">#series()</span></code>, and <code class="code"><span style="color:#666">#requirement()</span></code> instance methods to a project&#8217;s <code class="code"><span style="color:#036;font-weight:bold">VERSION</span></code> constant.</li>
2227
+ <li><code class="code"><span style="color:#036;font-weight:bold">Inochi</span>.init()</code> now adds <code class="code"><span style="color:#666">#major()</span></code>, <code class="code"><span style="color:#666">#series()</span></code>, and <code class="code"><span style="color:#666">#requirement()</span></code> instance methods to a project&#8217;s <code class="code"><span style="color:#036;font-weight:bold">VERSION</span></code> constant.</li>
2007
2228
  </ul></div>
2008
2229
  </div> <div class="paragraph">
2009
- <a name="Bug-fixes-608886358"/><div class="nav" id="Bug-fixes-608886358"><a title="Reverse jump to listing" href="#rev:Bug-fixes-608886358">&equiv;</a><a title="Jump to previous segment" href="#New-features-608879868">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.0.1-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes-608886358">&#x25CE;</a></div>
2230
+ <a name="Bug-fixes-609028008"/><div class="nav" id="Bug-fixes-609028008"><a title="Reverse jump to listing" href="#rev:Bug-fixes-609028008">&equiv;</a><a title="Jump to previous segment" href="#New-features-609008278">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.0.1-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes-609028008">&#x25CE;</a></div>
2010
2231
  <p class="title">Bug fixes</p>
2011
2232
  <div class="content"><ul>
2012
2233
  <li>
2013
2234
  <p>Solved circular dependency problem by making inochi gem not dependent on erbook gem. However, ERBook is still required during runtime and is supplied on the <code class="code">gem install</code> command for <strong>Inochi</strong>.</p>
2014
2235
 
2015
- <p><a class="xref" href="#Installation">Section 2.2. Installation</a> has been updated accordingly.</p>
2236
+ <p><a class="xref" href="#Installation">Section 2.2. &#8220;Installation&#8221;</a> has been updated accordingly.</p>
2016
2237
  </li>
2017
2238
 
2018
2239
  <li>
@@ -2021,30 +2242,24 @@ Finished in 0.001073 seconds.
2021
2242
  </ul></div>
2022
2243
  </div></p></div>
2023
2244
  </div> <div class="section">
2024
- <a name="Version-0.0.1-2009-01-13"/><div class="nav" id="Version-0.0.1-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.0.1-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes-608886358">&#x25B3;</a><a title="Jump to next segment" href="#Contributor-kudos-608900438">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.0.1-2009-01-13">&#x25CE;</a></div>
2245
+ <a name="Version-0.0.1-2009-01-13"/><div class="nav" id="Version-0.0.1-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.0.1-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes-609028008">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes-609075888">&#x25BD;</a><a title="Jump to this segment" href="#Version-0.0.1-2009-01-13">&#x25CE;</a></div>
2025
2246
  <h2 class="title">
2026
2247
  4.1&nbsp;&nbsp;Version 0.0.1 (2009-01-13)
2027
2248
  </h2>
2028
2249
  <div class="content"><p>This release fixes some show-stopper bugs.</p>
2029
2250
 
2030
2251
  <p><div class="paragraph">
2031
- <a name="Contributor-kudos-608900438"/><div class="nav" id="Contributor-kudos-608900438"><a title="Reverse jump to listing" href="#rev:Contributor-kudos-608900438">&equiv;</a><a title="Jump to previous segment" href="#Version-0.0.1-2009-01-13">&#x25B3;</a><a title="Jump to next segment" href="#Bug-fixes-608905168">&#x25BD;</a><a title="Jump to this segment" href="#Contributor-kudos-608900438">&#x25CE;</a></div>
2032
- <p class="title">Contributor kudos</p>
2033
- <div class="content"><ul>
2034
- <li>Florian Gilcher tried the first release of <strong>Inochi</strong> and reported bugs.</li>
2035
- </ul></div>
2036
- </div> <div class="paragraph">
2037
- <a name="Bug-fixes-608905168"/><div class="nav" id="Bug-fixes-608905168"><a title="Reverse jump to listing" href="#rev:Bug-fixes-608905168">&equiv;</a><a title="Jump to previous segment" href="#Contributor-kudos-608900438">&#x25B3;</a><a title="Jump to next segment" href="#Housekeeping-608918928">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes-608905168">&#x25CE;</a></div>
2252
+ <a name="Bug-fixes-609075888"/><div class="nav" id="Bug-fixes-609075888"><a title="Reverse jump to listing" href="#rev:Bug-fixes-609075888">&equiv;</a><a title="Jump to previous segment" href="#Version-0.0.1-2009-01-13">&#x25B3;</a><a title="Jump to next segment" href="#Housekeeping-609091378">&#x25BD;</a><a title="Jump to this segment" href="#Bug-fixes-609075888">&#x25CE;</a></div>
2038
2253
  <p class="title">Bug fixes</p>
2039
2254
  <div class="content"><ul>
2040
2255
  <li>
2041
- <p>Florian Gilcher reported that the name of the project library was <a href='http://www.ruby-forum.com/topic/176173#771351'>being determined incorrectly</a>.</p>
2256
+ <p>The name of the project library was <a href='http://www.ruby-forum.com/topic/176173#771351'>being determined incorrectly</a>. (Florian Gilcher)</p>
2042
2257
  </li>
2043
2258
 
2044
2259
  <li>
2045
- <p>Florian Gilcher reported that there was a <a href='http://www.ruby-forum.com/topic/176173#771281'>circular dependency problem</a> when installing the <strong>Inochi</strong> gem.</p>
2260
+ <p>There was a <a href='http://www.ruby-forum.com/topic/176173#771281'>circular dependency problem</a> when installing the <strong>Inochi</strong> gem. (Florian Gilcher)</p>
2046
2261
 
2047
- <p>The solution is to specify the <tt>--force</tt> option when installing the gem. <a class="xref" href="#Installation">Section 2.2. Installation</a> has been updated accordingly.</p>
2262
+ <p>The solution is to specify the <tt>--force</tt> option when installing the gem. <a class="xref" href="#Installation">Section 2.2. &#8220;Installation&#8221;</a> has been updated accordingly.</p>
2048
2263
  </li>
2049
2264
 
2050
2265
  <li>
@@ -2052,14 +2267,14 @@ Finished in 0.001073 seconds.
2052
2267
  </li>
2053
2268
  </ul></div>
2054
2269
  </div> <div class="paragraph">
2055
- <a name="Housekeeping-608918928"/><div class="nav" id="Housekeeping-608918928"><a title="Reverse jump to listing" href="#rev:Housekeeping-608918928">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes-608905168">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.0.0-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Housekeeping-608918928">&#x25CE;</a></div>
2270
+ <a name="Housekeeping-609091378"/><div class="nav" id="Housekeeping-609091378"><a title="Reverse jump to listing" href="#rev:Housekeeping-609091378">&equiv;</a><a title="Jump to previous segment" href="#Bug-fixes-609075888">&#x25B3;</a><a title="Jump to next segment" href="#Version-0.0.0-2009-01-13">&#x25BD;</a><a title="Jump to this segment" href="#Housekeeping-609091378">&#x25CE;</a></div>
2056
2271
  <p class="title">Housekeeping</p>
2057
2272
  <div class="content"><ul>
2058
2273
  <li>Only add project libraries to <code class="code"><span style="color:#d70;font-weight:bold">$LOAD_PATH</span></code> if not already there.</li>
2059
2274
  </ul></div>
2060
2275
  </div></p></div>
2061
2276
  </div> <div class="section">
2062
- <a name="Version-0.0.0-2009-01-13"/><div class="nav" id="Version-0.0.0-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.0.0-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Housekeeping-608918928">&#x25B3;</a>&#x25BD;<a title="Jump to this segment" href="#Version-0.0.0-2009-01-13">&#x25CE;</a></div>
2277
+ <a name="Version-0.0.0-2009-01-13"/><div class="nav" id="Version-0.0.0-2009-01-13"><a title="Reverse jump to listing" href="#rev:Version-0.0.0-2009-01-13">&equiv;</a><a title="Jump to previous segment" href="#Housekeeping-609091378">&#x25B3;</a>&#x25BD;<a title="Jump to this segment" href="#Version-0.0.0-2009-01-13">&#x25CE;</a></div>
2063
2278
  <h2 class="title">
2064
2279
  4.1&nbsp;&nbsp;Version 0.0.0 (2009-01-13)
2065
2280
  </h2>
@@ -2077,28 +2292,27 @@ Finished in 0.001073 seconds.
2077
2292
 
2078
2293
  <div id="footer">
2079
2294
 
2080
- Generated by <a href="http://snk.tuxfamily.org/lib/erbook/">ERBook 6.0.1</a> on Sun Jan 25 10:26:44 -0800 2009.
2081
2295
 
2082
2296
  <div id="footer-credits">
2083
2297
  <p>
2084
- <img class="icon" alt="caution" src="&icon_caution;"/>
2085
- <img class="icon" alt="tip" src="&icon_tip;"/>
2086
- <img class="icon" alt="important" src="&icon_important;"/>
2087
- <img class="icon" alt="note" src="&icon_note;"/>
2088
- <img class="icon" alt="warning" src="&icon_warning;"/>
2089
- <img class="icon" alt="quote" src="&icon_quote;"/>
2298
+ <img class="icon" src="&icon_caution;" alt="caution"/>
2299
+ <img class="icon" src="&icon_tip;" alt="tip"/>
2300
+ <img class="icon" src="&icon_important;" alt="important"/>
2301
+ <img class="icon" src="&icon_note;" alt="note"/>
2302
+ <img class="icon" src="&icon_warning;" alt="warning"/>
2303
+ <img class="icon" src="&icon_quote;" alt="quote"/>
2090
2304
 
2091
2305
  <br/>
2092
2306
 
2093
- The icons shown above are &copy; 2005 <a href="http://tango.freedesktop.org">Tango Desktop Project</a>. They are part of the <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a> set, which is distributed under the <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License Agreement</a>.
2307
+ The icons shown above are part of <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a>, which is copyright &copy; 2005 <a href="http://tango.freedesktop.org">Tango Desktop Project</a> and is distributed under <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License Agreement</a>.
2094
2308
  </p>
2095
2309
 
2096
2310
  <p>
2097
- <img class="icon" alt="link" src="&icon_link;"/>
2311
+ <img class="icon" src="&icon_link;" alt="link"/>
2098
2312
 
2099
2313
  <br/>
2100
2314
 
2101
- The icons shown above are &copy; 2007 <a href="https://www.ohloh.net/projects/mediawiki/contributors">MediaWiki contributors</a>. They are part of the <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> software, which is distributed under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2</a>.
2315
+ The icons shown above are part of <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>, which is copyright &copy; 2007 <a href="https://www.ohloh.net/projects/mediawiki/contributors">MediaWiki contributors</a> and is distributed under <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2</a>.
2102
2316
  </p>
2103
2317
  </div>
2104
2318