Skip to content

MultiMarkdown and Jekyll #289

Closed
hertze opened this Issue Feb 18, 2011 · 27 comments
@hertze
hertze commented Feb 18, 2011

Hi.

In my opinion, Fletcher Penney's MultiMarkdown (http://fletcherpenney.net/multimarkdown/) is the most complete, and reliable, parser for extended Markdown in existence. Right now it is being rewritten in C, making it possible to write a Ruby wrapper and then use it with Jekyll.

I've never been fond of Maruku, and Discount lacks a few features, such as footnotes. Please consider adding MultiMarkdown to Jekyll.

Joakim Hertze

@ghost
ghost commented Apr 25, 2011

+1

@BlackBulletIV

+1
MultiMarkdown in Jekyll would be fantastic.

@wlad
wlad commented May 20, 2011

+1

@framallo

+1

@eduarbo
eduarbo commented May 28, 2011

+1

@goerz
goerz commented May 29, 2011

+1

@sieben
sieben commented Jun 5, 2011

+1

@haxrat
haxrat commented Jun 5, 2011

+1

@djungelvral

Hello,

I have modified rtomayko's ruby markdown extension rpeg-markdown, which uses jgm's peg-markdown as a backend, to use fletcher's peg-multimarkdown mentioned by the OP instead.

I have imaginatively called it rpeg-multimarkdown, and you can find it at http://github.com/djungelvral/rpeg-multimarkdown. I haven't extensively tested it yet, but it works well for my needs.

Perhaps this brings multimarkdown and jekyll a bit closer together, although I don't know how much work would need to be done on jekyll to add another convertor.

Oliver

@djungelvral

Not too hard after all, thanks to the ability to drop new converters into jekyll. You can find a basic one here:

http://github.com/djungelvral/jekyll/blob/master/lib/jekyll/converters/multimarkdown.rb

The trickiest part was finding a file extension that wasn't swallowed up by the markdown file extension regexp. I went for /multi/i, but I don't know what would be best in practice.

@bobschi
bobschi commented Jun 9, 2011

+1

@dsanson
dsanson commented Aug 11, 2011

The trouble with using a converter plugin with a special extension is that it won't work at all on github pages. The alternative is to modify lib/jekyll/converters/markdown.rb, which requires forking Jekyll.

Ideally, drop-in converters would be allowed (via the priority setting?) to override the built-in converters for a given format. This would make adding one's favorite flavor of markdown (MMD, pandoc, or whatever) trivial, and since these plugins are ignored on github pages, you would have a reasonably graceful fallback there.

@msparks
msparks commented Sep 12, 2011

+1

@HusseinMorsy

+1

@danieldriver

+1

@bilke
bilke commented Dec 5, 2011

+1

@elasticdog

+1

@rnkn
rnkn commented Dec 13, 2011

+1

@tangledhelix

+1

@ghost
ghost commented Dec 16, 2011

+1

@lpar
lpar commented Apr 6, 2012

+1

I'd also much rather use multimarkdown headers than an unholy blend of YAML and Markdown for my postings.

@mojombo
mojombo commented Apr 24, 2012

Does anyone know if the rpeg-multimarkdown implementation allows any arbitrary code execution (possibly via LaTeX support, etc)? I'm happy to merge #379 if I can be convinced it will be safe for use by GitHub Pages.

cc @djungelvral

@djungelvral
@mbarulli

+1

@parkr
Jekyll member
parkr commented Feb 6, 2013

Without assurance that no arbitrary code can be executed, I'm going to close this. Re-open if we can ensure that arbitrary code execution isn't a problem.

@parkr parkr closed this Feb 6, 2013
@ickc
ickc commented Jan 29, 2016

@mojombo

I contacted Fletcher and this is what he said:

I can't confirm what was done with the code in rpeg-multimarkdown.

There's not arbitrary code execution in MMD -- what purpose would it serve?

But any attempt to use MMD in another project should focus on MMD-5, not v3 which is significantly out of date at this point.

F-

So does it mean it can be merged?

cc @djungelvral

@parkr parkr locked and limited conversation to collaborators Jan 29, 2016
@parkr
Jekyll member
parkr commented Jan 29, 2016

So does it mean it can be merged?

@ickc No, we are not accepting new markdown converters for the core at this time.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Something went wrong with that request. Please try again.