Google Wiki - POD converter

schwern on 2008-09-18T02:59:40

Some of my pure POD documentation is wildly out of date. Test::Tutorial, Test::FAQ, ExtUtils::MakeMaker::Tutorial and ExtUtils::MakeMaker::FAQ. This sort of pure user level documentation is something that could be very easily done by a lot of people a little at a time. Perfect for a wiki!

And I've tried to wikify the before, but they seem to just get lost. I've used PodWiki in the past, but then I have to manually copy stuff into the repository and I forget. To do that. I toyed with the idea of making PodWiki automatically commit to an SVN repo (which wouldn't be too hard).

Test::More is now on Google Code. One of the interesting things they do is store the wiki in the SVN repo. Hmm.

What if I had a way to convert from Google Code wiki markup to POD? Then I could let people work on the documentation in the wiki and just convert that into POD for distribution! Soooo... who wants to write the converter?

UPDATE: fayland does! Pod::From::GoogleWiki.

(Alas, Google Code does not allow non-project members to edit a project's wiki, something I would like to see fixed).


hi

fayland on 2008-09-18T04:33:03

I want to write one if u don't mind. :)

what's the rules? what's the module name suggested?

any sample wiki and related sample POD?

Thanks.

Re:hi

schwern on 2008-09-18T08:35:04

Rules? First release wins!

Suggested name? Pod::From::GoogleWiki? Google::Wiki::To::Pod?

You might be able to simply abuse Pod::WikiDoc by
writing a new Pod::WikiDoc::Parser grammar for Google Code. Then I
can just wrap the wiki page in "=begin/end wikidoc" around it and run
it through Pod::Wikidoc to do the conversion.

Alternatively, Convert::Wiki
might be adaptable.

Or you can just do some quick hacky thing. I don't think it will take
much work.

The wiki in question is here. The wiki
syntax is here.
Realistically I need paragraphs, italic, bold, code, literal blocks,
internal links, external links and headings. Bulleted and numbered
lists can simply be literals. Don't worry about internal links for
now.

I don't need tables, but extra bonus points if they get translated
into some nicely formatted ascii art.

Here's some example wiki markup...

= Biggest heading =
 
*This is bold*, _this is italic_, `this is code` and so is {{{$obj->method}}}.
 
== Subheading ==
 
{{{
This is a block
of code
}}}
 
=== Smaller heading ===
 
  * A
  * List
  * Of
  * Stuff
 
==== Even smaller ====
 
  This is some
  literal quoted
  text
 
Here's a link to [http://www.microsoft.com] and here's one to [Test::More].
 
=cut

and the expected POD.

=head1 Biggest heading
 
B<This is bold>, I<this is italic>, C<<<this is code>>> and so is C<<<$obj->method>>>.
 
=head2 Subheading
 
  This is a block
  of code
 
=head3 Smaller heading
 
  * A
  * List
  * Of
  * Stuff
 
=head4 Even smaller
 
  This is some
  literal quoted
  text
 
Here's a link to L<http://www.microsoft.com> and here's one to L<Test::More>.

Much of it doesn't even require any changes.

Re:hi

fayland on 2008-09-18T10:00:55

I'll have a try ASAP.

Thanks.

Re:hi

fayland on 2008-09-19T03:40:57

I just upload the first version of Pod::From::GoogleWiki to the CPAN.

http://pause.perl.org/incoming/Pod-From-GoogleWiki-0.01.tar.gz

well, it's not so perfect now, but I'll kick out another version ASAP.

comments are welcome. Thanks.

Re:hi

schwern on 2008-09-19T21:40:09

YAAAAAAAAAAAAYYYYY!

I don't suppose you're up for writing pod2wiki?