问题标签 [assemble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gruntjs - 如何从 Grunt 任务的输出文件结构中省略文件夹
我正在运行一个 grunt 任务来构建一个 Assemble 站点。
我的任务配置如下:
在我的源文件中,我有这样的结构:
这是输出类似的东西:
如何设置任务以使其不包含 /pages 文件夹但仍生成子文件夹?
gruntjs - 在 Grunt 中运行 Assemble 和 Prettify 的问题
在 Assemble 创建文件后,我试图让 prettify 运行一个目录并将 html 文件美化到同一目录中。一起运行默认任务时,prettify 会抛出错误:
随后,当我单独运行每个任务时,一切正常:
这是我的 Gruntfile:
有人可以指出我正确的方向吗?可以美化输出到相同的源目录吗?
javascript - 从单个 json 数据源组装站点生成
我正在努力让 Assemble 满足我的需求,我很高兴地承认它可能不是适合这项工作的工具。
我想要一个 json 数据源。说:
并让它生成一个具有类似文件夹结构的站点:
确切的结构并不那么重要,但我在尝试使用单个数据源来生成任何层次结构时遇到了死胡同。
我尝试过每个博客都有自己的“blog-1.json”,但也没有成功。
handlebars.js - 组装:注册车把辅助功能
我正在使用assemble 0.4.17,它捆绑了车把 1.3.0。
我正在尝试添加此处记录的自定义车把助手。
所以我将它添加到我的 Gruntfile 中(在文件的底部,在 之外module.exports = function(grunt) {
)
Gruntfile.js
并将其添加到
index.hbs
我建议它asdf here!
会出现在生成的 html 中,但它不会,而是只打印一个空行。我也尝试了该module.exports.register = function (Handlebars, options)
方法,但效果不佳。我需要添加其他东西来添加这个车把助手吗?
我是 Assemble 和 grunt 和车把的新手,所以我可能只是错过了明显的
handlebars.js - assemble/handlebars:为模板定义数据上下文
在 assemble 中,我想定义一个数据层次结构,然后在一个模板中处理数据的子集,如何实现?
例子
阶段.yaml
然后像这样定义数据子集:
索引.hbs
我尝试注册以下助手:
helpers.js
但虽然没有错误,但没有<p>
显示。
为了完整起见,这是我的组装选项:
Gruntfile.js
gruntjs - 如何根据开发/构建上下文在 Assemble 中包含不同的内容部分?
我已经开始使用assemble /Grunt 来尝试改进我的工作流程,以便为我使用的 CMS 创建模板。我想弄清楚的是:是否可以在开发时(即,在“grunt watch”期间)在我的模板中使用 HTML 内容的块/部分,然后用我的 CMS 在最终的 HTML 输出(即当我执行“grunt build”时)。像下面这样的东西?
如果在开发/监视模式下,将输出
但在构建模式下,会输出
这是否可能,无论是使用 Handlebars 语法、Assemble 助手还是 Grunt 任务(类似于 grunt-usemin?)
handlebars.js - 组装/车把:运行在外部 js 文件中定义的自定义函数
鉴于我有这个 javascript 文件
src/js/functions.js
该文件是静态网站的一部分,我想在模板中使用 crc32(),如下所示:
索引.hbs
当然这需要一个中间帮手
helpers.js
我不想将 crc32 代码复制粘贴到帮助程序中(因为这会复制代码)。有没有办法将外部 JS 文件加载到助手的命名空间中?
gruntjs - 如何识别页面集合中的当前页面?
我正在使用 Grunt 的 Assemble.io 配置静态站点生成器。我正在使用 Pages Collection 来构建一个导航列表,如下所示:
我也想申请class="active"
当前页面的导航项,但我不知道如何处理这个问题。我的第一个想法是尝试将集合的当前迭代的标题与正在呈现的页面的标题进行比较,但这有两个问题:
- 把手中的
if
助手似乎没有办法比较两个表达式。我可以编写一个自定义助手,但我想在尝试之前知道这是最好的方法。 - 我不知道如何区分
title
当前集合迭代的迭代和当前页面的迭代。title
据我所知,它们都被简单地称为。
如何确定页面收集循环何时在正在呈现的当前页面的页面上运行?
handlebars.js - assemble:访问 {{parseJSON}} 中的全局变量
假设您有某种局部变量,它使用全局变量:
将部分包含特定数据{{parseJSON}}
或外部 JSON 数据后:
所有全局变量,如{{assets}}
“杀死”或至少被覆盖。还有机会访问吗?
提前致谢!