{ blog }

  • 使用Disqus JS让Disqus评论在国内可用

    | /

    Disqus在国内近几年一直访问不了,那么许多平常访问的游客甚至不知道博客有评论功能,这无疑是让人遗憾的事情。

    要想让Disqus的功能可用,可以使用Disqus API + 反向代理的方法,前端模拟Disqus的评论界面,再使用一个服务器反向代理Disqus API的请求,那么就可以让评论可以在国内网显示出来。

    笔者对Disqus JS项目早有所耳闻,但是一直没有精力去使用,今天正好将其调试好,然而碰到了一些我意想不到的问题,导致花了很长时间。

  • 通过异步加载非关键js脚本与css样式表来加速网页网页渲染

    | /

    如果我们想要让网页首次渲染的时间尽量提前,那么我们必须加快关键路径上的资源加载。而网页内嵌关键资源,异步加载非关键资源能够让网页的渲染速度达到极致。

    在建博客之初,我是把css样式表和js脚本都放在本站,但是从国外的服务器请求静态资源的延迟实在太大了,因此我后来使用jsDelivr这个在国内也有服务器的CDN来加载静态资源(详情见上一篇文章,使用jsdelivr CDN加速hexo的图片等静态资源加载 )。但是为了追求极致的速度,我不能让html网页传过来后还要去请求css样式表才能开始渲染,即使是使用CDN也是有不可忽视的请求延迟的,因此我现在将渲染需要的关键css样式表内联在html网页中,而异步加载非关键的资源。

  • 自动使用jsdelivr CDN 加速hexo的图片等静态资源加载

    | /

    独立博客的一个十分重要的问题就是图片等静态资源的加载速度,这对于访问博客的体验而言十分的重要,尤其在中国,如果使用国外的服务器而域名也没有备案的话,图片的加载速度能够让人怀疑人生。

    而jsDelivr是一个著名的开源CDN项目,它闻名于免费的javascript CDN,全球部署尤其是在中国也有备案的站点。但是少有人了解它提供的其他免费服务,其中包括一项是对Github仓库的CDN加速,而这便可用来作为我们博客的图片CDN。

  • 为Hexo寻找一个合适的Latex方案

    | /

    2020-07-17 更新: 现在推荐所有使用Hexo的人都采用hexo-filter-mathjax插件,支持unicode字符,后端渲染,前端不用外挂CSS样式表和Javascript脚本。如果想找解决方案可以直接阅读"Maxjax 后端渲染"小节。


    许许多多的Hexo博客都是Next主题的,而这样的大主题大多封装了Mathjax或Katex等前端渲染工具,配置比较简单。我这个小主题就只能在网上找解决方案了。

    现在来总结,其实无非就是两个大方向,前端渲染和后端渲染。其中前端渲染是主流,而绝大部分前端渲染都是用的Mathjax或Katex。

    前端渲染的流程是,在生成时Hexo渲染器(如hexo-renderer-pandoc)首先一轮渲染把Markdown中的Latex代码转换为Mathjax或Katex支持的代码,然后在前端加载html时前端的Javascript脚本就会渲染Latex公式为矢量图形。

    可我最后用的是后端渲染,虽然说后端渲染有种种好处,但是我用它的最开始的原因却是我不能把前端渲染的方案做完善,也就是说,我前端方面是个菜狗。

  • 我为什么将博客迁移到hexo

    | /

    我之前的博客

    我最早的技术博客在CSDN,CSDN的好处很明显:省事,SEO也做得好;缺点是:界面不够美观、CSDN本身的社区也抄袭成风。

    最近突然想重搞一个博客,根据我对自建博客的远古记忆,大部分人用的应该是WordPress,于是我的第一选择也是去用WordPress,但是因为我之前一直没有了解过自建博客,我刚开始甚至不知道WordPress.org和WordPress.com的区别。

    一顿搜索后,决定用一个VPS+WordPress搭建自己的博客,并且申请了自己的域名,也就是现在的renzibei.com

    将WordPress博客运行起来后,经历了找主题、找插件、做SEO等等过程,发现有一个我怎么也绕不过去的问题,那就是如何将Markdown文件格式的文章直接展示到WordPress中。

    WordPress的确有各种各样的Markdown插件,但是对Markdown的支持度都不相同;我个人对Markdown支持的硬性要求是,能够像Typora一样支持Latex公式。但是这些Markdown插件并不能满足我的要求,Latex插件又不能与Markdown插件结合,因此我一度被这个问题困扰了很久,直到我了解了Hexo。