问题标签 [metalsmith]
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.
node.js - Metalsmith 静态网站页面缺少元数据
我一直在尝试设置Metalsmith的教程,并且我已经完成了第 1 部分。
我已经安装了 node.js 和模块。IDE 是安装了 Node.js 工具的 Visual Studio 2013。我已经放入了一个基本结构,并且正在尝试使用模板来呈现单个页面。
说明告诉将以下内容放入文件中:
使用如下模板:
该教程说它应该渲染成一个html页面,但我得到的结果是这样的:
当我使用降价渲染器时,它给出
调试代码显示,当它到达渲染器时,缺少YAML 前端元数据。这似乎很重要,因为插件使用元数据来呈现页面。
metalsmith - Metalsmith静态站点生成器:如何使页面的URL:一/二/三?
如何制作页面的URL:一/二/三?这项工作必须通过url
模板中的变量来完成。我使用metalsmith-permalinks 插件。我把它连接起来了,模式被指定为:url
.
稍后在模板中写入 url: hello/world
。但是这个页面的网址被转换成hello-world
.
如何使页面地址,类型hello/world
?
javascript - Metalsmith插件:为什么tiny-lr服务器启动了两次?
我正在尝试编写一个metalsmith 插件,该插件在文件更改时重建文件并通过tiny-lr重新加载页面。
观察和重建工作正常,但是当文件更改时,tiny-lr 服务器会再次启动——这会导致错误,因为服务器已经在运行。
这是插件代码:
文件更改时的控制台输出:
为什么服务器第二次启动?
我怎样才能防止它被启动?
奖金问题:
为什么控制台消息的顺序与我在查看代码时所期望的顺序不同?特别是,为什么在“观看文件”之后会出现“构建成功”?我认为它应该直接出现在“重建文件...”之后。
content-management-system - Metalsmith 和内容同步
我一直在使用 metalsmith 内容丰富的插件。我想知道我是否有静态站点生成器的想法,但是如果每次内容发生更改时我都必须运行构建,那么这样做的目的是什么。
有没有办法让我的服务器上有金属匠,并在内容发生变化时发布构建,或者这是一个坏主意。
除了使用静态站点生成器访问数据库之外,还有什么建议可以使站点与内容保持同步。
javascript - Metalsmith.js:如何构建到与构建脚本相同的目录?
我对金属匠完全陌生。我一直在关注本教程:http ://www.robinthrift.com/post/metalsmith-part-1-setting-up-the-forge/
我想将我的站点构建到我的项目的根目录(与构建脚本相同的目录)。我想这样做是因为我希望 github 页面可以很好地使用它。但是当我尝试构建时,我收到此错误:错误:EBUSY,资源繁忙或锁定
这是我的目录结构:
- 项目文件夹/
- _site-src/
- 索引.html
- 节点模块
- 构建.js
- 包.json
- _site-src/
这是我的 build.js 源代码:
我希望我的项目目录看起来像:
- 项目文件夹/
- _site-src/
- 索引.html
- 节点模块
- 构建.js
- 包.json
- 索引.html
- _site-src/
我不知道我做错了什么。我很感激任何帮助。
node.js - 使用 mocha 测试应该抛出错误的 metalsmith 插件
我正在用 mocha 编写一个 metalsmith 插件及其相关的测试套件。
如果缺少配置,插件应该抛出异常:
我尝试以这种方式用摩卡测试它:
当我运行测试时,我得到了这个结果:
所以看起来测试还可以,但不知何故又运行了一次,这次失败了......
javascript - 如何深度编译嵌套的车把内容?
我正在做的一个项目使用 Handlebars.js 模板系统。它读入内容,并在编译模板时在适当的地方注入内容:
在这种情况下,把手是用一个 JS 对象编译的,该对象的content
属性是一个文本字符串或 HTML(因此是三重括号)。
然而,内容值(文本或 HTML)也完全有可能包含把手插值代码:
目前输出<p>{{ foobar }}</p>
但我打算得到的是<p>foo</p>
.
车把是否具有此嵌套内容的功能,或者是否需要自定义助手?( {{{custom_parse content}}}
)?
对于这个问题的上下文
这种情况源自构建系统 (metalsmith),该系统将文件作为 markdown 读取,将它们转换为 HTML,将结果附加到对象的content
属性file
,然后解析将其注入file.content
输出的把手模板。所有这一切,我希望有一个解决方案可以将把手或字符串插值放入降价中,这样降价文件就可以访问模板可以访问的相同变量(显然更多的全局值config.json
不是与文件对象关联的值正在建设中)。
javascript - Why is Markdown rendering
I'm using Gulp + Gulpsmith + Metalsmith to create my website.
metalsmith_markdown is rendering my HTML as follows:
# This is an H1
to <h1 id="this-is-an-h1">This is an H1</h1>
. Why is it rendering that 'id' tag?
Why might that be?
Here's the part that deals with the markdown rendering in my Gulpfile.js
javascript - 如何在 Handlebars 模板中使用 metalsmith-permalinks
我已经设置了集合并正常工作。
我正在循环浏览一系列项目
我想使用 metalsmith-permalinks 来解析每个链接的 url
我尝试了各种像这样的蹩脚的东西
和这个
当然 - 它们都不起作用。
我很难找到任何关于如何在网上任何地方实际使用模板中的永久链接的详细信息。
javascript - Metalsmith 示例不适用于 1.0(集合 + 永久链接)
我在网上找到了一个使用collections
and的例子permalinks
,代码是这样的:
转换此文件结构:
至:
请注意,src/index.md
已转换,以及集合。但在 中1.0.0
,相同的代码仅转换集合并引发错误index.md
:Error: UNKNOWN, open '/home/index.html'
任何想法?