X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b88994ddfa16a556649479ac95abe9220cdcd40c..6790e1804b66fb6623406ff33050db12412337f7:/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn diff --git a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn index e19ceaa8f..851fdbe1f 100644 --- a/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn +++ b/doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn @@ -59,3 +59,30 @@ href="http://jaspervdj.be/hakyll">Hakyll? ----- Rather than coding plugins for the Perl ikiwiki in Haskell, I wonder how easily a Haskell ikiwiki could still support plugins written in Perl? The (old and apparently stale) [HsPerl5](http://hackage.haskell.org/package/HsPerl5) package might provide a helpful starting point there. -- [[JoshTriplett]] + +----- + +I'm very keen on this, and would be interested in helping. I've been wanting to use ikiwiki for years, but the idea of investing time in the perl ecosystem and perl-based implementation stops me. -- [[Simon Michael]] + +----- + +I've recently been wondering whether I could migrate my personal blog (powered by IkiWiki) to Hakyll. +I'm really fond of Ikiwiki's wiki link syntax, as well as the linking rules, and many of the features +offered by plugins. Therefore I set out to see how easily (and whether it's even feasible) to implement +them on top of Hakyll. I'm totally new to Hakyll so I don't fully understand some of the concepts but +I've made some promising initial progress. I decided to share my work in progress experiments here: + + +I can recognise and parse out wiki links and directives. Wikilinks are translated into HTML links, but +the page-linking rules are not yet implemented (the wiki link target is passed through as-is). For +Directives, I've written basic implementations of `meta` and `tag`. In both cases, I build up Hakyll +`Metadata`, which is really a hash map. I've yet to figure out plumbing that back into Hakyll, though. +I've got an idea of how to handle `template`, but haven't tried coding it up yet. — [[Jon]] + +----- + +Cool, Jon. Have you thought about Shake + pandoc as an interesting alternative to Hakyll, +perhaps a little more lightweight and flexible ? Here’s a [bit of Shake code](https://github.com/simonmichael/hledger/blob/master/Shake.hs#L421) +I use for rendering wiki-like pages. —[[Simon Michael]] + +> I've not looked at Shake yet, thanks, I'll give it a look! — [[Jon]]