I’m trying display a template in markdown (tried both markdown
and chuangbo:marked
)
but Blaze appears to try an render it as a template
e.g.
<template name="mdtest">
{{#markdown}}
```html
<template name="test">
<p>hello world</p>
</template>
```
{{/markdown}}
</template>
generates an error
=> Errors prevented startup:
While building the application:
client/components/markdown/test.html:5: Expected {{else}} or block close for markdown
…
hello world
^
=> Your application has errors. Waiting for file change.
any ideas how
After getting exactly the same error, I followed the example in the docs. It appears that the {{#markdown}}
tag only works exactly as expected in “single-in-line” mode:
{{#markdown}}This *is* **markdown**{{/markdown}}
results in
<p>This <em>is</em> <strong>markdown</strong></p>
and renders as expected:
This is markdown
However,
{{#markdown}}
This *is* **markdown**
{{/markdown}}
Results in
<pre>
<code>
This *is* **markdown**
</code>
</pre>
which doesn’t work as expected.
In the case of your example, the embedded <template>
tag is being treated as an actual <template>
tag, not a piece of literal text to be rendered in the code block. Hence the confusion - it hasn’t seen {{/markdown}}
and (it thinks) a new template has arrived.
At the end of all that, I still don’t know how to solve your issue. I rolled meteor back to 1.0.2 via 1.1.0.3 and got exactly the same results, so this appears to be how it’s always worked.
1 Like
thanks for looking at this Rob,
on the whole I find that markdown works on big blocks too, and with simple:highlighting
can highlight code blocks
but, as we’ve both discvered, Blaze stills wants to render the <template>
and any {{spacebars}}
1 Like