在前端开发过程中,我们经常需要使用静态网站生成器来生成我们的网站。Jekyll 是一个非常受欢迎的静态网站生成器,而 Metalsmith 则是另外一款流行的静态网站生成器。我们可以使用 NPM 包 metalsmith-jekyll-dates 来将 Jekyll 风格的日期功能添加到 Metalsmith 中。
安装 metalsmith-jekyll-dates
首先,我们需要在我们的项目中安装 metalsmith-jekyll-dates。可以通过以下命令进行安装:
npm install metalsmith-jekyll-dates --save-dev
使用 metalsmith-jekyll-dates
接下来,我们需要使用 metalsmith-jekyll-dates 来生成我们网站的日期。
上下文
首先, metalsmith-jekyll-dates 需要一个上下文对象来工作。这个上下文对象必须包含一个 metadata 属性,这个属性是一个对象,包含我们网站中的元数据信息。这个 metadata 属性中必须包含一个叫做 "collections" 的属性,这个属性是一个对象,包含我们网站的所有集合。
以下是一个示例上下文对象:
-- -------------------- ---- ------- --- ------- - - --------- - ----- - ------ ------- ------- --- -- ------------ - ------ - ----- ------------- ------- ------- -------- ---- - - - --
插件
接下来,我们需要使用 Metalsmith 的插件机制来启用 metalsmith-jekyll-dates。我们需要添加以下代码到我们的 Metalsmith 配置中:
-- -------------------- ---- ------- --- ---------- - ---------------------- --- ----------- - ----------------------------------- --------------------- -- ------ -------- - ------------------ ------------ ---------------------------- --- -- ------ ---- - --------------- ----- - -- ----- ----- ---- ---
模板
最后,我们需要在我们的模板中使用日期。
以下是一个示例 Jekyll 模板中使用日期的代码:
{% for mypost in site.posts %} <article> <h1>{{ mypost.title }}</h1> <p>{{ mypost.date | date: "%Y-%m-%d" }}</p> <div>{{ mypost.content }}</div> </article> {% endfor %}
以下是一个示例使用了 metalsmith-jekyll-dates 后在 Metalsmith 中使用日期的代码:
{% for mypost in collections.posts %} <article> <h1>{{ mypost.title }}</h1> <p>{{ mypost.date | date: "%Y-%m-%d" }}</p> <div>{{ mypost.content }}</div> </article> {% endfor %}
如你所见,这两段代码非常相似。在上面的示例中,我们使用了 "site.posts",而在下面的示例中,我们使用了 "collections.posts"。这是因为在 Jekyll 中,我们可以在 "site" 对象中找到我们的文章数据,而在 Metalsmith 中,我们必须通过 "collections" 对象来找到我们的文章数据。
以上就是使用 metalsmith-jekyll-dates 的全部教程。希望对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb60bb5cbfe1ea06114c9