如何让降价在 Assemble 中工作?

How to get markdown working in Assemble?

我正在 grunt 中设置 assemble。这有点困难,因为开发人员似乎对安装过程进行了很多更改,但没有更新的文档。

有谁知道如何设置降价处理?

我已经尝试了一些东西 - 我发现 post 提到了安装 handlebars-helper-md,所以我试了一下。

我的 assemble 任务如下所示:

assemble: {
    options: {
        layout: 'page.hbs',
        layoutdir: './src/content/layouts',
        partials: ['./src/content/partials/**/*.hbs', './src/content/partials/**/*.md'],
        assets: 'assets',
        helpers: ['handlebars-helper-md'],
        data: ['package.json', './src/content/data/*.json'],
        marked: {
            breaks: false,
            gfm: true,
            langPrefix: 'language-',
            pedantic: false,
            sanitize: false,
            silent: false,
            smartLists: false,
            smartypants: false,
            tables: true
        }
    },
    project: {
        files: [{
            cwd: './src/content/pages',
            dest: './dist/www',
            expand: true,
            src: ['**/*.hbs']
        }]
    }
},

然后我将 markdown 文件放入这些地方(none 其中有效):

  1. ./src/content/markdown/privacy.md
  2. ./src/content/partials/privacy.md
  3. 直接在模板中

我的模板位于 ./src/content/pages/content/privacy-policy.hbs 中,如下所示:

title: Privacy
description: The privacy policy
tags:
- content
- legal
text: ./markdown/privacy.md
---
<div class="row">
    <div class="col s12">
        <p>This is a quick test for the privacy policy content</p>

        <div style="border: 1px solid black">
            Test 1:
            {{md './markdown/privacy.md'}}

            relative to the hbs file perhaps?
            {{md '../../markdown/privacy.md'}}

        </div>
        <div style="border: 1px solid black">
            Test 2:
            {{>privacy}}

        </div>
        <div style="border: 1px solid black">
            Test3:

            {{md text}}

        </div>
        <div style="border: 1px solid black">
            Test4:
            {{#markdown}}
                ## Hello World
            {{/markdown}}

        </div>
    </div>
</div>



            smartLists: false,
            smartypants: false,
            tables: true
        }
    },
    project: {
        files: [{
            cwd: './src/content/pages',
            dest: './dist/www',
            expand: true,
            src: ['**/*.hbs']
        }]
    }
},

然后,基本上有两种方法可以工作 - 但不处理降价。这是输出的图片:

handlebars-helper-markdown 仍然设计为与 grunt-assemble 一起使用,它会查找已在任务配置中使用 partials 选项注册的部分。

您只需将 ./src/content/markdown/*.md 添加到 partials 数组,然后使用 {{md "privacy"}} 帮助程序找到要渲染的 privacy.md 文件。

我注意到您在 2 个地方有 privacy.md。在 grunt-assemble 中,这将导致仅加载最后的 privacy.md 部分。仅供参考,以防您 运行 陷入该问题。我们将很快重构 grunt-assemble 内部结构以匹配 assemble@0.7.0 中的功能来处理此类情况。