]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/Short_wikilinks.mdwn
web commit by JoshTriplett: Add implementation possibilities.
[ikiwiki.git] / doc / todo / Short_wikilinks.mdwn
index 10ea70927d29ff39b159e42e2bce9812d464fe41..93d3b045d343431b222ecdbe8870ee463b359bea 100644 (file)
@@ -23,6 +23,20 @@ extra for missing pages).
 > memory to avoid re-rendering. I don't want ikiwiki to be slow or use
 > excessive amounts of memory. YMMV. --[[Joey]]
 
+>> Or you could disk cache the incomplete page containing only the body text,
+>> which should often not need re-rendering, as most alterations consist of
+>> changing the link targets exactly, and we can know pages that exist before
+>> rendering a single page. Then after backlinks have been resolved, it would
+>> suffice to feed this body text from the cache file to the template. However, e.g.
+>> the inline plugin would demand extra rendering after the depended-upon pages
+>> have been rendered, but these pages should usually not be that frequent, or
+>> contain that many other pages in full. (And for 'archive' pages we don't need
+>> to remember that much information from the semi-inlined pages.) It would help
+>> if you could get data structures instead of HTML text from the HTMLizer, and
+>> then simply cache these data structures in some quickly-loadeble form (that
+>> I suppose perl itself has support for). Regexp hacks are so ugly compared
+>> to actually parsing a properly-defined syntax...
+
 A related possibility would be to move a lot of "preprocessing" after HTML
 generation as well (thus avoiding some conflicts with the htmlifier), by
 using special tags for the preprocessor stuff. (The old preprocessor could
@@ -47,3 +61,12 @@ Other alternatives would be
        \[[link bar]]
 
        \[[link bar=VeryLongPageName]]
+
+>> This is, however, still missing specifying the link text, and adding that option would seem to me to complicate the plugin syntax a lot, unless support is added for the |-syntax for specifying a particular parameter to every plugin.
+
+>> ... Returning to this, the syntax infact wouldn't be so bad with the |-syntax, given a short name for the plugin:
+
+       [[whatever|ref 1]]
+       \[[ref 1=page_with_long_name]]
+
+>> It also shouldn't be difficult to support non-wiki links in this same way, so that you could still link everywhere in an uniform manner, as the (still preferred by me) HTML processing approach would provide. Perhaps a plugin call wouldn't even be necessary for the links themselves: what about aliases for the normal link mechanism? Although the 'ref' call may infact be cleaner, and adding that |-syntax for plugins could offer other possibilities for other plugins.