fix the nodiscount setting
mdwn: Added nodiscount setting, which can be used to avoid using the markdown discount engine, when maximum compatability is needed.
Workaround discount's eliding of <style> blocks.
workaround a bug in the discount perl binding Empty input, or input consisting soley of whitespace caused an uninitialized value warning.
discount support 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.
format plugin categorization
Group related plugins into sections in the setup file, and drop unused rcs plugins from the setup file.
mdwn: Avoid trying to use multimarkdown if it is not installed.
add a long name for mdwn ("Markdown")
finalise version 3.00 of the plugin api
Coding style change: Remove explcit vim folding markers.
add plugin safe/rebuild info (part 1 of 2) too many plugins.. brain exploding..
remove default values in getsetup They were a bit confusing, since they did not actually set the default, and example values are sufficient.
turn booleans into questions
add getsetup Also, avoid dying with a fatal error if multimarkdown is enabled and the module doesh't load.
mdwn: Add a multimarkdown setup file option.
test for Text::Markdown::[Mm]arkdown and use the available one Markdown is such a splintered mess.. The current debian package provides only Text::Markdown::Markdown, while all versions of Text::Markdown support Text::Markdown::markdown, and old versions also support the capitalised version, while new ones don't. It's getting to the point where `grep /markdown/i %symbol_table` is the only sane way to figure out what function to call..
* Use Text::Markdown::markdown, since version 1.0.16 of Text::Markdown no longer supports Text::Markdown::Markdown. All old versions of Text::Markdown also support the lower-case version.
not only markdown adds gunk, so remove it in the main htmlize function
* mdwn: When htmlizing text, if it's a single line with no newline, remove the enclosing paragraph and newline markdown wraps it in. This allows removing several hacks around this markdown behavior from other plugins that htmlize fragements of pages.