Yeah, I know, a rite of passage in Perl hackerdom is to write your own: 1) CMS (content management system), 2) templating engine, and 3) wiki. I want to throw my hat into the ring too. Therefore, I present to you...

sk - a (very) simple wiki. There are three main ideas going on here. First, I hate how every different wiki has it's own markup syntax. HTML is the language of the web, no? So, use HTML in the wiki. (And yes, I know that means you can embed some nasty JavaScript...see the disclaimer.) Or use no formatting if you like.

Second, I wanted to be able to deploy the wiki in a single file (minus CSS, JavaScript, and images) and that had the "minimal set" of module dependencies. This requires only CGI. No HTML::Template (though I like it), no Class::DBI, nothing. (In fact, it's probably easier to install on Windows than *nix.) (Update: Oh, I forgot it also uses IO::File and File::Spec, but the point was to have a small set of standard-distribution-only module dependencies.)

And third, I hate how textboxes aren't resizable by default. With a little bit of JavaScript help, there's no longer that limitation. So give it a try and let me know what you think.

Replies are listed 'Best First'.
Re: Another wiki!? Yes...
by Jenda (Abbot) on Apr 29, 2006 at 22:04 UTC
      Jenda, what about publishing your modules on cpan ?

        Most of them are there, for quite some time already. Actually I think this is the only one that's not. There are three reasons.

        1. I can't think of a reasonable name. "JFilter" is nonsense, the "J" stands for Jenda, but there already is both HTML::Filter and HTML::TagFilter.
        2. There already is a similar module. HTML::TagFilter. Though the modules are different. Mine assumes the allowed tags&attributes are stored in a string, HTML::TagFilter assumes they are specified in the code. The point is that I need the admins of my app to be able to change the lists without having any access to code.
        3. I was too busy and too lazy. Sorry to admit that. But considering I just utterly failed in my feeble attempts to have life I may have some spare time to invest in this.

        So, if you or anyone can suggest a reasonable name I'll rename the module and post it on CPAN.