Skip to content

博客历史

做了挺久的blog了(从高一开始,不过之前大部分内容已经放弃了),在这个过程中折腾了好多有意思的东西,也记录了一些值得回味的东西,感觉很有意义很有收获,觉得很有必要继续做下去。

不过,虽然折腾起来有意思,并且学到了很多,但是渐渐意识到,独立博客本就是一种专注内容分享的平台,我也只需要简简单单地记录东西就行了,以前花了不知多少精力用来安装各种主题和插件,还做了些什么搜索优化,现在想来,这些东西都是违背写博客的初衷的。

所以,想明白这些后,果断弃用了WordPress和Typecho(这两款博客系统确实不错,但有时候维护起来有点心累),转而使用静态博客,不用再去在意什么性能优化之类的东西了。另外暂时也不想去折腾Django、Flask这些东西,虽然学起来有价值,但还是一个巨坑啊,就怕折腾起来不想写内容,本末倒置了。

Blog History

2013

高中时期爱折腾,当时就有了做网站的想法,当时苦于没有网上的支付途径,只好到处申请一些奇奇怪怪的 "Free Host" ,用他们的免费二级域名,以及去注册免费的 .tk 域名,通过这些来尝试做网站。

高一那会儿完全是没有任何编程经验,但查到有 Wordpress 这种牛逼的东西,照着教程一步一步地,把文件 Upload 到申请到的免费 Host 里,然后连上免费的数据库,绑定好免费的域名,于是一个网站就搭好了。Wordpress 有管理后台,所以增删查改的操作都是很方便的,而至于修改样式,只需要上传各种网上找到的主题文件,就能换样子了。我的第一个个人博客就是这样子诞生的。

到后面,已经能通过半猜半蒙地改一些 PHP, HTML, CSS 文件来微调一些样式和功能,以及照着教程瞎搞了些优化和加速,反正就是乐在其中,一直折折腾腾搞到高三上,快高考了才收手。

印象中,当时的博客内容主要有一些高中数学题,然后各种转载分享 Wordpress 、免费建网站等等的小技巧,还学着网上的一些教程搞了搞 SEO 优化,有段时间百度搜我名字直接第一位就是我那个博客,现在真没精力搞那些东西了。网站的样子换来换去,到最后用的是 Wordpress 的一个内置主题,好像叫 Twenty Twelve 来着,可惜没有留下任何的截图和记录,那些因为高中没什么时间而草草挤出来的文章也一篇都没留下来,真想再看一看。

2015

刚上大学那会儿,又开始搞起了搞博客,这一次,终于能买服务器和域名啦,也正是大学开始启用了 oncemath.com 这一域名,而在折腾的过程中,感觉到 Wordpress 太“沉重”了,反复挑选,最后选定了一款叫做 Typecho 的博客框架,轻量级,默认支持 Markdown ,非常符合我的新审美观,故选择了 Typecho。

但是刚上大学这段时间,时间管理和分配不当,并没有太多空闲时间来写文章,只是无端地反复折腾各种框架、插件、主题等等,也渐渐开始喜欢上了编程。

2016

从 2016 年初开始,是目前这个博客的开端,目前博客里的第一篇文章就是这时候开始写的,之前的少量文章个人感觉不达标,完全就是凑数的水准,故将其丢弃。

框架一开始还是使用的 Typecho ,之后大概是 2017 年的时候决定放弃做动态博客,转而使用静态博客框架 Pelican 。转用静态博客的动机,主要是这些年一些个性上的改变,早些年爱折腾,无论是前端上的样式微调,还是后端的一些功能改进,甚至数据库的清理和调整,以及服务器的缓存和优化,都喜欢亲手操办,而往后则是越来越忙,写文章之余再也无心操办这些事情,编程的习惯上也变成能用轮子就尽量想用这轮子,缺乏维护导致网站出一些奇奇怪怪的 bug 。17年的暑假,一番思考过后,终于决定抛弃以前的绝大部分,只保留了内容上的东西,转而使用静态博客框架 Pelican 。18 年暑假,又因 Pelican 体验不佳,转用更加轻量的 Hexo + NexT主题,完全是造得非常完善的轮子,拿来改改配置就能用了,而且不再使用服务器,托管于 Github Pages,一套很成熟很大众的方案。

