]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/rst/discussion.mdwn
found it
[git.ikiwiki.info.git] / doc / plugins / rst / discussion.mdwn
index 9909784d54ca2ce092841fe9ea0413fec75de911..c84a6218e37334c540174a47f1f0e2ab0996fc51 100644 (file)
@@ -41,3 +41,41 @@ such since they are inline elements in the text.. But images work fine in
 rst's syntax.. what about using rst syntax for wikilinks as well?
 Is it possible to inject something into the parser to turn unmached links
 ``WikiLink`_` into ikiwiki links? --ulrik
 rst's syntax.. what about using rst syntax for wikilinks as well?
 Is it possible to inject something into the parser to turn unmached links
 ``WikiLink`_` into ikiwiki links? --ulrik
+
+------
+
+Resolving WikiLinks in rst
+==========================
+
+I wanted to look into if we can hook into rst and influence how links are resolved.
+It turns out it is possible, and I have a working WIP for the rst plugin that does this.
+
+My work in progress for `/usr/lib/ikiwiki/plugins/rst` is here: 
+[[todo/Resolve native reStructuredText links to ikiwiki pages]]
+
+It basically matches normal rst links just like ikiwiki would match a wikilink
+if it existed.
+I can't read perl so I haven't found out so much. The plugin successfully registers backlinks using
+`proxy.rpc('add_link', on_page, bestlink)` (since the destination page will be rebuilt to update),
+but the backlinks don't show up.
+
+I converted one of my pages to rst:
+
+Before: <http://kaizer.se/wiki/kupfer-mdwn>  
+After: <http://kaizer.se/wiki/kupfer-rst>  
+
+I need help on a couple of points
+
+* How to fix the backlinks with `add_link`?
+* How to generate NonExistingLinks using the plugin API?
+* Can we include this in ikiwiki's rst if it is not too hairy?
+
+--ulrik
+
+
+----
+
+> The main problem with more sophisticated RST support is that ikiwiki turns 
+preprocessor directives into raw HTML and reST hates inline HTML.
+
+Is it possible for ikiwiki to store preprocessor directives in memory, and replace them with place holders, then do the rst process.  After the rst processing, process the preprocessor directives and replace place holders.  --[[weakish]]