]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/enable_arbitrary_markup_for_directives.mdwn
Merge branch 'master' into cvs
[git.ikiwiki.info.git] / doc / todo / enable_arbitrary_markup_for_directives.mdwn
index 94713838e3500d0acbb0918edc4a98a92cc516ae..c1f0f86ed9218d3518c9245cc62f0ba75c1a7c78 100644 (file)
@@ -17,3 +17,31 @@ This could also make it easier to support more styles of markup, rather than hav
 -- [[KathrynAndersen]]
 
 [[!taglink wishlist]]
+
+> Arbitrary text transformations can already be done via the filter and
+> sanitize hooks. That's how the smiley and typography plugins do their
+> thing.
+> 
+> AFAICS, the only benefit to having a regexp-based-hook interface is less
+> overhead in passing page content into the hooks. But that overhead is a
+> small amount of the total render time.
+>
+> Also, I notice that smiley does such complicated things in its sanitize
+> hook (ie, it looks at html context around the smilies) that a simple
+> matching regexp would not be sufficient. Furthermore, typography needs to
+> pass the page content into the library it uses, which does not expose
+> regexps to match on. So ikiwiki's more general filtering interface seems
+> to allow both of these to do things that could not be done with the
+> PmWiki interface. --[[Joey]] 
+
+>>You have some good points.  I was aware of using filter, but it didn't occur to me that one could use sanitize to do processing also, probably because "sanitize" brought to mind removing harmful content rather than doing other alterations.
+>>It has also occurred to me, on further thought, that if one wants one's chosen markup to actually be processed during the "preprocess" stage, that one could do so by converting the chosen markup to directive-style markup during the "filter" stage and then processing the directive during the "preprocess" stage as per usual.  Is there a tag for "no longer on the wishlist?". --[[KathrynAndersen]]
+
+>>> Yeah, sanitize is a misleading name for the relatively few things that
+>>> use it this way.
+>>>
+>>> While you could do a filter to preprocess step, it is a bit
+>>> of a long way round, since filter always runs just before 
+>>> preprocess.
+>>> 
+>>> Anyway, guess this is [[done]] --[[Joey]]