相信不少人都有这种经历,一个项目写好了,尤为是一个组件库,你没有一个文档说明,谁能看得懂?因此一个好的项目,必需要有个通俗易懂的文档说明。固然,这些年markdown如火如荼,github的page也可让你快速生成一个简单的文档说明,但毕竟写来写去仍是在一个readme.md上面作文章,若是一个项目或是组件够大,总不能全部的都写在一个文件里面吧!就算你写的再认真,说实话,也没人愿意去看。javascript
作过前端的小伙伴,element ui想必不陌生,组件库那是至关不错,而且对用户来讲很容易入门。为何?由于他有一个完善的,浅显易懂的文档。php
一个偶然的机会了解到docsify,通过一天的摸索以为有必要写一点什么,以防本身从此查阅什么的。css
npm i docsify-cli -g
复制代码
初始化必须进到项目根目录,固然若是你像我同样只为了写一个文档而写文档,新建一个空文件夹就行。可是,在这里我要稍微弄的复杂一点,由于咱们写好的文档总不是写给本身看,仍是要放到github上面供更多人查阅的。因此咱们就重新建一个空的github库开始。固然,这过程就不累述了,你们自行建立。建立好以后将repo clone到本地。 html
docsify init ./docs
复制代码
会在当前目录新生成一个docs目录。 前端
index.html
以及无限量的添加新的markdown文件了。先无论那么多,先跑起来看到页面再说。
docsify serve docs
复制代码
再次打开浏览器:http://localhost:3000就能看到一个初始化的页面。vue
固然你可能以为这一长串指令记不住,那我们就来个简单的。java
打开package.json
,在script里面添加一条,若是没有请自行添加:npm init -y
react
"doc": 'docsify serve docs'
复制代码
之后直接 npm run doc
便可。到了这里一个简单的文档模型就出来了,接下来就着重了解一下他的相关配置:ios
太简单的配置就不累述了,给个地址,你们点进去本身看docsify,接下来重点说一下以下几个配置项。git
加载自定义导航栏,设置为true
便可,它会自动加载指定路径下的_navbar.md
,可是咱们总想什么东西都要受本身控制,这里我就简称为码控
吧!很简单,咱们在./docs
目录下新建_navbar.md
,这样,就能够在这个文件里面自定义咱们的侧边栏了。
window.$docsify = {
// 加载 _navbar.md
loadSidebar: true,
// 加载 nav.md
loadSidebar: 'summary.md'
};
复制代码
setup.md
,如上图所示:
将下面的js加在index.html
最下面便可。
<script src="//unpkg.com/docsify-copy-code"></script>
复制代码
README.md
中随便写一点代码
其余还有一些插件配置比较简单,接下来介绍下稍微有些繁琐的一个。
看名字估计有些小伙伴就知道是干吗的,就是一个基于 Github Issue 和 Preact 开发的评论插件。下面一块儿来了解怎么使用!
<link rel="stylesheet" href="//unpkg.com/gitalk/dist/gitalk.css">
<script src="//unpkg.com/docsify/lib/plugins/gitalk.min.js"></script>
<script src="//unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script> const gitalk = new Gitalk({ clientID: 'Github Application Client ID', clientSecret: 'Github Application Client Secret', repo: 'Github repo', owner: 'Github repo owner', admin: ['Github repo collaborators, only these guys can initialize github issues'], // facebook-like distraction free mode distractionFreeMode: false }) </script>
复制代码
配置文件就是上面那些,可是上面还有一些东西要咱们本身去填。也就是github application相关的一些配置。 废话很少说,打开 github.com/settings/de…
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</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">
<link rel="stylesheet" href="//unpkg.com/gitalk/dist/gitalk.css">
</head>
<body>
<div id="app"></div>
<script> window.$docsify = { name: '', themeColor: '#19BE6B', repo: '', loadSidebar: true } </script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
<script src="//unpkg.com/docsify-copy-code"></script>
<script src="//unpkg.com/docsify/lib/plugins/gitalk.min.js"></script>
<script src="//unpkg.com/gitalk/dist/gitalk.min.js"></script>
<script> const gitalk = new Gitalk({ clientID: '9b4355e11242485017da', clientSecret: 'fe82f322d0571768a6bf838b515105318397e274', repo: 'docsify-starter', owner: 'swimly', admin: ['swimly'], // facebook-like distraction free mode distractionFreeMode: true }) </script>
</body>
</html>
复制代码
最后index.html
的配置基本上就上面这样,声明,我这里的clientID
,clientSecret
是错的,切勿直接复制!
最后来一点图片欣赏一下劳动成果!
到这里一个基本的文档就完成了,接下来就是去完善文档!
因为前面咱们已经新建了github,直接提交到github的master分支下便可!到这里还没完,同步到github,要怎么让其余人能看到才是关键,接下来进行咱们的最后一步,打开最开始咱们新建的github项目,切换到setting
master branch /docs folder
。
谢谢浏览,欢迎留言,共同讨论!