使用 docsify 創建自己的 markdown 文檔系統
先來看一下我在碼雲上創建的demo:
http://lin1270.gitee.io/nicedoc/#/
GIT自己clone一下:
https://gitee.com/lin1270/nicedoc.git
PRE.------------------------------------
1.如果沒有安裝NODEJS,先安裝一下NODEJS。
2.安裝docsify: ---> 方便本地跑起來看效果,不然直接懟GIT上,可能格式不正確的啦。
npm i docsify-cli
3.創建git。 ----> 方便版本管理。有些文檔,有版本管理,更容易應對扯皮。
4.將GIT拉下來,如果你想用我一樣的結構,就複製一下我的文件夾唄。
5.本地預覽:
docsify serve
當然,也可以創建nodejs項目,在 package.json 中加入腳本: "dev": "docsify serve",
這樣就可以愉快地執行:npm run dev啦。
6.一切就緒就可以傳到GIT了。
7.那麼如何愉快地遠程查看呢?
這就需要配置GIT了。
那麼請參照官方文檔:
https://docsify.js.org/#/deploy?id=github-pages
(我使用碼雲,碼雲自動部署貌似要付費才得,所以我是需要手動更新,才生效的)
(所以建議使用github,github只要PUSH成功,再CTRL+R刷新即可看到更新後的效果了)
文檔結構主要分爲幾部分:
1. 搜尋框。
2.左側菜單。side.md
3.右上角的導航欄。nav.md
4.內容區。
入口:
index.html
看一下配置就知道文檔的組織結構了,不必贅述。
下面帖一下錦榮大佬幫寫的菜單點擊折疊展開的牛B插件代碼:
plugins: [
function(hook, vm) {
hook.doneEach(function() {
var sidebarLiEls = document.querySelectorAll('.sidebar-nav li')
sidebarLiEls.forEach(function(el) {
el.style.cursor = 'pointer'
el.addEventListener('click', function(e) {
e.stopPropagation()
clearActiveClass()
el.classList.add('active')
var targetEl = e.target.children[0] || e.target.nextElementSibling
if (!targetEl) return
if (targetEl.nodeName.toLowerCase() !== 'ul') return
if (targetEl.style.display === 'none') {
targetEl.style.display = 'block'
} else {
targetEl.style.display = 'none'
}
}, false)
}) function clearActiveClass() {
sidebarLiEls.forEach(function(el) {
if (el.classList.contains('active')) {
el.classList.remove('active')
}
})
}
})
}
]
使用 docsify 創建自己的 markdown 文檔系統的更多相关文章
- Markdown 文档生成工具
之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协 ...
- 入坑 docsify,一款神奇的文档生成利器!
layout: postcategory: javatitle: 入坑 docsify,一款神奇的文档生成利器!tagline: by 沉默王二tags: - java Guide 哥是我认识的一个非 ...
- 如何創建一個自己的 Composer/Packagist 包 (PHP)
如何創建一個自己的 Composer/Packagist 包 首先讓我們踏着歡快的腳步去Github創建一個新庫,這裏取名 composer-car,又歡快的將它克隆到本地: git clone ht ...
- js 加载并解析Markdown文档
网上有很多网站会通过.md文档来做页面内容(比如,阮一峰老师的es6入门blog: http://es6.ruanyifeng.com/),很好奇,这是怎么做的?(至于.md是什么,或许(https: ...
- 使用Python从Markdown文档中自动生成标题导航
概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...
- 「Ionic」創建新項目
1.創建新項目 创建一个名为myApp的还有tabs的项目(ionic start <project-name> <optional-template>) 可选模板为sidem ...
- Linux(Ubuntu)使用日记------markdown文档转化为word文档
Linux(Ubuntu)使用日记------markdown文档转化为word文档
- 将markdown文档使用gulp转换为HTML【附带两套css样式】
将markdown文档使用gulp转换为HTML[附带两套css样式] 今天遇到一个需求,即将Markdown文档转为为HTML在网页展示,身为一名程序员,能用代码解决的问题,手动打一遍无疑是可耻的. ...
- [Ms SQL] 基本創建、修改與刪除
##創建 table student, 內涵 id ,name ,tel三種columne,設定id為primary key create table student ( id int primary ...
随机推荐
- C/C++ - malloc/free和new/delete的区分
new/delete与malloc/free的区别主要表现在以下几个方面: 注意:最主要的区别,new/delete是运算符,而malloc/free是函数 (1).new能够自动计算需要分配的内存空 ...
- cx_freeze multiprocessing 打包后反复重启
写了给flask程序,此外还需要用multiprocessing 启动一个守护进程. 不打包一切正常,用cx_freeze打包后,发现flask反复重启.任务管理器里这个GUI窗口的进程数不断增加. ...
- AcWing:173. 矩阵距离(bfs)
给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l]) ...
- Java多线程-线程中止
不正确的线程中止-Stop Stop:中止线程,并且清除监控器锁的信息,但是可能导致 线程安全问题,JDK不建议用. Destroy: JDK未实现该方法. /** * @author simon * ...
- Linux编程之文件锁
1. 使用 fcntl() 给记录加锁 使用 fcntl() 能够在一个文件的任意部分上放置一把锁,这个文件部分既可以是一个字节,也可以是整个文件.这种形式的文件加锁通常被称为记录加锁,但这种称谓是不 ...
- linux开启数据库远程连接
1.阿里云开启数据库端口 3306 2. 修改 Mysql-Server 用户配置 mysql -uroot -p(注意此用户必须要有最高级权限才行 默认root用户) mysql> USE m ...
- koa 路由模块化(一)
1.项目目录 2.入口文件 根目录/app.js /** * koa 路由模块化 */ const Koa = require('koa'); const router = require('koa- ...
- 转 Golang 入门 : 切片(slice)
https://www.jianshu.com/p/354fce23b4f0 切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合.切片是围绕动态数组的概 ...
- MySQL基础普及《MySQL管理之道:性能调优、高可用与监控》
最近工作的内容涉及MySQL运维内容,陆陆续续读了几本相关的书,其中一本是<MySQL管理之道:性能调优.高可用与监控>. 内容涵盖性能调优(包括sql优化等).备份.高可用,以及读写分离 ...
- 【React自制全家桶】七、React实现ajax请求以及本地数据mock
一.下载axios插件 yarn add axios 二.React的ajax请求代码如何放置 建议放置在生命周期函数之componentDidMount()中 三.ajax之get请求 axios. ...