hexo 添加接口代理转发功能

实现功能:阅读次数

需要接口代理原因:本站的阅读次数存于自己服务器,静态的 html 中需要添加请求接口功能。

为什么不使用第三方组件:

  1. 阅读次数功能简单,权当使用 koa + mysql 练手。
  1. 第三方组件说不定啥时候就关停。
  1. 不敢保证第三方服务不作恶。

阅读全文

hexo tag 标签添加拦截功能

hexo 引用文章引用资源 有这几种引用方式 post_link, post_path, asset_path, asset_link, asset_img 。这几种 tag 标签在文章中出现次数不少。

但是有个问题,如果不小心改了文章的 permalink 或者 资源文件夹 下的文件名,导致文章或者资源找不到了, hexo 并不会给我们任何提示,直接返回空字符串渲染,这就蛋疼了,总有百密一疏的时候。

作为程序员,怎么能资源找不到的情况!!

在官方没相关的中间件、拦截器的情况下。一波源码阅读之后,骚操作一把,为这几个 tag 标签添加了拦截功能,如果出现找不到资源情况,控制台打印提示信息。

阅读全文

Git .gitignore 忽略已经提交到仓库的文件

Git 如果要忽略已经提交过的文件,这时修改 .gitignore 文件不会生效,原因是 .gitignore 文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(从未 add 及 commit 过的文件)。

这时只需要如下几步,即可将已提交的文件忽略:

阅读全文

hexo 文章中代码模块添加展开收起效果

作为程序员的博客网站,代码占据主要部分,但是一篇文章代码显示过多会显得文章冗长,作为极简主义,必须要给代码添加展开收起效果。

逻辑说明

本操作由 jQuery 选择器选择代码模块,给超过某个高度的代码模块添加展开收起的盒子,让盒子实现展开隐藏效果。

阅读全文

hexo 文章中插入二维码

有时为了方便移动端查看 demo 链接或其他链接,需要在文章中生成二维码,扫码观看。

已有插件: hexo-tag-qrcodehexo-helper-qrcode

不过以上两个插件都有问题,会生成图片,增大项目体积,再三考虑还是把生成二维码丢到浏览器去做,减小服务器压力。

具体方法如下:

阅读全文

js 复制字符串

移动端复制操作不像PC直接光标选中ctrl+c这么方便,经常会用到点击按钮直接复制字符串这种,比如各种中奖码,各种优惠链接等。实现方式如下:

阅读全文

hexo 添加文章分享功能

hexo 默认主题 landscape 自带有分享功能,不过是分享到国外平台 Twitter Facebook Pinterest Google+,国内的分享并不支持。

本文去掉默认分享功能,添加国内平台分享。

阅读全文

hexo 添加文章搜索功能

官方有插件 hexo-generator-search,不过这插件有一下几点问题:

  1. 没移除特殊字符串,如标签,html字符,代码等,导致生成的搜索文件很大
  1. 所有文章内容按照 .md 源码文件原样输出到 content 字段,如果要存心拷贝盗取文章,直接复制 content 就可得到文章源码。
  1. 不方便自定义搜索字段

为解决以上问题,根据官方插件源码改造了一下,代码如下

阅读全文