2011-01-08 17:56:33 +01:00
|
|
|
[[!template id=gitbranch branch=wtk/mdwn author="[[wtk]]"]]
|
|
|
|
|
|
|
|
summary
|
|
|
|
=======
|
|
|
|
|
|
|
|
Make it easy to configure the Markdown implementation used by the
|
|
|
|
[[plugins/mdwn]] plugin. With this patch, you can set the path to an
|
|
|
|
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.
|
2011-01-25 19:59:57 +01:00
|
|
|
|
|
|
|
> 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
|
2011-01-25 20:12:50 +01:00
|
|
|
> buggy, and unmaintained. --[[Joey]] [[!tag reviewed]]
|
2011-02-22 15:58:29 +01:00
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
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]]
|
2011-02-25 22:30:34 +01:00
|
|
|
|
|
|
|
> 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]]
|