【问题标题】:Render markdown in jade template from file using Assemble使用 Assemble 从文件中渲染翡翠模板中的降价
【发布时间】:2014-11-30 21:01:58
【问题描述】:

Assemble documentation 中有关于从变量加载 Markdown 文件并使用如下把手呈现它的说明:

---
content: ../path/to/content.md
---
{{md  content }}

在使用 Jade 代替 Handlebars 时有什么方法可以做到这一点?

我知道您可以像这样在 Jade 中使用包含包含的过滤器:include:md path/to/markdown.md,但我正在尝试加载由变量定义的降价文件,如上例所示,以及 Jade doesn't support variables in includes

非常感谢。

【问题讨论】:

    标签: pug markdown assemble


    【解决方案1】:

    您是否尝试过使用包含包含的字符串插值?

    - var content = ../path/to/content.md
    include #{content}
    

    我没有设置来测试这个,所以我不确定它是否会工作。

    【讨论】:

    • 不,很遗憾,这不起作用。无法将变量传递给 Jade 包含这一事实......
    • 在 assemble v0.6.0 中,我们使用了不同的布局模块。它将允许您在布局处理期间使用变量(它使用 lodash),然后通过您选择的模板引擎(jade)呈现页面的其余部分。我会尝试收集一个样本来说明我的意思。
    • 谢谢 doowb。我很想知道你的意思。
    【解决方案2】:

    经过一番摸索,我构建了一个节点包,让我可以做我想做的事。

    assemble-markdown-import(从另一个包中大量借用:assemble-markdown-data) 允许您像这样在 YAML 数据源中定义降价文件:

    # entry.yml
    markdownFile: './text/about_julio_barnes.md'
    

    然后模块将读取 Markdown 文件,将其转换为 HTML,并将 YAML 条目替换为新呈现的 HTML。然后,您可以像这样将 HTML 直接导入 Jade 模板:

    div!=entry.markdownFile
    

    所以现在不需要用 Jade 转换 Markdown,也不需要使用包含。

    完整的说明在Github repo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 2012-04-23
      • 1970-01-01
      • 2015-04-11
      相关资源
      最近更新 更多