继往开来
不知怎么?最近准备自己搞一个个人文档仓库,对自己的文档做一个记录,搞来搞去,发现,原来只有自己的仓库才是自己拥有的,只有自己拥有所有权,才能具有掌控权。不管是oschina,还是掘金,亦或者csdn,数据都是托管在别人那里,人家让你展示,你才能展示,oschina还做个一个非常离谱的事情,就是把我的账号因为有段时间没有更新了,就直接给冻结,这种寄人篱下的感觉,真实不爽。
其实之前自己已经建立过了,第一次是在github上使用的是Jekyll;第二次是在gitee上使用的docsify,github一直存在,而gitee已经不让访问了,怎么说呢?真的是在github才有情怀,无偿让我托管了这么多年,而在gitee这里讲的都是利益!!因此,以后,我的托管仓库都必须是GitHub,而gitee只能是个备份!!!
既然是重新搞一个个人文档仓库,也做一个静态网站,那么第一步,先看看别人怎么做的?用的是什么工具?要求是:好用,好看!
- rtthread:docsify
- zephyr:Sphinx
- rcore:Sphinx
- nuttx:Sphinx
发现大多企业或者开源组织选择了sphinx,但有个问题是sphinx要用rst文档编写,而docsify可以用markdown,好像我还是更喜欢docsify呢。但惊喜的,我发现了一个特别好看的:vuepress!作为一个个人文档仓库,最大的优势就是随心所欲,船小好调头,网上查询发现大多数的网友最终都选择了vuepress,因此我准备用vuepress了。
静态网页生成工具
只要你在网上搜索一下,就会发现好多好多的静态网页生成工具,比如前面有提到的jekyll,docsify,sphinx。更多的还有:Hugo,Hexo,vuepress,next.js等等。这么多,当然他们各有优劣。Sphinx 提供了强大的文档生成能力,让她成为了文档类网站的独一档。VuePress 则因为强大的文档和博客功能深受开发者喜爱。并且有众多插件和模板,可定制也足够简单。
Jekyll
优点:
- 成熟稳定: 作为最早的静态网站生成器之一,它有着广泛的社区支持和丰富的插件生态系统。
- 高度可定制: 支持多种插件和主题,可以满足各种定制需求。
- 文档丰富: 由于历史悠久,文档和教程非常丰富。
- SEO友好: 生成的静态页面有利于搜索引擎优化。
缺点:
- 配置复杂: 相对于其他一些工具,Jekyll 的配置较为复杂。
- 构建速度慢: 特别是在内容较多的情况下,构建时间可能较长。
- Ruby依赖: 需要Ruby环境,可能会给部署带来额外负担。
Docsify
优点:
- 实时更新: 实时将 Markdown 文件解析为 HTML,无需预先构建静态 HTML 文件。
- 简单易用: 配置简单,专注于内容创作。
- 快速预览: 写作过程中可以即时看到效果。
- 轻量级: 不需要复杂的设置或构建过程。
缺点:
- 功能有限: 没有像 Jekyll 或 VuePress 那样强大的插件系统。
- SEO限制: 由于动态生成内容,可能会影响 SEO。
- 扩展性差: 如果需要高级功能,可能需要手动添加代码。
Sphinx
优点:
- 文档强大: 特别适合创建详细的文档和手册。
- 支持多种输出格式: 除了 HTML,还支持 PDF、EPUB 等格式。
- 扩展性强: 有很多扩展插件可用。
- 多语言支持: 支持多语言文档。
缺点:
- 学习曲线: 对于新手来说,学习曲线相对陡峭。
- 灵活性较低: 主要面向文档生成,不太适合博客或其他类型的内容。
- 样式定制有限: 默认样式可能需要额外工作才能达到预期的效果。
VuePress
优点:
- 高性能: 利用 Vue.js 的性能优势,页面加载迅速。
- 现代化: 使用现代 Web 技术,易于集成其他 Vue.js 组件。
- 良好的SEO: 生成的静态页面对搜索引擎友好。
- 丰富的主题: 支持多种主题和自定义。
缺点:
- 配置较复杂: 配置相对于 Docsify 更复杂。
- 依赖Vue: 需要了解一定的 Vue.js 知识。
- 构建时间: 对于大型项目,构建时间可能会比较长。
总结来说:
- 如果你想要一个简单易用、快速预览的文档解决方案,Docsify 可能是最佳选择。
- 如果你需要一个高度可定制且支持丰富插件的博客平台,Jekyll 会是一个很好的选项。
- 对于技术文档,Sphinx 提供了强大的文档生成能力。
- 而如果你想要一个现代化的、性能优秀的文档站点或博客,VuePress 则是理想之选。
部署
内容有了,网页生成了,最后的一步就是部署,在我看来有两种:
- 在 GitPage 上部署自己的博客
- 独立域名+个人服务器,部署博客
当然了,具体细节就不说了,具体怎么部署,在于你的目的。我的目的很简单,记录我的工作与生活,并没有其它,因此使用GitHub提供的gitpage就已经足够了。