关于该repo

本站介绍

欢迎来到我的博客,本站主要基于docusaurus开发。

稍微将前端一些技术大纲整理了一下,方便后续学习和知识记录。不过好多内容还待完善,后续慢慢补充。

技术大纲详见思维导图页面

  • 用鼠标滚轮放大和缩小。
  • 拖动背景平移。
  • 通过单击圆圈来展开/折叠节点的子级。
  • 点击链接跳转到详细文章页面
提示

本篇大纲只是个人学习所列,如有错误或建议。欢迎issues指出

本站大概分成首页文档思维导图博客项目规划

repo 介绍

本站所有内容维护在 github 仓库中,详情请查看

husky+lint-staged+各个脚本

package.json
{
"scripts": {
"pre-push": "node scripts/pre-push",
"addFrontMatter": "node scripts/addFrontMatter",
"createSideBars": "node scripts/createSideBars",
"createTodoPage": "node scripts/createTodoPage"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged && npm run createSideBars",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS",
"pre-push": "exec < /dev/tty && npm run pre-push"
}
},
"lint-staged": {
"*.js": ["eslint --fix", "prettier --config .prettierrc.yml --write"],
"*.md": [
"npm run addFrontMatter",
"npm run createTodoPage",
"prettier --config .prettierrc.yml --write"
]
}
}
  1. 在 pre-commit 阶段

    1. lint-staged

      1. js文件进行校验和格式化

      2. doctoc 对新增的 md 文件自动添加针对 github 的目录

        目录交给 docusaurus 处理

      3. 有改动的 md 文件

        1. 使用addFrontMatter脚本重新添加frontmatter

        2. 对根目录docs所有的TODO.md进行扫描生成规划页

        3. 格式化

    2. docs文件自动生成website/sidebars.js文件。

      无需手写 sidebar 目录文件。

  2. commit-msg 校验 commit 是否满足commit 规范

  3. pre-push 阶段

    1. 判断文件夹是否包含空格

    2. 空文件夹子自动添加 TODO.md

      因为 git 无法追踪空文件夹

    3. 针对 docs 下文件夹自动生成思维导图 xmind.html 和 xmind.png

      1. docs 下目录内容会生成 hash 文件,在.scriptc/.cache/xmind.cache

      2. 根据 hash 判断是否需要重新生成 html 和 png

      3. 先扫描 docs,生成 xmind.md

      4. markmap-lib 将 xmind.md 生成 html

        思维导图页

      5. puppeteer对 html 截图生成 png

ci&cd

配合travis-ci实现网站 ci 和 cd

评论

gittalk支持,github 账号登陆,评论将形成issue