起因
最近看到了dk大佬的个人读书笔记 使用Teadocs构建,感觉站点样式很简洁很酷,一眼就爱上了。
所以自己也使用Teadocs搭建了搭建一个读书站点,欢迎访问!这里记录一下建站历程。
为什么选择Teadocs?
其实选择Teadocs只是个人喜好而已,选择过程有个人主观倾向,仅供参考。这也许算是安利文吧哈哈
对比
要建立类似个人笔记、API文档这类的站点,其实有很多方案可供选择,而我个人选择的候选人必须具备以下特点:
- Markdown编写
- 纯静态站点,可无后台部署
- 简约好看,看着顺眼
- 支持自定义样式
Hexo
- 老牌Markdown静态站点搭建方案,大家都知道
- 丰富的社区,成千上万的皮肤与插件可供选择
- 你现在看到的这个博客也是Hexo驱动的哦~
VuePress
- Vue团队出品的静态站点搭建方案
- 支持Vue的模板语法、组件等诸多功能
- Vue官方还有好多文档站点也还在用Hexo
- 默认样式更适合做开发文档,不太适合e做读书笔记
Teadocs
- 个人开发者维护的开源项目
- Markdown编译出的HTML,每个页面都可以单独部署
- 简洁的样式,个人非常喜欢
- 支持皮肤功能,但没有对应社区(对我来说默认样式已经够了)
- 内置搜索功能,无需关注任何额外的技术问题
开始使用
使用官方提供的命令
1 | npm i teadocs -g |
可以快乐编写你的文档啦~
遇到问题
在我安装的v0.4.0
这个版本,我发现文章命名不支持中文。
具体表现为如果.md
文件名包含中文,就会出现乱码的情况。
如 中文.md
会变成 %E4%B8%AD%E6%96%87.md
从而导致丢链接等情况
使用全英文命名避免问题?
不用中文命名,很简单吧?dk大佬的站点就是纯英文命名
但对于我这种英语渣,又是做读书笔记站点,将图书名翻译成英文效果往往不好
而开源软件的好处也在这时体现出来了,我可以自己提交PR
来解决这个问题!
从提Issue到提Pull Request(pr)
发现
经过上一节的发现,乱码可以使用JavaScript
内置的decodeUrl
函数来解码
1 | decodeUrl('%E4%B8%AD%E6%96%87.md') |
想象了一下,感觉这个问题不是很难解决,所以…
解决问题
歪比歪比,歪比巴卜!
(两小时以后)…
经过一个小时的调试和20分钟的测试(其他的时间在看NodeJS的API 2333),成功把代码写出来并通过测试了。
看到测试成功效果的一瞬间,我的喜悦难以言喻,就好像有一个包含着棉花糖的泡泡从丹田一路涌上心头,冲到喉咙,非常想要大喊一句,但喉咙发不出声音,可还是忍不住做了个一拳打天的胜利姿势。
这是年轻人第一次贡献开源项目代码 值得纪念!希望我的代码不会带来更多的bug,当然如果有,我也会解决它!
收获和喜悦
截止至2020年03月12日11:43:24 我提交的PR还没被合并,如果被打回,我会继续提交的!
收获了一份久违的成就感(从两年前开始好像就没再能从编程领域获得成就感),一份自信。虽然代码不难,但这对我的意义真的很大。仿佛得到了认可,不论如何,我希望我能记住这份喜悦!
经过一个小时的调试和20分钟的测试,成功把代码写出来并通过测试了。
看到测试成功效果的一瞬间,我的喜悦难以言喻,就好像有一个包含着棉花糖的泡泡从丹田一路涌上心头,冲到喉咙,非常想要大喊一句,但喉咙发不出声音,可还是忍不住做了个一拳打天的胜利姿势。
感谢dk大佬曾经对Teadocs
的重构,不然我也没办法这么简单的实现这个功能。