I am hitting major roadblocks on my first middleman project with a quickly advancing deadline, so any help would be highly appreciated.
I use slim as the templating language, but when trying to use markdown formatting within the template, only basic markdown will be rendered, e.g.:
$ cat index.slim
....
snip
....
p == lorem.words 2
markdown:
## foo
Odio quo ipsam asperiores vel dicta ut est perferendis.
Consequatur dolore exercitationem dignissimos hic rerum
==highlight==
- listitem
- anotheritem
== lorem.words 2
This is rendered into:
<p>
eum similique
</p>
<h2>foo</h2>
<p>Odio quo ipsam asperiores vel dicta ut est perferendis. </p>
<p>Consequatur dolore exercitationem dignissimos hic rerum</p>
<p>==highlight==</p>
<ul>
<li>listitem</li>
<li>anotheritem</li>
</ul>
<p>== lorem.words 2</p>
As you can see, neither line breaks (normally forced by two or more whitespace appended to a line), nor the ==highlight== tag are properly parsed in the markdown block.
The same goes for the lorem-helper function, which is simply displayed verbatim inside the markdown block.
Inside my config.ru I have:
set :markdown_engine, :redcarpet
set :markdown, :fenced_code_blocks => true, :smartypants => true, :with_toc_data => true, :autolink => true, :underline => true, :hard_wrap => true, highlight: true
Which strangely seems to not get picked up.
I tried to debug the issue with pry and middleman console:
[1] pry(#<Middleman::Application::MiddlemanApplication1>)> Redcarpet::Markdown.new(Redcarpet::Render::HTML, highlight: true,).render("==foo==")
=> "<p><mark>foo</mark></p>\n"
So calling Redcarpet as a renderer directly works.
I find this highly confusing. Is this a bug? Am I missing a major ingredient to make this work?
Maybe someone can help me find out what might be the issue here?
On a tangential note: Is there a irc help channel somewhere? I looked on freenode but couldn’t find anything there…