问题标签 [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.

0 投票
1 回答
118 浏览

static-site - 如何在本机上使用 metalsmith 设置活动菜单项?

我有一个带有主导航的简单静态站点。与金属匠发电机一起工作。

是否有一种将当前菜单项设置为活动的本地方法?


我目前的非自动化解决方案:

我刚刚做了一个解决方法,如下所示。

一个 MD 文件page1.md作为内容源,我可以在顶部定义一些变量:

和我的布局 HTML 文件main.html。在哪里handlebars用作引擎。我只是在这里张贴菜单的一部分:

两者都经过金属匠渲染。我current在菜单的第 1 页上有一个课程。


问题

到目前为止,我的解决方案有效,但随着我的网站规模扩大。我需要一次又一次地为每个站点定义“当前”。如果我不注意这将导致配置错误......我确实喜欢在我的主要导航标记上拥有自由,因为有一些专业。所以我可以自己为新页面创建这个。

我可以使用metalsmith-permalinksormetalsmith-canonical插件以某种方式设置活动菜单项,或者是否存在适合这种情况的金属匠插件,或者可能有另一个聪明的 JS 操作?

0 投票
1 回答
221 浏览

javascript - Metalsmith 布局导致“没有要处理的文件”错误

我认真地按照官方社区驱动文档的教程进行操作,但未能编译使用 Handlebars 和 metalsmith-layouts 的项目。出现“Metalsmith·没有要处理的文件”错误。

这是我的目录结构:

构建.js:

和 main.hbs:

0 投票
1 回答
69 浏览

javascript - 通过 Javascript 直接从数组创建金属匠集合

我正在使用 Metalsmith 的 JavaScript API 和metalsmith-collections. dogs我有一个自定义构建脚本,它组装了一个我想用来创建新集合的数组。

没有文件dogs; 它只是我自己创建的一个数组。如何指示metalsmith-collections从数组创建集合?

0 投票
0 回答
69 浏览

node.js - metalsmith-in-place 给出模板渲染错误:(未知路径)

我有一个相当大的 Metalsmith 项目,使用 Nunjucks 进行模板(即使用metalsmith-in-place,它使用jstransformer-nunjucks):

当我运行构建脚本时,我从具有“未知路径”的模板中收到模板错误:

我不知道我的许多 Nunjucks 文件中的哪一个导致了错误。如何让 metalsmith-in-place 给我导致问题的文件路径?

0 投票
1 回答
91 浏览

nunjucks - Metalsmith 没有逃脱 Markdown + Nunjucks 的输出

我被这个问题困住了。当我按照metalsmith-in-place Wiki 中的说明使用 Markdown + Nunjucks 时,输出是错误的(见下文)。

默认布局,注意safe过滤器(_layouts/base.njk):

使用 Markdown + Nunjucks ( about.md.njk) 的模板:

输出:

0 投票
0 回答
306 浏览

javascript - 车把/节点更改日期格式

通过 Handlebars 将日期字段输出到服务器端的 HTML 时,它给我的格式与调试时 API 中可见的格式不同。我尝试使用双括号和三括号进行输出。我需要那个纯UTC时间。

API 数据

模板(车把)

预计出局

实际输出

0 投票
1 回答
77 浏览

javascript - Moleculer-Cli 启发项目:如何使用 EJS 代替 Handlebars

我正在尝试创建一些脚手架工具来轻松地以我想要的方式启动项目。我喜欢来自分子的人在他们的https://github.com/moleculerjs/moleculer-cli中的做法

他们使用 Handlebars,所以现在我可以在我的模板中执行此操作(例如 package.json 的模板):

效果很好,但我更喜欢使用 ejs。不幸的是,我不知道如何成功更改 init.js 文件,因此 Metalsmith 可以咀嚼这样的东西:

0 投票
1 回答
87 浏览

webpack - 使用 webpack 的文件加载器时,捆绑的资产似乎有错误的路径

我是 Webpack 的新手,很难将它与 metalsmith 融合在一起。目前我有以下文件夹结构:

这就是我的 webpack.config.js 的样子

这是我的切入点的一部分site.js

我可以看到 webpack 拾取资产,它们确实显示在正确的相应dist/assets/文件夹中。然而,虽然来自 scss 的样式正在被应用,但存储在其中的 html 文件dist/site似乎找不到资产。

这是为什么?我该如何解决这个问题?

0 投票
0 回答
19 浏览

glob - 试图从 metalsmith-simple-search 中排除特定文件

我正在尝试使用 match 属性从 metalsmith-simple-search 中排除 2 个特定页面。例子:

默认"**/*.{htm,html}"匹配网站上的每个页面,但我不想包含自定义 404 页面或搜索页面本身。

我的修改"!(error-404|search)**/*.{htm,html}"删除了不需要的页面,但也删除了网站的主页。我所有恢复主页的尝试都没有添加错误 404 和搜索,但都失败了。

有没有人足够熟悉这里的模式如何匹配来帮助我?