问题标签 [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.
static-site - 如何在本机上使用 metalsmith 设置活动菜单项?
我有一个带有主导航的简单静态站点。与金属匠发电机一起工作。
是否有一种将当前菜单项设置为活动的本地方法?
我目前的非自动化解决方案:
我刚刚做了一个解决方法,如下所示。
一个 MD 文件page1.md
作为内容源,我可以在顶部定义一些变量:
和我的布局 HTML 文件main.html
。在哪里handlebars
用作引擎。我只是在这里张贴菜单的一部分:
两者都经过金属匠渲染。我current
在菜单的第 1 页上有一个课程。
问题
到目前为止,我的解决方案有效,但随着我的网站规模扩大。我需要一次又一次地为每个站点定义“当前”。如果我不注意这将导致配置错误......我确实喜欢在我的主要导航标记上拥有自由,因为有一些专业。所以我可以自己为新页面创建这个。
我可以使用metalsmith-permalinks
ormetalsmith-canonical
插件以某种方式设置活动菜单项,或者是否存在适合这种情况的金属匠插件,或者可能有另一个聪明的 JS 操作?
javascript - Metalsmith 布局导致“没有要处理的文件”错误
我认真地按照官方社区驱动文档的教程进行操作,但未能编译使用 Handlebars 和 metalsmith-layouts 的项目。出现“Metalsmith·没有要处理的文件”错误。
这是我的目录结构:
构建.js:
和 main.hbs:
javascript - 通过 Javascript 直接从数组创建金属匠集合
我正在使用 Metalsmith 的 JavaScript API 和metalsmith-collections
. dogs
我有一个自定义构建脚本,它组装了一个我想用来创建新集合的数组。
没有文件dogs
; 它只是我自己创建的一个数组。如何指示metalsmith-collections
从数组创建集合?
node.js - metalsmith-in-place 给出模板渲染错误:(未知路径)
我有一个相当大的 Metalsmith 项目,使用 Nunjucks 进行模板(即使用metalsmith-in-place
,它使用jstransformer-nunjucks
):
当我运行构建脚本时,我从具有“未知路径”的模板中收到模板错误:
我不知道我的许多 Nunjucks 文件中的哪一个导致了错误。如何让 metalsmith-in-place 给我导致问题的文件路径?
nunjucks - Metalsmith 没有逃脱 Markdown + Nunjucks 的输出
我被这个问题困住了。当我按照metalsmith-in-place Wiki 中的说明使用 Markdown + Nunjucks 时,输出是错误的(见下文)。
默认布局,注意safe
过滤器(_layouts/base.njk
):
使用 Markdown + Nunjucks ( about.md.njk
) 的模板:
输出:
javascript - 车把/节点更改日期格式
通过 Handlebars 将日期字段输出到服务器端的 HTML 时,它给我的格式与调试时 API 中可见的格式不同。我尝试使用双括号和三括号进行输出。我需要那个纯UTC时间。
API 数据
模板(车把)
预计出局
实际输出
javascript - Moleculer-Cli 启发项目:如何使用 EJS 代替 Handlebars
我正在尝试创建一些脚手架工具来轻松地以我想要的方式启动项目。我喜欢来自分子的人在他们的https://github.com/moleculerjs/moleculer-cli中的做法
他们使用 Handlebars,所以现在我可以在我的模板中执行此操作(例如 package.json 的模板):
效果很好,但我更喜欢使用 ejs。不幸的是,我不知道如何成功更改 init.js 文件,因此 Metalsmith 可以咀嚼这样的东西:
webpack - 使用 webpack 的文件加载器时,捆绑的资产似乎有错误的路径
我是 Webpack 的新手,很难将它与 metalsmith 融合在一起。目前我有以下文件夹结构:
这就是我的 webpack.config.js 的样子
这是我的切入点的一部分site.js
我可以看到 webpack 拾取资产,它们确实显示在正确的相应dist/assets/
文件夹中。然而,虽然来自 scss 的样式正在被应用,但存储在其中的 html 文件dist/site
似乎找不到资产。
这是为什么?我该如何解决这个问题?
glob - 试图从 metalsmith-simple-search 中排除特定文件
我正在尝试使用 match 属性从 metalsmith-simple-search 中排除 2 个特定页面。例子:
默认"**/*.{htm,html}"
匹配网站上的每个页面,但我不想包含自定义 404 页面或搜索页面本身。
我的修改"!(error-404|search)**/*.{htm,html}"
删除了不需要的页面,但也删除了网站的主页。我所有恢复主页的尝试都没有添加错误 404 和搜索,但都失败了。
有没有人足够熟悉这里的模式如何匹配来帮助我?