橘莲溢香
宁可十日不将军,不可一日不拱卒
欢迎浏览我的笔记!创建此站是为了方便分享,比如分享设计文档、学习心得等。
有一些设计文档 需要分享给同事,文档内容会不定时更新,如果用Word或PDF,每次更新都要重新发,而且难以保证别人查阅的是最新版本,所以需要在线文档。
公司起初用的 语雀,后来由于没有付费,文档无法编辑了,后来改用 飞书,由于飞书没有付费,能共享的人员有限,很多人无法查看,于是,我萌生了自己搭建的想法。
另一个原因:内部技术分享 需要以链接的形式 填写到月末考核表的分享栏中,要保证这个链接随时随地都能正常打开,目前的在线文档都要付费。
我购买了Node.js的书,学习后端开发知识,趁双十一 搞活动,购买了云服务器(99元一年),准备建站。
在我准备自己搭建时,公司付费购买了 飞书文档,但我钱都花了,不搭建 就浪费了,决定继续。
云服务器 配置低,带宽低,前端页面用SPA(React)不太合适,SPA初次加载量大,遇上 低带宽,打开速度会很慢;既是知识分享,自然还要考虑搜索引擎优化和社交平台预览,所以,我决定用 Next.js 。
用于存取文档数据的 数据库和接口服务,我决定用 Strapi ,这是一个CMS,稳定、高效,主要是 “省事儿”。
确定 Strapi 和 Next.js 后,就开始准备呈现 JS-API 文档(JS-API文档 曾受限于 语雀和飞书),我参考的是 docsify ,这是一个文档站点生成器, 我阅读、分析它的源码,提取出它的 MarkDown 语法及解析模块,裁剪它的滚动事件处理,复制它预置的样式,拼在一起,呈现出了自己满意的文档效果。
docsify预置了4种样式,默认是仿Vue的绿色样式,其对应的CSS定义较复杂,我喜欢轻量,挑了最简单的bubble风格,又微调了一些细节。
完成两个文档后,发现需要一个文章索引,也就是聚合页,或者直接叫 首页,首页要简洁美观,有设计感,这次我找到了 Fluid,这是一个 Hexo 主题,我决定照搬它,我阅读其源码,理解其交互,观察其样式,再使用Next.js思路临摹复现,逐渐绘制出目前如您所见的样貌。
docsify和Fluid主题功能丰富,有一些特性 我还没来得及实现,Strapi 和 Next.js 我也是边学边用,不够专业,难免会出现一些小问题,如果您发现了bug,或者有建议,可发邮件至 zhang_ji_ming#126.com (#替换为@)。
也可加我微信:zhang_ji_ming