【问题标题】:How to add canonical link in hexo blog?如何在 hexo 博客中添加规范链接?
【发布时间】: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


    【解决方案1】:

    不,如果不修改主题(或使用已经支持它的主题),就无法做到这一点。

    主题是您页面的一种模板,在网站生成过程中处理主题并插入您的内容,结果保存为.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) }
    

    会成功的。

    【讨论】:

    • 找到了位置,注意主题项目的layout目录里面有你hexo博客的所有layout。例如,post 使用 post 布局保存在 post.jade 上。它的内容在基础、翡翠布局的“块内容”内展开。因此 base.jade 具有基本的 html 脚手架,其他布局用于填补空白(页脚、页眉、侧边栏等)。
    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多