跳转至

博客历史

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

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

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

Blog History

2013 - 2015

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

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

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

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

2015 - 2016

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

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

2016 - 2018.11

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

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

2018.11 - 今

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

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 步骤即可。