把博客中的外部链接转换为网站内链,据说有利于搜索引擎收录。该插件主要由 benzBrake 大佬 编写,同时支持转换文章和评论中的链接。
上传插件
下载 Master Branch Code 后上传到 Typecho根目录/usr/plugins/
并解压,随后修改文件夹名称为 ShortLinks
,最后修改权限为 0755
。如下命令仅供参考,你可使用宝塔面板等操作。
cd Typecho根目录/usr/plugins/
git clone https://github.com/benzBrake/ShortLinks.git
chown -R www:www ShortLinks
chmod -R 0755 ShortLinks
启用插件
依次进入 控制台 - 插件 - 禁用的插件
,找到 ShortLinks
,点击 启用。现在刷新文章,查看外链是否转换成功。
修复冲突
实测插件与Mirages主题冲突,需做如下修改,当然若链接可正常转换则无需操作。打开 Typecho根目录/usr/plugins/ShortLinks/Plugin.php
,分别搜索如下内容并做相应修改,最后 禁用再启用插件
。
冲突一,搜索
代码语言:javascript复制Typecho_Plugin::factory('Widget_Abstract_Contents')->contentEx
更改为
代码语言:javascript复制Typecho_Plugin::factory('Mirages_Plugin')->contentEx
冲突二,搜索
代码语言:javascript复制Typecho_Plugin::factory('Widget_Abstract_Contents')->excerptEx
更改为
代码语言:javascript复制Typecho_Plugin::factory('Mirages_Plugin')->excerptEx
修改模板
左岸大佬为项目提供了四套跳转模板,可直接到插件设置选择。
{tabs-pane label="默认模板:"}
{/tabs-pane} {tabs-pane label="模板一"}
{/tabs-pane} {tabs-pane label="模板二"}
{/tabs-pane} {tabs-pane label="模板三"}
{/tabs-pane} {tabs-pane label="模板四"}
{/tabs-pane}
新页打开
插件设置里有 新标签页打开文章外链 的选项,实测评论区并不可以,临时方法是打个 JS 补丁。将以下代码加入到 标签中。对于Mirages主题,依次进入 控制台 - 外观 - 设置外观 - 主题自定义扩展
,将代码加入到 自定义 HTML 元素拓展 - 标签: head 头部 (meta 元素后)
,也可直接加入到主题对应的 header.php
中的 标签前。
// 评论区外链在新窗口打开
document.addEventListener('DOMContentLoaded', initOuterLinkInComment);
function initOuterLinkInComment() {
document.querySelectorAll('.comment-list a[href^="' location.origin '/go/"]').forEach(a => a.target = '_blank');
}
如果你开启了 PJAX
,可能需要单独加入回调函数。对于Mirages主题,依次进入 控制台 - 外观 - 设置外观 - PJAX(BETA) - PJAX RELOAD
,将 initOuterLinkInComment();
添加进入即可。
本文转自:LOGI