【发布时间】:2017-02-07 11:09:00
【问题描述】:
我已经建立了一个 hexo 博客并配置了两个顶级域指向同一个实例e.g. domain.com and domain.org
我想为整个网站设置规范 URL。对此有plugin,但我不知道该怎么做,因为我不知道jade或ejs。
有什么方法可以在修改或不修改主题的情况下做到这一点?
【问题讨论】:
标签: pug ejs github-pages static-site hexo
我已经建立了一个 hexo 博客并配置了两个顶级域指向同一个实例e.g. domain.com and domain.org
我想为整个网站设置规范 URL。对此有plugin,但我不知道该怎么做,因为我不知道jade或ejs。
有什么方法可以在修改或不修改主题的情况下做到这一点?
【问题讨论】:
标签: pug ejs github-pages static-site hexo
不,如果不修改主题(或使用已经支持它的主题),就无法做到这一点。
主题是您页面的一种模板,在网站生成过程中处理主题并插入您的内容,结果保存为.html 文件。自定义主题很容易,只包含规范链接。
由于我不知道您使用的是什么主题,我将选择tranquilpeak 作为示例。在主题源中找到layout/_partial/head.ejs,这个文件负责生成你博客中每个HTML文件的<head>部分。在这个文件中,在<head> 标签之后,您将放置插件助手<%- autoCanonical(config, page) %>。
这里的EJS,是一种模板语言。标签<% %> 中的内容将在站点生成期间进行处理,并将其结果放入最终的 HTML 文件中。您提到的插件有一个名为 autoCanonical 的辅助函数,它将由 Hexo 的 EJS 预处理器进行评估,它返回的任何内容都将转到 HTML。
编辑:
使用主题https://github.com/tufu9441/maupassant-hexo(Jade 模板)
这个主题是基于 Jade 模板的,你应该在 Line 26 of base.jade 文件附近添加插件助手,并且对 this place on base-without-sidebar.jade 文件进行类似的修改
| !{ autoCanonical(config, page) }
会成功的。
【讨论】: