Удалить index.html из шестнадцатеричного URL?

Как в Hexo удалить бит index.html из page.path?

Мой код:

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

Визуализированный HTML:

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

заранее спасибо


person user5898548    schedule 04.10.2016    source источник
comment
какова конечная цель этого?   -  person Louis Barranqueiro    schedule 13.10.2016
comment
Для SEO хорошо, если канонический URL-адрес совпадает с URL-адресом, я получаю только /index.html на страницах, но сообщения в порядке.   -  person user5898548    schedule 21.10.2016


Ответы (2)


Этот запрос находится на дорожная карта для Hexo 4.0. Это еще не реализовано (на момент написания этого ответа).

В приведенной выше проблеме сапегин предложил обходной путь с помощью пользовательского помощника:

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) %>

Это не так хорошо, как встроенная переменная, но работает.

person Nate Barbettini    schedule 15.10.2018

Потому что страницы нужно размещать в подкаталоге. Это выглядит так:

source
  _posts
  ...
  about
    index.md

Это все. Здесь не нужны никакие помощники.

P.S. Вы также можете увидеть живой пример и исходный код с этим.

person Ivan Nginx    schedule 11.12.2018