如何在Handlebars模板中使用metalsmith永久链接

How do I use metalsmith-permalinks in a Handlebars template

本文关键字:metalsmith 链接 Handlebars      更新时间:2023-09-26

我已经设置好集合并正常工作。

我正在循环浏览项目的集合

{{#each collections.projects}}
    <a href="" class="portfolio-entry">
        <div class="info-frame portfolio-title">
            <h4>{{this.title}}</h4>
        </div>
        <div class="info-bits centerContext">
            <ul class="centerElement">
                <li class="info-bit">{{this.skills}}</li>
                <li class="info-bit">{{this.type}}</li>
                <li class="info-bit">{{this.platform}}</li>
            </ul>
        </div>
        <div class="project-thumbnail">
            <img src="{{this.thumbnail}}" alt="">
        </div>
    </a>
{{/each}}

我想使用metalsmith永久链接来解决每个链接的url

我试过各种蹩脚的东西,比如这个

<a href="{{this.permalink}}" class="portfolio-entry">

和这个

<a href="{{this.url}}" class="portfolio-entry">

当然,它们都不起作用。

我很难在网上找到任何关于如何在模板中实际使用永久链接的详细信息。

permalinks插件添加了似乎没有很好记录的path元数据属性。这应该是你需要实现的链接。

Github页面注释:

如果没有提供模式,则不会重新映射文件,但仍将设置path元数据键,以便您可以使用它来输出指向模板中文件的链接。

我还没有发现其他任何地方可以证明这一点,但我认为上面的引用意味着这是标准行为。

你可以像这样使用它:

{{#each collections.projects}}
    <a href="/{{this.path}}/" class="portfolio-entry">

第一个/解析为当前主机,后面的/是可选的(取决于您的http服务器配置。