场景:如果有很多MarkDown文档,怎么很好的展示给使用人
每当我们研发一个工程时,常常我们需一个精巧的研发文档,因此选用docsify是一个良好的选择。Docsify是一个文档生成脚本,它直接读取MarkDown文档并且动态展现,也可以生成封面。因此我们仅仅需要完成文档的撰写,就可以在线看到文档网页。
优点
- 不需要构建也不需要编译。在编写标记文档后,它们将直接发布
- 易于使用且重量轻
- 智能全文搜索内容
- 获取多组主题
- 支持多样化的api
缺点
- 不利于SEO优化,不过一般文档也不需要SEO
类似产品
- Nuxt
- Docute
- Hexo
- GitBook
- vuepress
实现方式1:手工创建
创建index.html
<!-- index.html --> <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta charset="UTF-8"> <link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css"> </head> <body> <div id="app"></div> <script> window.$docsify = { //... } </script> <script src="//unpkg.com/docsify/lib/docsify.min.js"></script> </body> </html>
创建README.md文件,作为主页面,加入文档目录,即可跳转对应的文档
然后把文档放到对应目录,利用tomcat,nginx等web服务器打开http://localhost:3000即可展现
实现方式2:官方脚手架创建
下面展示确保已安装node,npm
- 安装脚手架
npm i docsify-cli -g
- 查看脚手架版本
docsify -v
- cd到项目目录初始化项目
docsify init ./
初始化的文件
<!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Python100天学成记</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="description" content="Description"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css"> </head> <body> <nav><!--顶部导航栏 --> <a href="#/">首页</a> </nav> <div id="app">正在加载</div> <!-- 搜索设置 --> <script> window.$docsify = { name: 'Python (首页)', repo: '', auto2top: true, search: { noData: { '/de-de/': 'Keine Ergebnisse!', '/zh-cn/': '没有结果!', '/': 'No results!' }, paths: 'auto', placeholder: { '/de-de/': 'Suche', '/zh-cn/': '搜索', '/': 'Search' } } } </script> <script src="//unpkg.com/docsify/lib/docsify.min.js"></script> <script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script> <script src="//unpkg.com/docsify/lib/plugins/ga.min.js"></script> <script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script> <script src="//unpkg.com/prismjs/components/prism-markdown.min.js"></script> <script src="//unpkg.com/prismjs/components/prism-nginx.min.js"></script> </body> </html>
- 启动项目
docsify serve ./
- 最终成品展示