X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/594a9194561ad373a31a7d34c6b5c7a84ec417a0..7b90d9d55b8ec8cd13c287d905276e1d11137741:/doc/todo/configurable_markdown_path.mdwn?ds=sidebyside diff --git a/doc/todo/configurable_markdown_path.mdwn b/doc/todo/configurable_markdown_path.mdwn index 931f98025..63fa2dcbd 100644 --- a/doc/todo/configurable_markdown_path.mdwn +++ b/doc/todo/configurable_markdown_path.mdwn @@ -8,3 +8,57 @@ Make it easy to configure the Markdown implementation used by the external Markdown executable in your ikiwiki config file. If you do not set a path, the plugin will use the usual config options to determine which Perl module to use. + +> This adds a configuration in which a new process has to be worked +> for every single page rendered. Actually, it doesn't only add +> such a configuration, it makes it be done by *default*. +> +> Markdown is ikiwiki's default, standard renderer. A configuration +> that makes it slow will make ikiwiki look bad. +> +> I would not recommend using Gruber's perl markdown. It is old, terminally +> buggy, and unmaintained. --[[Joey]] [[!tag reviewed]] + +---- + +I wasn't trying to make an external markdown the default, I was trying +to make the currently hardcoded `/usr/bin/markdown` configurable. It +should only use an external process if `markdown_path` is set, which +it is not by default. Consider the following tests from clean checkouts: + +Current ikiwiki trunk: + + $ PERL5LIB="." time ikiwiki --setup docwiki.setup + ... + 38.73user 0.62system 1:20.90elapsed 48%CPU (0avgtext+0avgdata 103040maxresident)k + 0inputs+6472outputs (0major+19448minor)pagefaults 0swaps + +My mdwn branch: + + $ PERL5LIB="." time ikiwiki --setup docwiki.setup + ... + Markdown: Text::Markdown::markdown() + ... + 39.17user 0.73system 1:21.77elapsed 48%CPU (0avgtext+0avgdata 103072maxresident)k + 0inputs+6472outputs (0major+19537minor)pagefaults 0swaps + +My mdwn branch with `markdown_path => "/usr/bin/markdown"` added in +`docwiki.setup` (on my system, `/usr/bin/markdown` is a command-line +wrapper for `Text::Markdown::markdown`). + + $ PERL5LIB="." time ikiwiki --setup docwiki.setup + ... + Markdown: /usr/bin/markdown + ... + 175.35user 18.99system 6:38.19elapsed 48%CPU (0avgtext+0avgdata 92320maxresident)k + 0inputs+17608outputs (0major+2189080minor)pagefaults 0swaps + +So my patch doesn't make ikiwiki slow unless the user explicitly +requests an extenral markdown, which they would presumably only do to +work around bugs in their system's Perl implementation. + -- [[wtk]] + +> I was wrong about it being enabled by default, but I still don't like +> the idea of a configuration that makes ikiwiki slow on mdwn files, +> even if it is a nonstandard configuration. How hard can it be to install +> the Text::Markdown library? --[[Joey]]