]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/rewrite_ikiwiki_in_haskell/discussion.mdwn
(no commit message)
[git.ikiwiki.info.git] / doc / todo / rewrite_ikiwiki_in_haskell / discussion.mdwn
index c73774d728bc5a2109d38af4080c05a30739e32b..9d2a7c74650ba69af3c7b5d1e1864bcabe43b2a2 100644 (file)
@@ -62,4 +62,25 @@ Rather than coding plugins for the Perl ikiwiki in Haskell, I wonder how easily
 
 -----
 
-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.
+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:
+<https://github.com/jmtd/hakyll-ikiwiki>
+
+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]]