标签:handlebars-js metalsmith javascript
我正在使用Metalsmith创建一个以Handlebars为模板的网站.
我创建了一个名为/articles/index.html的存档页面,该页面将/ articles /中的所有文章按时间顺序列出,但是当我单击存档页面中的链接时,它会将我带到/ articles / articles / example-post. html代替/articles/example-post.html.如何使我进入URL的绝对版本而不是相对版本?
我用来生成档案的Handlebars脚本是:
{{#if archive}}
<ul>
{{#each collections.article}}
<li><a href={{path}}>{{date}} - {{title}} {{description}}</a></li>
{{/each}}
</ul>
{{/if}}
{{path}}元数据由Metalsmith自动生成.当我在生成的文件上调用console.log时,得到的输出如下:
'/articles/example-post/index.html':
{ title: 'Example Post',
...
path: 'articles/example-post'
...
}
我的主页上有一个几乎相同的设置,其工作原理完全相同.知道如何在子文件夹中运行它吗?
编辑:好的,我应该清楚:我意识到{{path}}是相对链接,而不是绝对链接.我的问题应该是:“当我只使用{{path}}并且是相对的时,如何使它正常工作?是否应该访问另一个变量以产生正确的链接?或者是否有一个如何编辑{{path}}以使其指向正确的文件?据我所知,无法在Handlebars中编辑变量,因此无法在链接上附加’/’或去除开头的“文章/”.
解决方法:
通常,最好使用相对URL而不是绝对URL,因此您的应用程序不会绑定到该应用程序环境.
但是,如果您需要使用绝对值,则可以使用/ path / to / somewhere而不是path / to / somewhere
它适用于您的首页而不是其他页面的原因是,当您位于首页时,相对路径和绝对路径之间没有区别.因此/ root时/ location / path和location / path相同.
这是将/放在前面的另一种选择:
< a href =“ / posts /{{../ permalink}}#{{id}}”> {{title}}< / a>
标签:handlebars-js,metalsmith,javascript 来源: https://codeday.me/bug/20191108/2009768.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。