inochi 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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