<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Beaver Creek Consulting &#187; Perl</title>
	<atom:link href="http://beavercreekconsulting.com/blog/category/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://beavercreekconsulting.com/blog</link>
	<description>Delivering Results in Application Development</description>
	<lastBuildDate>Thu, 06 May 2010 17:33:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>You can have Perl 5 when you peel my cold dead hands off of it.</title>
		<link>http://beavercreekconsulting.com/blog/2009/02/you-can-have-perl-5-when-you-peel-my-cold-dead-hand-off-of-it/</link>
		<comments>http://beavercreekconsulting.com/blog/2009/02/you-can-have-perl-5-when-you-peel-my-cold-dead-hand-off-of-it/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 14:50:58 +0000</pubDate>
		<dc:creator>martykube</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://beavercreekconsulting.com/blog/?p=18</guid>
		<description><![CDATA[I started working with Perl in 2000 and along with C++ Perl is the language I cut my teeth on as a professional developer.
5.8 has been my favorite release.   With Perl 6 taking a while to be production ready I&#8217;ve been planning on using 5.8 forever.  Well, it turns out forever isn&#8217;t that long.  The [...]]]></description>
			<content:encoded><![CDATA[<p>I started working with Perl in 2000 and along with C++ Perl is the language I cut my teeth on as a professional developer.</p>
<p>5.8 has been my favorite release.   With <a title="Perl 6 is ready to go?" href="http://weblog.infoworld.com/fatalexception/archives/2008/10/perl_6_isnt_vap.html">Perl 6 taking a while to be production ready</a> I&#8217;ve been planning on using 5.8 forever.  Well, it turns out forever isn&#8217;t that long.  The <a title="The end of Perl 5.8" href="http://www.nntp.perl.org/group/perl.perl5.porters/2008/11/msg141328.html">end of Perl 5.8</a> has been announced.  The good news is that Perl 5 will continue as Perl 5.10.</p>
<p>Maybe I&#8217;ll never upgrade to Perl 6.  Perhaps this point is moot, as I&#8217;m using Perl less and less these days.  I&#8217;ve been turning to Groovy.</p>
<p>But &#8212; when I need something complicated <strong>done right now</strong>, my goto is Perl 5.</p>
]]></content:encoded>
			<wfw:commentRss>http://beavercreekconsulting.com/blog/2009/02/you-can-have-perl-5-when-you-peel-my-cold-dead-hand-off-of-it/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Perl Syntax Highlighter</title>
		<link>http://beavercreekconsulting.com/blog/2008/12/perl-syntax-highlighter/</link>
		<comments>http://beavercreekconsulting.com/blog/2008/12/perl-syntax-highlighter/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 05:10:33 +0000</pubDate>
		<dc:creator>martykube</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://beavercreekconsulting.com/blog/?p=17</guid>
		<description><![CDATA[SyntaxHighlighter is turning out to be the web standard for displaying source code in blogs.  I&#8217;ve developed a brush for that most excellent, yet recently neglected language, Perl.  This contribution has not yet been included in the SyntaxHighlighter distribution, so I&#8217;m also posting the source code here.  Enjoy!
I&#8217;ve posted the full source [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/syntaxhighlighter/">SyntaxHighlighter</a> is turning out to be the web standard for displaying source code in blogs.  I&#8217;ve developed a brush for that most excellent, yet recently neglected language, <a href="http://www.perl.org/">Perl</a>.  This contribution has not yet been included in the SyntaxHighlighter distribution, so I&#8217;m also posting the source code here.  Enjoy!</p>
<p>I&#8217;ve posted the <a href="http://code.google.com/p/syntaxhighlighter/issues/detail?id=113">full source code</a> for the brush to the syntaxhighlighter site.  This brush is based on a couple of earlier Perl brushes:</p>
<p><a href="http://opticalgarbage.com/sh/js/shBrushPerl.js">http://opticalgarbage.com/sh/js/shBrushPerl.js</a></p>
<p><a href="http://nevstokes.com/includes/syntax/scripts/shBrushPerl.js">http://nevstokes.com/includes/syntax/scripts/shBrushPerl.js</a></p>
<pre class="brush: javascript">

/**
* Perl brush for Code Syntax Highlighter
* by Marty Kube, http://beavercreekconsulting.com/
*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation, version 3 of the License.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
*/
dp.sh.Brushes.Perl = function()
{
var funcs =
&#039;abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr &#039; +
&#039;chroot close closedir connect cos crypt defined delete each endgrent &#039; +
&#039;endhostent endnetent endprotoent endpwent endservent eof exec exists &#039; +
&#039;exp fcntl fileno flock fork format formline getc getgrent getgrgid &#039; +
&#039;getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr &#039; +
&#039;getnetbyname getnetent getpeername getpgrp getppid getpriority &#039; +
&#039;getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid &#039; +
&#039;getservbyname getservbyport getservent getsockname getsockopt glob &#039; +
&#039;gmtime grep hex index int ioctl join keys kill lc lcfirst length link &#039; +
&#039;listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd &#039; +
&#039;oct open opendir ord pack pipe pop pos print printf prototype push &#039; +
&#039;quotemeta rand read readdir readline readlink readpipe recv rename &#039; +
&#039;reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl &#039; +
&#039;semget semop send setgrent sethostent setnetent setpgrp setpriority &#039; +
&#039;setprotoent setpwent setservent setsockopt shift shmctl shmget shmread &#039; +
&#039;shmwrite shutdown sin sleep socket socketpair sort splice split sprintf &#039; +
&#039;sqrt srand stat study substr symlink syscall sysopen sysread sysseek &#039; +
&#039;system syswrite tell telldir time times tr truncate uc ucfirst umask &#039; +
&#039;undef unlink unpack unshift utime values vec wait waitpid warn write&#039;;

var keywords =
&#039;bless caller continue dbmclose dbmopen die do dump else elsif eval exit &#039; +
&#039;for foreach goto if import last local my next no our package redo ref &#039; +
&#039;require return sub tie tied unless untie until use wantarray while&#039;;

this.regexList = [
{ regex: new RegExp(&#039;#[^!].*$&#039;, &#039;gm&#039;), css: &#039;comment&#039; },  // comments
{ regex: new RegExp(&#039;^\\s*#!.*$&#039;, &#039;gm&#039;), css: &#039;preprocessor&#039; }, //shebang
{ regex: dp.sh.RegexLib.DoubleQuotedString, css: &#039;string&#039; },
{ regex: dp.sh.RegexLib.SingleQuotedString, css: &#039;string&#039; },
{ regex: new RegExp(&#039;(\\$|@|%)\\w+&#039;, &#039;g&#039;), css: &#039;vars&#039; },
{ regex: new RegExp(this.GetKeywords(funcs), &#039;gmi&#039;), css: &#039;func&#039; },
{ regex: new RegExp(this.GetKeywords(keywords), &#039;gm&#039;), css: &#039;keyword&#039; }
];

this.CssClass = &#039;dp-perl&#039;;
this.Style =
&#039;.dp-perl .vars { color: #996600; }&#039; +
&#039;.dp-perl .func { color: #006666; }&#039;;
}

dp.sh.Brushes.Perl.prototype  = new dp.sh.Highlighter();
dp.sh.Brushes.Perl.Aliases  = [&#039;perl&#039;, &#039;Perl&#039;];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://beavercreekconsulting.com/blog/2008/12/perl-syntax-highlighter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using html2wiki for Google Code</title>
		<link>http://beavercreekconsulting.com/blog/2008/05/using-html2wiki-for-google-code/</link>
		<comments>http://beavercreekconsulting.com/blog/2008/05/using-html2wiki-for-google-code/#comments</comments>
		<pubDate>Wed, 14 May 2008 20:50:05 +0000</pubDate>
		<dc:creator>martykube</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://beavercreekconsulting.com/blog/?p=7</guid>
		<description><![CDATA[I recently released a HTML to Google Code wiki converter.  Now that the module is published on CPAN, it&#8217;s time to provide some usage instructions.
If you&#8217;re an experienced Perl hacker, see
perldoc HTML::WikiConverter
and
perldoc HTML::WikiConverter::GoogleCode.
If you&#8217;re not a Perl hacker, read on&#8230;
There are two ways to use the module; the easiest is via a shell script, html2wiki:
http://search.cpan.org/~diberri/HTML-WikiConverter/bin/html2wiki.
which [...]]]></description>
			<content:encoded><![CDATA[<p>I recently <a title="html2wiki for Google Code" href="http://beavercreekconsulting.com/blog/?p=5">released</a> a HTML to Google Code wiki converter.  Now that the module is published on <a title="H::WC::GoogleCode on CPAN" href="http://search.cpan.org/~martykube/HTML-WikiConverter-GoogleCode/">CPAN</a>, it&#8217;s time to provide some usage instructions.</p>
<p style="MARGIN-BOTTOM: 0in">If you&#8217;re an experienced Perl hacker, see</p>
<p style="MARGIN-BOTTOM: 0in"><code>perldoc HTML::WikiConverter</code></p>
<p style="MARGIN-BOTTOM: 0in">and</p>
<p style="MARGIN-BOTTOM: 0in"><code>perldoc HTML::WikiConverter::GoogleCode</code>.</p>
<p style="MARGIN-BOTTOM: 0in">If you&#8217;re not a Perl hacker, read on&#8230;</p>
<p style="MARGIN-BOTTOM: 0in">There are two ways to use the module; the easiest is via a shell script, <code>html2wiki</code>:</p>
<p style="MARGIN-BOTTOM: 0in"><a href="http://search.cpan.org/~diberri/HTML-WikiConverter/bin/html2wiki">http://search.cpan.org/~diberri/HTML-WikiConverter/bin/html2wiki</a>.</p>
<p style="MARGIN-BOTTOM: 0in">which is provided as part of the HTML::WikiConverter Perl module. The other option is to write your own Perl script and include the Google Code module. Using <code>html2wiki</code> is easier as you only have to supply the desired command line options. Writing your own script is the more flexible and powerful option. I&#8217;m going to cover the <span style="font-family: Courier New;">html2wiki</span> option in detail, and then briefly cover an example Perl script.</p>
<p><strong>Installation</strong></p>
<p style="MARGIN-BOTTOM: 0in">Before you can use the converter, you&#8217;ll need to have Perl installed. I use ActiveState&#8217;s binary distribution for Windows; The installation instructions are here:</p>
<p style="MARGIN-BOTTOM: 0in"><a href="http://aspn.activestate.com/ASPN/docs/ActivePerl/5.10/install.html">http://aspn.activestate.com/ASPN/docs/ActivePerl/5.10/install.html</a>.</p>
<p style="MARGIN-BOTTOM: 0in">The you&#8217;ll need to install Perl modules <code>HTML::WikiConverter</code> and <code>HTML::WikiConverter::GoogleCode</code>. There are a couple of ways to install these modules; you can download the tar files from cpan.org, or use ppm if you have the ActiveState Perl distribution. My favorite method is to use the Perl CPAN module which is part of the core Perl distribution. The following shell commands should get you close:</p>
<pre class="brush: perl">
&gt;perl -MCPAN -e shell
cpan&gt; install HTML::WikiConverter
CPAN: Storable loaded ok (v2.16)
...
cpan&gt; install HTML::WikiConverter::GoogleCode
CPAN: Storable loaded ok (v2.16)
...
cpan&gt;
</pre>
<p style="MARGIN-BOTTOM: 0in">Line 1 invokes the CPAN module in an interactive mode. If you have any trouble, just type <code>help</code> at the <code>cpan&gt;</code> prompt.</p>
<p style="MARGIN-BOTTOM: 0in">At this point, <code>html2wiki</code> should be installed. From a command prompt, you should be able to summon up the usage instructions:</p>
<pre class="brush: perl">
&gt;html2wiki
Usage:
    html2wiki [options] [file]
    Commonly used options:
        --dialect=dialect    Dialect name, e.g. &quot;MediaWiki&quot;
...
</pre>
<p style="MARGIN-BOTTOM: 0in">You should also be able to verify that the Google Code dialect is installed.</p>
<pre class="brush: perl">
&gt;html2wiki --list
Installed dialects:
GoogleCode
...
</pre>
<p><strong>Using html2wiki</strong></p>
<p>For this example, I put some random HTML in file named <code>example.html</code>:</p>
<pre class="brush: perl">
&gt;type example.html
CamelCase words like JavaScript, &lt;pre&gt;JavaScript&lt;/pre&gt; and
&lt;b&gt;bold&lt;/b&gt; words,and html tokens: 1 &lt; 1
</pre>
<p>Using the Windows cmd.exe shell, the default conversion to wiki markup looks like this:</p>
<pre class="brush: perl">
&gt;html2wiki --dialect=GoogleCode &lt; example.html
CamelCase words like JavaScript,

{{{
JavaScript
}}}

and *bold* words, and html tokens: 1 &amp;amp;amp;amp;lt; 1
</pre>
<p>The default conversion escapes HTML tokens such as <code>&lt;</code> by replacing them with the HMTL escape sequence (<span style="font-family: Courier New;">&amp;lt;</span>, in this case). The Google Code wiki will render <span style="font-family: Courier New;">&amp;lt;</span> as <span style="font-family: Courier New;">&amp;lt;</span> not what we want (<code>&lt;</code>). To turn escaping off, set the -–no-escape-entities option:</p>
<pre class="brush: perl">
html2wiki --dialect=GoogleCode ^
     --no-escape-entities ^
     &lt; example.html
</pre>
<p>The output is now:</p>
<pre class="brush: perl">
CamelCase words like JavaScript,

{{{
JavaScript
}}}

 and *bold* words, and html tokens: 1 &lt; 1
</pre>
<p>The next adjustment I make is to turn off the Google Code feature of automatically turning CamelCase words into wiki links. The documents I&#8217;ve been posting turn out to have many CamelCase words for most of which I do not want the automatic link. The wiki markup to disable link generation is to proceed the word by an exclamation mark. I&#8217;ve added an option to enable this feature for specific words. For example, to prevent link generation for the words <code>CamelCase</code> and <code>JavaScript</code>, modify the <code>html2wiki</code> command to be:</p>
<pre class="brush: perl">
html2wiki --dialect=GoogleCode ^
     --no-escape-entities ^
     --escape-autolink=CamelCase ^
     --escape-autolink=JavaScript ^
     &lt; example.html
</pre>
<p>The generated wiki markup from this command is:</p>
<pre class="brush: perl">
!CamelCase words like !JavaScript,

{{{
JavaScript
}}}

and *bold* words, and html tokens: 1 &lt; 1
</pre>
<p>In this case, the CamelCase words are escaped, except when the word occurs in within a <code>&lt;pre&gt;</code> tag (line 4).</p>
<p>The last Google Code feature of note is the ability to embed page summary and labels within the wiki markup. The page summary is a comment on the first line which is displayed on the project&#8217;s wiki index. Likewise, the labels markup element is a comment and is used by Google Code. For example, when the label &#8216;Featured&#8217; is applied to a wiki page, a link to the page is created on the project&#8217;s front web page. The final example shows adding a summary and two labels to the wiki markup. The <code>html2wiki</code> command is:</p>
<pre class="brush: perl">
html2wiki --dialect=GoogleCode ^
     --no-escape-entities ^
     --escape-autolink=CamelCase ^
     --escape-autolink=JavaScript ^
     --summary=&quot;This is a great page&quot; ^
     --labels=Featured ^
     --labels=Phase-Deploy ^
     &lt; example.html
</pre>
<p>and the generated wiki markup is:</p>
<pre class="brush: perl">
#summary This is a great page
#labels Featured,Phase-Deploy
!CamelCase words like !JavaScript,

{{{
JavaScript
}}}

and *bold* words, and html tokens: 1 &lt; 1
</pre>
<p><strong>Using H::WC::GoogleCode in a Perl Script</strong></p>
<p>This last example shows a Perl script that makes use of the options show above. This example is a script I&#8217;ve used to convert a Developer&#8217;s Guide saved as HTML into wiki markup. The source code for the script follows below.</p>
<p>On line 5, the H::WC module is imported. I didn&#8217;t import the H:::WC::GoogleCode module since it is imported by H::WC based on the dialect name.</p>
<p>This document has a long list of CamelCase words for which I wanted to suppress generation of links. These words are collected into an array on line 7. Line 22 sets up a hash with keys of the path to the HTML document and values of the path where the generated wiki markup should be stored.</p>
<p>On line 26, and new instance of H::WC is created. Line 27 pulls in the H::WC::GoogleCode module. Line 28 passes the list of CamelCase words. Line 29 turns off escaping of HTML entities.</p>
<p>For images, the HTML document uses relative links to images stored on the file system (at <code>../docs/img</code>). In order to support the wiki, I&#8217;ve staged the images on my web server under <code>/img</code> and passed in the web-site URI on line 30. The relative image links are turned into absolute URLs pointing to my web server in the wiki markup.</p>
<p>The final option, the summary parameter on line 30, generates a page summary on the wiki.</p>
<p>The balance of the script pulls in the HTML, converts it with the H::WC instance (line 42), and writes the wiki markup to a file.</p>
<pre class="brush: perl">
 #!/usr/bin/perl -w

 package main;
 use strict;
 use HTML::WikiConverter;

 my @toEscape = qw/
              SqlMapClient
              JBati
              SqlMapClientBuilder
              JavaScript
              NovaJug
              ExampleJSS
              SqlLite
              ExamplesJSS
              SqlMap
              MySql
              SqlMapConfig
              DevGuide
 /;

 my %to_process = qw /
      ..\docs\DevelopersGuide.html&lt;/pre&gt;
 /;

 my $wc = new HTML::WikiConverter(
      dialect =&gt; &#039;GoogleCode&#039;,
      escape_autolink =&gt; \@toEscape,
      escape_entities =&gt; 0,
      base_uri =&gt; &#039;http://beavercreekconsulting.com&#039;,
      summary =&gt; &#039;Developers Guide V0.2 - jBati usage and examples&#039;
 );

 foreach my $in (keys %to_process) {

      open(HTML, &quot;&lt;$in&quot;) or die &quot;cannot open $in: $!\n&quot;;
      my $html = do {local $/; &lt;HTML&gt;};
      close(HTML);

      open(WIKI, &#039;&gt;&#039; . $to_process{$in}) or die &quot;cannot open &quot; .
              $to_process{$in} . &quot;: $!\n&quot;;
      my $converted = $wc-&gt;html2wiki($html);
      print WIKI $converted, &quot;\n&quot;;
      close(WIKI);
 }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://beavercreekconsulting.com/blog/2008/05/using-html2wiki-for-google-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML to Google Code wiki Converter</title>
		<link>http://beavercreekconsulting.com/blog/2008/05/html-to-google-code-wiki-converter/</link>
		<comments>http://beavercreekconsulting.com/blog/2008/05/html-to-google-code-wiki-converter/#comments</comments>
		<pubDate>Tue, 13 May 2008 20:44:43 +0000</pubDate>
		<dc:creator>martykube</dc:creator>
				<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://beavercreekconsulting.com/blog/?p=5</guid>
		<description><![CDATA[I&#8217;ve written a HTML::WikiConverter dialect for Google Code. The module, HTML::WikiConverter::GoogleCode, is now available on CPAN at http://search.cpan.org/~martykube/.
I wrote the module to support an open source project I&#8217;m working on. The module allows me to write my documentation in a good editor (OpenOffice in this case), save the document as HTML, convert it to Google [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written a HTML::WikiConverter dialect for Google Code. The module, HTML::WikiConverter::GoogleCode, is now available on CPAN at <a href="http://search.cpan.org/~martykube/">http://search.cpan.org/~martykube/</a>.</p>
<p>I wrote the module to support an open source project I&#8217;m working on. The module allows me to write my documentation in a good editor (OpenOffice in this case), save the document as HTML, convert it to Google Code wiki markup, and then post the file to my project wiki via svn. The main advantage is that I can also include the HTML documentation in the release file and thereby have one version of a document that is posted on the wiki and included as part of a release.</p>
<p>That&#8217;s the short story, read on for the long story&#8230;</p>
<p>I recently started an open source project (shameless plug&#8230; the project is <a title="jBati - JavaScript ORM for Jaxer" href="http://code.google.com/p/jbati/">jBati</a>, a JavaScript ORM library) hosted at <a title="Google Code project hosting" href="http://code.google.com/hosting/">Google Code</a>. One nice feature of Google&#8217;s project hosting is that each project has wiki. The project&#8217;s wiki is a nice place to post information as potential consumers can see the project documentation without having to download a release.</p>
<p>However, there are a couple of drawbacks to the wiki. The wiki editor is a plain HTML text box. This is serviceable enough for short documents but doesn&#8217;t work well for larger documents. Also, for someone like me who depends heavily on a spell checker, unless my browser does the checking, there is no spell checking.</p>
<p>The other drawback is that some documents, such as a User&#8217;s Guide, need to be posted on the wiki and also distributed with releases. There seemed to be one of two ways to accomplish this, either convert from the wiki to documents for release (which need to be in a text or HTML format), or, convert from the release documents to the wiki format.</p>
<p>I figured I wasn&#8217;t the first one with this idea and looked around. I found a wiki to HTML <a title="wiki to HTML conversion" href="http://groups.google.com/group/google-code-hosting/browse_thread/thread/10a5d8ea4bb9ae75/8fef4f46be7e88ab">tool</a>, an on-line wiki to HTML converter (<a href="http://jtidy.de/">http://jtidy.de/),</a> and a really hard to read <a title="Hard to Read Blog" href="http://tomster.org/blog/archive/2007/08/06/convert-xhtml-to-google-codes-wiki-syntax">blog</a> which reported that the Perl module <a href="http://search.cpan.org/search?query=HTML%3A%3AWikiConverter&amp;mode=module">HTML::WikiConverter</a> did a decent job of converting HTML to Google Code wiki syntax.</p>
<p>I&#8217;m a Perl guy, so the HTML::WikiConverter module sounded like a winner. The HTML::WikiConverter comes with a set of plug-ins to support various wiki dialects. The recommend wiki dialect that gets closest to the Google Code wiki dialect is MoinMoin. The results were decent, yet some hand editing was needed to get perfect results. IMHO, once you choose a generation route like this (HTML <span style="font-family: Times New Roman, serif;">→</span> wiki), the tool chain has to work without intervention, otherwise you loose much of the advantage due to things getting out of sync.</p>
<p>So, I decided to fix this one for good and wrote a Google Code wiki dialect. I&#8217;m currently writing my project documentation with OpenOffice and saving the files as HTML. I use HTML::WikiConverter to generate wiki markup and then post the wiki files to the Google Code via svn. </p>
]]></content:encoded>
			<wfw:commentRss>http://beavercreekconsulting.com/blog/2008/05/html-to-google-code-wiki-converter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
