如何让降价在 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 其中有效):
./src/content/markdown/privacy.md
./src/content/partials/privacy.md
- 直接在模板中
我的模板位于 ./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
中的功能来处理此类情况。
我正在 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 其中有效):
./src/content/markdown/privacy.md
./src/content/partials/privacy.md
- 直接在模板中
我的模板位于 ./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
中的功能来处理此类情况。