为了记录麦芽糖发展背后的故事,思前想后还是觉得需要一个博客。然而最让人纠结的事情往往不是博客要写什么内容,而是选择什么程序来写博客,于是往往内容还没有,精力已耗大半。

为了避免这个问题,这次搭建博客刻意跳过了“选择”的过程,直接使用了 Hexo 进行博客内容的搭建。但是选择主题的过程又重新陷入了纠结,最终还是决定自己写一个主题。本着尽量跳过设计环节的原则,直接使用了命令行风格,起名叫 Terminal 。

主题介绍

主题开源地址:https://github.com/tinkink-co/hexo-theme-terminal,效果预览地址:https://blog.tinkink.net

为了营造浓浓的命令行风格,整体配色是暗色底、亮色字。同时为了让一些元素有区分度,引用了一套配色体系,作为一些元素的配色,例如链接是红色的。

Hexo 官方的文档并没有详细介绍如何进行主题的开发,网络上也有不少文章有些错漏。因此开发过程主要是参考其他一些主题,最重要的是设置好几个布局页面,如首页、文章详情页等。

目前主题支持的页面:

  • 首页
  • 文章详情页
  • 分类文章列表页
  • 标签文章列表页

为了测试完整的渲染效果,本主题使用了官方的单元测试项目https://github.com/hexojs/hexo-theme-unit-test进行了完整的测试,保证大部分的元素都有比较正常的渲染效果,包括一些比较难处理的元素如表格等。(过程中还发现了单元测试项目本身的bug。)

安装使用

1
npm install hexo-theme-terminal

然后修改配置文件,将主题改为terminal即可:

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: terminal

配置

theme_config配置中,可以使用以下配置项:

  • menus 一个对象,用于配置博客的顶部导航栏
  • favicon 一个字符串,用于配置博客的favicon
  • footers 一个对象,用于配置博客底部的链接信息(如版权链接、备案链接等)
  • google_analytics 一个字符串,用于配置博客的Google Analytics,将ID写在tracking_id属性中

示例:

1
2
3
4
5
6
7
8
9
10
theme_config:
menus:
首页: /
月度报告: /categories/月度报告
关于: /about/
favicon: '/favicon.png'
footers:
'© Tinkink': 'https://tinkink.net'
google_analytics:
tracking_id: G-XXXXXXXXX

Enjoy!