X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c96d672810ae524aedf9ffff08dcca773cd9a876..926c04e844f231622cfe7d74701a878581125188:/doc/todo/format_escape.mdwn diff --git a/doc/todo/format_escape.mdwn b/doc/todo/format_escape.mdwn index f8ea789ec..ebee558fb 100644 --- a/doc/todo/format_escape.mdwn +++ b/doc/todo/format_escape.mdwn @@ -32,6 +32,63 @@ escape parameter optional, and only call it if set. --[[Joey]] >>> to work -- see for an example. >>> --Ethan +## Alternative solution + +[Here](http://www.jk.fr.eu.org/ikiwiki/format-escapes-2.diff) is a patch +largely inspired from the one below, which is up to date and written with +[[todo/multiple_output_formats]] in mind. "htmlize" hooks are generalized +to "convert" ones, which can be registered for any pair of filename +extensions. + +Preprocessor directives are allowed to return the content to be inserted +as a hash, in any format they want, provided they provide htmlize hooks for it. +Pseudo filename extensions (such as `"_link"`) can also be introduced, +which aren't used as real extensions but provide useful intermediate types. + +--[[JeremieKoenig]] + +> Wow, this is in many ways a beautiful patch. I did notice one problem, +> if a link is converted to rst and then from there to a hyperlink, the +> styling info usially added to such a link is lost. I wonder if it would +> be better to lose _link stuff and just create link html that is fed into +> the rst,html converter. Other advantage to doing that is that link +> creation has a rather complex interface, with selflink, attrs, url, and +> content parameters. +> +> --[[Joey]] + +>> Thanks for the compliment. I must confess that I'm not too familiar with +>> rst. I am using this todo item somewhat as a pretext to get the conversion +>> stuff in, which I need to implement some other stuff. As a result I was +>> less careful with the rst plugin than with the rest of the patch. +>> I just updated the patch to fix some other problems which I found with +>> more testing, and document the current limitations. + +>> Rst cannot embed raw html in the middle of a paragraph, which is why +>> "_link" was necessary. Rst links are themselves tricky and can't be made to +>> work inside of words without knowledge about the context. +>> Both problems could be fixed by inserting marks instead of the html/link, +>> which would be replaced at a later stage (htmlize, format), somewhat +>> similiar to the way the toc plugin works. When I get more time I will +>> try to fix the remaining glitches this way. + +>> Also, I think it would be useful if ikiwiki had an option to export +>> the preprocessed source. This way you can use docutils to convert your +>> rst documents to other formats. Raw html would be loosed in such a +>> process (both with directives and marks), which is another +>> argument for `"_link"` and other intermediate forms. I think I can +>> come up with a way for rst's convert_link to be used only for export +>> purposes, though. + +>> --[[JeremieKoenig]] + +> Another problem with this approach is when there is some html (say a +> table), that contains a wikilink. If the link is left up to the markup +> lamguage to handle, it will never convert it to a link, since the table +> will be processed as a chunk of raw html. +> --[[Joey]] + +## Original patch [[tag patch]]