沙唐桔

WordPress 4.5.2 安全更新

早上醒来,收到邮件博客已被自动更新至 WordPress 4.5.2,一个安全更新。

有些时候写博文会引用很多外部链接,如果这些外部链接全部放在文中感觉有些不妥,至少在美观度上就有些偏离大众审美,特别是对于一些很长又不规律的链接。而统一放到文末,可能读者一时半会看不出哪里引用了。

于是按照 Fooleap's Blog 的 JavaScript 实现参考资料功能 教程依葫芦画瓢添加了一个小功能 —— 根据文章内容在文末特定位置自动生成参考资料内容,并可相互跳转、高亮。(已去除该功能-2016.7.18

下面来个 GIF 先感受一下这个功能:

详细教程请看原文,我稍稍修改了一下,原代码只对站外链接做处理,因为我想站内标注也用此方法,所以加了个对 href = ## 的指定链接也作同样的处理,下面直接上代码。

js 代码

//自动参考资料 start
var autorefa = /^参考资料/;
var autorefb = /^标注/;
$('.single-content h3').last().each(function() { // 选取文章最后一个 h3,.single-content h3 根据主题实际修改
if ($(this).text().match(autorefa) || $(this).text().match(autorefb)) {
$(this).after('<ol id="refs"></ol>')
}
});

// 选择非本站链接 与 href="##" 的链接
$('a[href*="##"],[href*="http:"]:not([href*="' + location.hostname + '"]), [href*="https:"]:not([href*="' + location.hostname + '"])').each(function(){
// 去掉所选链接文本的最前、最后字符
var num = $(this).text().substring(1, $(this).text().length-1);
// 判断是否为数字
if(!isNaN(num) && num){
var note = 'note-' + num;
var ref = 'ref-' + num;
var noteTitle = $(this).attr('title');
var noteHref = $(this).attr('href');
$(this).attr({href: '#' + note, id: ref, 'class': 'ref anchor-fix'}).wrap('<sup>');
$('#refs').append('<li class="note"><a class="anchor-fix" href="#'+ ref + '">&and;</a> <a href="'+ noteHref + '" title="' + noteTitle + '" id="' + note +'" class="exf-text" target="_blank">' + noteTitle + '</a></li>')
}
})

var noteLinks = $('a[href^="#note"], a[href^="#ref"]');
noteLinks.click(function(){
// 清除背景颜色
noteLinks.parent().css('background-color', '');
// 高亮目标背景
var href = $(this).attr('href');
$(href).parent().css('background-color', 'rgb(235, 235, 235)');
})
//自动参考资料 end

html 代码示例

外站链接参考资料:Fooleap's Blog <a href="http://blog.fooleap.org/reference.html" title="JavaScript 实现参考资料功能 | Fooleap's Blog">[1]</a>

<h3>参考资料</h3>

-------------------- 分隔线 --------------------

标注/注释:Fooleap's Blog <a href="##" title="JavaScript 实现参考资料功能 | Fooleap's Blog">[2]</a>

<h3>标注</h3>