本文主要分享的内容:常用的文档/静态站生成工具有哪些?每种工具有什么特点?工具适应场景。AndD组件库文档是如何制作的,使用了哪些工具。以AntDButton组件为例,看一下antd组件库的文档页面结构和文档生成:拼接MarkDown并渲染到最终的文档展示页面。静态站生成工具解决方案vuePressgitbookMDXMarkDown+JSX支持导入React组件支持remark生态中的任何插件Playground实时修改,实时预览支持MarkDown语法完全支持JSX以<字符开头的行JSX代码块支持导入和exportimportcomponentsjsondatamdormdxdocumentMDXProvider提供MarkDown渲染HTML使用组件映射组件列表GatsbyDemo初始化npminitgatsbynpminstall-ggatsby-cligatsbynewrunningnpmrundevelop特点:生态好,功能丰富,插件多样,支持MDX。Gatsby有一个称为数据层的强大功能,通过Gatsby的数据层,您可以组合来自多个来源的数据,这使您可以为每种类型的数据选择最佳平台。http://localhost:8000/___graphql可以看到GraphQL数据的数据源Gatsby-source-*数据拉取:使用页面查询拉入页面数据,在页面中导出查询,可以使用graphql查询将数据拉入组件页面可以使用useStaticQuery挂钩拉入以动态创建页面。Gatsby的文件系统路由API定义了一种特殊的语法来命名src/pages目录中的文件,它允许您根据数据层中的节点集合为您的站点动态创建新页面。JSDoc是一个根据javascript文件中的注解信息生成JavaScript应用程序、库、模块的API文档的工具。安装npminstall-Djsdoc默认使用jsdocxxx.js输出文档到out文件夹。可以通过--destination-to-markdown指定输出路径jsdocTSDochttps://tsdoc.org/playReactStyleguidistStoryBook强大的组件开发、查看和测试文档工具,支持多种框架。使用“组件驱动开发”的概念。-支持多种框架ReactVueAngularEmberPreactSvelte等教程CDDdocsify特点:简单轻量级无静态构建html文件多主题安装npmidocsify-cli-g初始化docsifyinit./docspreviewdocsifyservedocs目录结构index.html文件条目README.mdhomepage.nojekyll防止GitHubPages忽略以下划线开头的文件。侧边栏创建_sidebar.md(支持目录层级嵌套)。_sidebar.md中的页面会自动生成标题和副标题自定义导航栏html标签_navbar.md(也支持目录级嵌套,显示形式为弹窗)Cover_coverpage.md#/首页全屏显示即可指定背景图片和背景颜色可以指定只显示封面配置窗口。$docsify={el:'#app',//根元素repo:'docsifyjs/docsify/',//Git仓库地址maxLevel:6,//最大目录层级loadNavbar:false,//加载_navbar.md作为导航栏(或者直接指定md路径)loadSidebar:false,//加载_sidebar.md作为侧边栏hideSidebar:true,//隐藏侧边栏subMaxLevel:0,//在自定义侧边栏中添加一个目录(最大级别)auto2top:true,//当页面路径改变时滚动到屏幕顶部homepage:'README.md',//#/HomepagebasePath:'/path/',//基本路径,可设置为其他目录或其他域名相对Path:false,//如果为true,则链接是相对于当前上下文的。coverpage:false,//封面默认加载_coverpage.md,md路径也可以指定logo,name,nameLink,markdown,//自定义渲染MarkDown为HTML文档themeColor,executeScript:true,mergeNavbar:true,//小屏导航栏会合并侧边栏'路由模式onlyCover:false,//#/只显示封面requestHeaders:{'x-token':'xxx',},//设置请求资源头notFoundPage:true,//加载_404.md或指定对应mdvueComponents,//注册vue组件,可以直接在mdvueGlobalOptions,vueMounts}主题中使用,在github上编辑,预览jsfiddlerDemo,复制到剪贴板,Gitalk,分页和标签等PWASSR嵌入文件:支持视频,audio,iframe或者代码块,甚至MarkDownDocz都是基于MDX封装的完全用Gatsby构建,可以使用Gatsby的插件和工具生态零配置TypeScript支持安装npminstalldocz#reactreact-domrun"scripts":{"docz:dev":"doczdev","docz:build":"doczbuild","docz:serve":"doczbuild&&doczserve"}开发创建.mdx文件(指定名称和路由)构建npmrunbuild#在.docz/dist目录下生成静态资源npmrunbuild----destdocs-site-directory#Specifiedby--dest文档生成目录也可以在配置中指定打包输出目录//doczrc.jsexportdefault{dest:'/some-folder'}Deployment构建后可以使用任何静态站点托管服务进行部署,MDX支持可以直接导入.jsx/.tsx组件,样式;内置组件PlaygroundPlayground支持编辑实时渲染,支持函数组件,StateProps组件中的prop-types定义,typeScript的界面会通过转换成表格显示
