hexo

2021

点击再载入 Disqus 的评论模块

本博客采用了 Disqus 的评论系统,然而遗憾评论数非常少,所以每次都直接载入评论模块感觉会浪费带宽和流量。所以我希望实现 Lazy Load 方式载入评论,即只要用户点击一个按钮之后才会显示评论模块。

Jun 16
公式离线渲染的性能问题

之前我在 Hexo + Mathjax: 公式离线渲染 介绍了在服务器端,也就是 Hexo 端渲染时就将 Mathjax 公式渲染成 Html 的方法。不过随着文章数量的增加,Hexo 渲染时会出现并发渲染公式的页面太多导致服务器内存溢出的问题(我用一个小虚拟机来做服务器博客后端,内存只有 2 GB)。因此有必要控制公式渲染的并发数。另一方面,公式渲染时纯 CPU 计算过程,不涉及 IO,因此使用异步函数加速意义也不太大。因此我们的核心思想是把之前实现的异步渲染版本换成同步渲染。

Jun 09

2020

关于 Nodejs 中将 html 转化成 pdf 的一点研究

ok,研究这是事情是我的一些研究计划在博客上写(当然被认证系统保护起来了),而我希望能将这些内容输出为 PDF 文件。浏览器的打印功能可以将整个网页输出为 PDF 文件,但是这会包括很多杂乱的内容,比如 Header, SideBar, Footer 之类的东西。因此我需要一套将制定的HTML内容转化成 PDF,并且保留网页样式的转化方案。

Apr 28
Hexo + Mathjax: 公式离线渲染

目前我的博客上的 Mathjax 公式是在客户端渲染的。这种方式实现比较便利,主题 NexT 已经帮我们实现了,我们只需要打开配置开关就可以了。但是客户端渲染的方式有如下两个比较严重的问题:

  1. Mathjax 的前端脚本会产生为数不少的资源请求
  2. 在公式比较多的页面中(我的 Academic 版块的公式就非常多),渲染效率会比较慢,这意味着公式需要好几秒才能渲染,这在写作的时候非常不利。因为为了确保公式格式正确,我在每编写一个公式之后,都会刷新页面查看渲染结果。如果每次刷新都要等待这么长的时间会非常严重。另外,对于访问我的博客的用户来说,太长的渲染时间也是一个问题。

这篇文章旨在使用离线渲染的方式解决这个问题。

Apr 21
字体动态载入问题

最近博客改用了思源字体,字体好看是好看,不过毕竟不是默认的字体,需要做动态载入(动态载入的教程可以看这个链接)。不过中文字体的体积比较大,如果客户端的操作系统上已经安装了思源的字体,那么就不需要再从服务器下载地址了。

Apr 20
使用Nginx为Hexo博客的添加验证

博客里面有一些内容是目前用来自己做一些记录,并不想广为开放。之前博客是放在Github Pages上的,这样是没法自己定制一些认证的。所以这次我将博客部署到了自己的服务器上,使用Nginx来作为Web服务器,这样可以做一些简单的定制。

Apr 10