从Hexo URL中删除index.html?

时间:2016-10-04 07:20:25

标签: ejs hexo

在Hexo中如何从 page.path 中删除index.html位?

我的代码:

<link rel="canonical" href="<%= config.url %>/<%= page.path %><% } %>">

呈现HTML:

<link rel="canonical" href="http://yoursite.com/about/index.html">

提前谢谢

2 个答案:

答案 0 :(得分:1)

requestroadmap for Hexo 4.0上。尚未实现(在撰写此答案时)。

在上述问题中,sapegin使用自定义帮助程序提供了一种解决方法:

hexo.extend.helper.register('page_url', function(path, options) {
    return this.url_for(path, options).replace(/index\.html$/, '');
});

如果将此帮助程序放在scripts/helpers.js之类的文件中,则可以在其帖子和页面中使用它:

<%= page_url(page.path) %>

它不如内置变量好,但它可以工作。

答案 1 :(得分:0)

因为页面需要放置在子目录中。看起来像这样:

source
  _posts
  ...
  about
    index.md

仅此而已。这里不需要任何帮助。

P.S。您还可以看到live examplesource code