2018.11

渐渐考虑要输出一波读书笔记,原有的 Timeline 式 Blog 已经不太如我意,故经考虑后改为使用文档管理框架 MkDocs ,采用系统的文档管理方式来构成我的 Blog。

2019.8

考虑到个人识别度问题,更换域名为 www.zhangwp.com ,原有的域名 oncemath.com 使用 301 重定向至新域名。

Notes (for Hexo)

博客的折腾过程中,还是遇到了一些坑,这里简单记录一下,以供后期查阅。

阿里云的全站 CDN 加速

因为自己阿里云里面还有些钱,域名当初也辛辛苦苦搞过备案,于是打算用阿里云的 CDN 来加速一下 Github Pages ,虽然效果也不一定好,但总能有点心理安慰。

首先,要想用上阿里云的 CDN 你自己得绑个域名在你的 Github Pages 上,而且还得是备案域名!

然后就得去阿里云的 CDN 控制台操作一波。

  • 首先在 域名管理 中添加上自己的域名,并按要求做好域名解析(建议海外线路仍直连,国内才解析为 CDN 的域名)。
  • 基本配置 中,源站域名填自己的 xxx.github.io,端口根据有无 HTTPS 需求来选择
  • 如果有 SSL 证书(没有就在阿里云申请一个免费的,还不错),且打算做 HTTPS ,则进入 HTTPS 配置 ,添加你的证书信息。下方的 强制跳转 选择 HTTP -> HTTPS ,HTTP/2 可以考虑开启
  • 其他的一些配置项,根据自己的需求随便调整

之后等一小会儿,CDN 差不多就能用啦。

LaTeX 解析不正常

原因在于 markdown 的渲染器把 \\ 这样的 command 转义了,变成一个斜杠,所以公式全乱了。

Solution 1

(不推荐)自己把文章中的相关命令提前转义,比如 \\ 全替换为 \\\\ ,这样出来的东西就是正常的。

但是这样缺点就不言而喻了,麻烦、容易出错、迁移性差。

Solution 2

放弃自带的 renderer ,使用另一款更好的 renderer : hexo-renderer-pandoc (需要电脑中安装好 Pandoc

步骤:

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-pandoc --save

注意,如果使用这个 Pandoc renderer,那么书写 Markdown 时候需要遵循 Pandoc 对 Markdown 的规定

临时在另一台电脑上如何编辑文章?

默认 deploy 之后,自己 Github 上的博客仓库中是生成好的静态内容,而我们真正需要用 git 好好管理的是这些宝贵的配置文件以及文章的 markdown 源文件,只要这些好好地托管在 Github 上,我们就能随时随地方便地写文章了。至于仓库的管理,我们就用好那个托管网站文件的仓库就可以了。

步骤:

  1. 新建名为 xxx.github.io 的 Repo (随便起名,也可沿用你之前自动 depoly 上去的那个 Repo)
  2. 为这个 Repo 添加分支 hexo (随便起名字),并设为默认分支
  3. 将相应源文件做好备份,并迁移至 hexo 分支
  4. 注意 _config.yml 中的 deploy 参数,分支仍应为 master,因为仍是要往 master 分支上传生成的内容
  5. 执行 hexo g -d ,更新你的博客
  6. 执行 git add, git commit, git push 等操作,更新你的 Github 仓库(注意,如果你的一些主题、模块是 git clone 下来的,最好这样添加:git add themes/xxx/ ,要有末尾这么一个斜杠,否则会当作 submodule ,不利于管理你的一些自定义修改)

这样,在另一台电脑上,你可以 clone 下来,只要装有 hexo ,就能很快地同步部署上去。

而日常写文章,只需重复 4、5 步骤即可。