停下来聊一聊 Blog

回顾

2022 年 03 月,基于 Hexo+Github-Page 白嫖了一个 Blog,并在 “Theme-Next” 的基础上加入个性化样式,期间不断完善;同时也通过查看他人博客,以及各位大佬对 Theme-Next 的魔改教程,结合自身需求,应用各种插件,最终形成 "JWei's Blog"。

早在一年前,就有搭建个人博客的想法,当时采用 “PHP+CSS+JS” 写了个 Demo。原先的想法时通过自学 “从 0 到 1” 创建自身风格的 Blog,对于不是专业出身的我来说,这无疑有点难度,且还需要配置一个服务器、一个域名,一年还得几百块钱的花销。况且前端、后端都得自己写,工作量着实有点大。

Demo

后来,我发现 Python 有个名为 Django 的模块,是一个好用、功能强大、兼备前后端配置的 Web 框架,代价就是学习成本有点大,正是因为其功能齐全,你得知悉它的编写规则,才能更好的运用框架。回想自己搭建博客的初衷,主要是存放个人学习笔记、记录生活等,想着这样折腾有点不值当;多学习一种框架,固然是一件好事,但这会大大延长 Blog 的上线日期。况且,当前的主要工作也不是学习 Django ,还得忙着毕设,所以对于 Django 的了解停留在入门。

蹩脚的首页

无意间看到有人分享基于 HEXO 搭建静态网站,其原理是通过 Markdown 渲染插件将提前编辑好的 md 文件渲染成一个 html 网页文件,再将 html 发布出去;也就是说,网站一个页面在后台就对应着一个 html。此外,HEXO 社区,有很多前端大佬设计了各种各样的 Theme,我们可以根据自身喜好,以及允许的环境条件来选择适合自己的主题。期间,我也尝试了好几种主题,有 Hexo-Theme-LiveMyLifehexo-theme-shoka

Theme 的选择

一开始,打算通过浏览示例网站选定“好看”的 Theme。但是通过尝试,发现这些花样越多,样式越复杂的主题配置依赖越多、限制也越多,可操作性不高。定制性越高的 Theme 意味着你可以发挥的个性化越差(如通过更改源码来实现样式替换,这将会是很大的挑战)。随着 HEXO 的更新,Theme 却停滞不前,导致其不能很好的兼容最新的 HEXO 或其他插件。于是,最终选定一款以 黑白配色 为主的 Theme-Next

原因有三

  • 可塑性强:官方给出的样式没有太多 花里胡哨,且配置了用户自定义样式的选项,可以最大化用户的魔改。
  • 稳定更新:其拥有稳定的开发者团队,目前能保持一月一更的更新节奏,能保证最新的 Debug
  • 用户群体广:Theme-Next 无疑是当前最受欢迎的 Hexo 主题,如遇各种 ERROR,基本能在大佬的博客中找到解决方案。

添加个性化元素

Theme 选定之后,就可以在 Next 的基础之上为自己的 Blog 添砖加瓦了。期间查阅了官方以及非官方魔改大佬的 Blog,以进一步了解 Theme-Next 是如何实现样式添加的。Next 主题通过设置样式优先级来优先渲染用户添加的 CSS 样式,其中只需要用户将 CSS 样式编辑在特定的 *.styl 文件中。

最终,通过各种开源的 CSS 和 JS 源,为博客添加了轮播式背景、侧边栏添加音乐播放器、侧边栏添加粒子时钟、帖子页面添加思维导图与 PDF 文件、插入数学公式等诸多功能。

保证输出

Blog 搭建至今,一月有余,功能、样式基本符合自身目前的需求。接下来,我要做的就是保证能够持续稳定的输出,以确保 Blog 不会被雪藏。主要方向是 生信相关编程相关生物相关