mdwn: Can use the discount markdown library, via the
Text::Markdown::Discount perl module.
This is preferred if available since it's the fastest currently supported
markdown library, speeding up markdown rendering by a factor of 40.
That is to say, when only rendering a lot of markdown, discount is 40x
faster. When building a ikiwiki site, ikiwiki's other overhead gets in the
way, but I still see significant speedups. Building the ikiwiki docwiki
dropped from 62 to 45 seconds, for example.
However, when multimarkdown is enabled, Text::Markdown::Multimarkdown is
still used.
While discount contains some nonstandard markdown extensions,
including tables and footnotes, AFAICS most of them are not
enabled by default in the perl bindings.
I consider sticking to non-extended markdown a desirable thing, since this
is probably not the last markdown engine. In particular, sundown is waiting
in the wings to get packaged and get a perl binding.
----
Reviewing all the showdown extensions, here are the ones that are enabled:
centered paragraphs:
->centered<-
image sizes: [dust mite](http://dust.mite =150x150)
<style>..</style> blocks are eaten. The perl binding does not provide
access to the gathered CSS. This is not legal html anyway, so unlikely
to cause breakage.
+ if (! defined $markdown_sub) {
+ eval q{use Text::Markdown::Discount};
+ if (! $@) {
+ $markdown_sub=\&Text::Markdown::Discount::markdown;
+ }
+ }
if (! defined $markdown_sub) {
eval q{use Text::Markdown};
if (! $@) {
if (! defined $markdown_sub) {
eval q{use Text::Markdown};
if (! $@) {
+ikiwiki (3.20111230) UNRELEASED; urgency=low
+
+ * mdwn: Can use the discount markdown library, via the
+ Text::Markdown::Discount perl module. This is preferred if available
+ since it's the fastest currently supported markdown library, speeding up
+ ikiwiki's rendering by a factor of 40.
+ (However, when multimarkdown is enabled, Text::Markdown::Multimarkdown
+ is still used.)
+
+ -- Joey Hess <joeyh@debian.org> Sun, 01 Jan 2012 16:22:24 -0400
+
ikiwiki (3.20111229) unstable; urgency=low
* Consume all stdin when rcs_receive short-circuits,
ikiwiki (3.20111229) unstable; urgency=low
* Consume all stdin when rcs_receive short-circuits,
are also available in other plugins.
There are several implementations of markdown support that can be used by
are also available in other plugins.
There are several implementations of markdown support that can be used by
-this plugin. The [original version of
-markdown](http://daringfireball.net/projects/markdown/) can be used, or the
-[[!cpan Text::Markdown]] perl module.
+this plugin. In order of preference:
+
+* [Discount](http://www.pell.portland.or.us/~orc/Code/discount/),
+ via the [[!cpan Text::Markdown::Discount]] perl module.
+* The [[!cpan Text::Markdown]] perl module.
+* The [original version of markdown](http://daringfireball.net/projects/markdown/).
[[!cpan Text::MultiMarkdown]] can be used in order to use tables, footnotes,
and other new features from the markdown variant called
[[!cpan Text::MultiMarkdown]] can be used in order to use tables, footnotes,
and other new features from the markdown variant called