个人博客的方案推荐,你只负责编写

您所在的位置:网站首页 个人博客内容 个人博客的方案推荐,你只负责编写

个人博客的方案推荐,你只负责编写

2023-12-11 16:04| 来源: 网络整理| 查看: 265

今天想要谈谈的是一套我在用的个人博客解决方案,它能带给我最大的便利。

首先我想先插播一个讨论,为什么要写博客?从我上大学开始,我就喜欢上了写博客。这主要是受到了一位前辈说的话而引发的思考:“当你能够将你所学的有条理地写下来成为一篇文章,那么就证明你学会了。” 当我越是实践这一点,我就越能体会到 写与不写 两者之间的差异。

以我的经历来揣测,大多数人的博客方案可能经历如下几个阶段:

主流博客网站:需要考虑的因素就比较多,包括 Markdown 支持、CSS 支持、Javascript 支持等,更重要的是原始数据不能很容易地访问; 私有博客服务器:维护 VPS,维护域名,维护流量 是这一方案最大的成本; 静态网页托管:hexo、jekyll、pelican 都是比较主流的方案,但是对客户端本身比较依赖

直到我遇到了docsify,我更愿意将它称为第四阶段「动态生成网页托管」。

Docsify是什么

官方的描述是这样子的:一个神奇的文档网站生成工具

docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件「污染」commit 记录,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages。

第一次看到这样的描述的时候,我就觉得它也很适合用来构建一个博客系统,事实证明确实如此。

Docsify有什么 Markdown支持

在 2019 年写博客,几乎主流的选择都是使用 Markdown 标记性语言,它很轻量,能让关注在内容本身而不是调格式上。

但是,Docsify 提供的 Markdown 是原生的美好的感觉,不需要你刻意遵循什么,想怎么写就怎么写的自由;相对的,Hexo 和 Jekyll 都需要遵循一些特殊的格式,比如 {{ 日期 }} 等。这是我很喜爱它的一点。

官方内置的 Markdown 解析器是marked,如果不喜欢还可以参考文档来自定义。

CSS支持

docsify 提供了内置的 5 款主题,分别 vue.css buble.css dark.css pure.css dolphin.css,我个人是比较喜欢绿色的主题的,所以选了还是默认的 vue.css 风格。另外,Github 上还有很多优秀的第三方主题可供选择。

当然作为一个开放的系统,它也允许用户自定义,如果有兴趣,撸一个符合自己审美好看的主题也蛮不错的。

详细的主题 Demo 可以看这里~

Javascript支持 流程图 & 序列图

有 js 的支持,对我来说意味着能够加入扩展 Markdown 语法,比如流程图、序列图等的支持。我很喜欢 Typora 这款 MD 编辑器,它自身加入了流程图和序列图等的支持,这对于技术博客来说还是很有用的一大功能。而借助 docsify 的插件系统,简单的配置了一下就能加入这些功能,然后就能做到桌面端编辑和网页端展示是完全一样的效果。

评论系统

docsify 官方支持 Disqus 和 Gitalk 两种评论系统,如果有需要的话也可以很轻易的配置。我个人是比较推荐使用 Gitalk 的,毕竟 Github 账号很多人都有。

还有其他很有用的一下功能官方都提供了,具体可以看这里的插件列表。如果需要实现一些特殊的功能也可以自定义,拥有可修改能力就感觉拥有一切一样,这感觉还是很美好的。

数据独立

这是我最喜欢也是最重要的一点,它不需要你像 Hexo 等系统一样,编写 md 文件,然后通过工具转化为 html 网页静态托管。在 docsify 你只需要专注编写 md 内容本身,保存的也是 md 文件本身,docsify 就会自己读取 md 文件然后渲染成网页展示。

我认为这是一件很棒的事情,不用再过多的依赖工具本身,编写->部署->托管的三个步骤中,我只需要在意第一个步骤就好了。甚者,由于没有了中间文件,我能直接管理 md 源文件,也相当于一个很好的备份,将数据掌握在自己手中的感觉。

你的整个目录将会很整洁,就像这样:

. ├── index.html ├── p01.解决方案 │   ├── Markdown标题格式化.md ├── p02.效率之道 │   ├── 2019年科学的复合密码管理策略.md │   ├── 一个5年工科生的软件解决方案与吐槽.md │   └── 我的Vim配置.md ├── p03.生活随想 │   └── 给大学新生学子的一个思考.md └── README.md

引入 docsify 后唯一增加的一份文件只是一个 index.html 而已,而你原来管理数据的方式还是完全没变化(๑•̀ㅂ•́)و✧

Docsify缺什么

事实上,docsify 也不是完美的,它也有一些小缺点,但是我们可以通过自定义来修补它。

侧边栏目录

由于 Web 技术本身的限制,docsify 想要读取你服务端的文件需要用户主动提供路径,否则随便就能读取文件,想想还是很可怕的。

要想增加侧边栏显示目录,docsify 需要用户自行提供 _sidebar.md 文件,里面用 List 记录着你的目录结构。

但是,很明显,你只想好好写文章,并不想管理这些部署的事情,每新增一篇文章都要同步修改一遍 _sidebar.md 文件,还是很麻烦的一件事情。因此,我想到了请一个佣人来帮我完成这件事情,那就是 Travis CI,一个比较流行的 Github 上的自动化部署服务。然后再花 30s 写一行脚本来生成这个目录。

find . -mindepth 2 -name "*.md" | awk -F'/' 'BEGIN {RS=".md"} {arr[$2]=arr[$2]"\n   - ["$3"](/"$2"/"$3")"} END { num = asorti(arr, indices); for (i=1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3