教程

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
ssh 跳板(Jump Host)的使用

这里说的 ssh 跳板,是指我们通过一个中继服务器其访问另一台内网服务器。典型的应用场景是在 VPN 网络中,我们进入了 VPN 服务器之后再访问另一个网段的内网服务器。

Apr 16
pandoc中提供的markdown特殊扩展功能

之前为了公式渲染问题,我将Hexo的渲染引擎切换到了pandoc。不过pandoc除了带来公式渲染功能之外,还为markdown语法提供了扩展。这篇文章旨在梳理pandoc提供的各种新增markdown功能。pandoc提供的完整文档位于这里

Mar 24