使用Docsify做文档网站的详细配置教程

作者:xhemj

没错,它叫Docsify。



xhemj的文档中心就是用这个写的

开源地址:https://github.com/docsifyjs/docsify/

官方Demo:https://docsify.js.org/

目录

官方说明

Docsify
A magical documentation site generator.
Simple and lightweight (~21kB gzipped)
No statically built html files
Multiple themes

Docsify

一个神奇的文档站点生成器。

简单轻巧(~21kB)

没有生成静态的html文件

主题丰富

安装

本地搭建

如果你想在本地搭建:

npm安装:

npm i docsify-cli -g

初始化:

docsify init ./docs

本地预览:

docsify serve docs

进入http://localhost:3000就能看到效果咯!

托管在网上

如果你想在托管在网上:

新建一个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="//cdn.jsdelivr.net/npm/docsify/themes/vue.css">
</head>
<body>
<div id="app"></div>
<script>
window.$docsify = {
//...
}
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
</body>
</html>

CDN的选择

CDN可以选择:

<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/docsify/4.11.2/docsify.min.js"></script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>

这样就可以看到一个最基本的网页啦!

如何写文章

只需用Markdown语法写好一个.md的文章放在根目录或子目录后就会自动识别了。

我自己测试好像用html的也可以,直接把后缀名改成.md,但效果可能不太好。

文章链接对应:

/README.md  =>  domain.com/#/
/hello.md => domain.com/#/hello
/hello/hi.md => domain.com/#/hello/hi

如本教程文章Markdown文件为:https://gitee.com/xhemj/books/raw/master/p/How-to-Use-Docsify.md

渲染成:https://xhemj.gitee.io/books/#/p/How-to-Use-Docsify

个性化

自定义加载文字

只需在index.html中新增:

<div id="app">Please wait...</div>

自定义侧边栏

只需在index.html中新增:

<script>
window.$docsify = {
loadSidebar: true
}
</script>

后创建一个文件叫做_sidebar.md,将你的文件输入进去:

* [Home](/)
* [Guide](guide.md)

_sidebar.md的加载逻辑是从每层目录下获取文件,如果当前目录不存在该文件则回退到上一级目录。

例如当前路径为/zh-cn/more-pages则从/zh-cn/_sidebar.md获取文件,如果不存在则从/_sidebar.md获取。

注意,如果是托管在网上,请在文件根目录新增名叫.nojekyll的空文件。

为了更好地SEO,您可以在每个文件后面自定义标题:

* [Home](/)
* [Guide](guide.md "The greatest guide in the world")

默认情况下会自动根据文章标题生成目录,如果不想要,可以再index.html中新增:

<script>
window.$docsify = {
loadSidebar: true,
subMaxLevel: 2
}
</script>

subMaxLevel: 2表示只显示h1~h2的标题,对应###

如果你想忽略某个标题,则可以在文章中新增{docsify-ignore}

# Getting Started
## Header {docsify-ignore}

如果想忽略全部的标题,则可以新增{docsify-ignore-all}

# Getting Started {docsify-ignore-all}
## Header

表示忽略{docsify-ignore-all}下的全部标题

{docsify-ignore-all}{docsify-ignore}在正文中都不会显示

自定义导航栏

写法一:

index.html中新增:

<body>
<nav>
<a href="#/">EN</a>
<a href="#/zh-cn/">中文</a>
</nav>
<div id="app"></div>
</body>

所有路径都必须用#/来书写

写法二:

在根目录新增_navbar.md文件:

写法同_sidebar.md

* [En](/)
* [chinese](/zh-cn/)

你也可以按照如下来写多级导航栏:

* Getting started
* [Quick start](quickstart.md)
* [Writing more pages](more-pages.md)
* [Custom navbar](custom-navbar.md)
* [Cover page](cover.md) * Configuration
* [Configuration](configuration.md)
* [Themes](themes.md)
* [Using plugins](plugins.md)
* [Markdown configuration](markdown.md)
* [Language highlight](language-highlight.md)

_navbar.md的加载逻辑是从每层目录下获取文件,如果当前目录不存在该文件则回退到上一级目录。

例如当前路径为/zh-cn/more-pages则从/zh-cn/_navbar.md获取文件,如果不存在则从_navbar.md获取。

封面

设置:

window.$docsify = {
coverpage: true,
}

后再根目录创建_coverpage.md

输入内容就可以显示在封面了

效果见https://xhemj.gitee.io/books/

主题颜色

设置:

window.$docsify = {
themeColor: '#c30aff',
}

#c30aff就是主题的颜色了

外链打开方式

设置:

window.$docsify = {
externalLinkTarget: '_blank',
}

_blank表示在新标签页中打开

插件

表情插件

先在在index.html中新增:

<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>

我自己测试是我上面推荐的三个CDN都可以使用

即可输入

:100: =>

使用Docsify做文档网站的详细配置教程的更多相关文章

  1. 使用 Hexo 创建项目文档网站

    当我们发布一个开源项目的时候,最重要的事情之一就是要创建项目文档.对使用项目的用户来说,文档是非常有必要的,通常我们可以使用下面这些方式来创建文档: GitHub Wiki:在 Github 上我们可 ...

  2. 无需编译、快速生成 Vue 风格的文档网站

    无需编译.快速生成 Vue 风格的文档网站 https://docsify.js.org/#/#coverpage https://github.com/QingWei-Li/docsify/

  3. 本号讯 | 永不消失的协作“空间站”开课;微软推出微软云Azure文档网站

    8月29日,针对企业常面临的“协同办公”困难,开展以“还有这种操作?永不消失的协作'空间站'”为主题的协同办公培训课. 课程内容包含:在Office 365环境中,如何利用Teams与Groups等功 ...

  4. GIT+云盘作 做 文档管理工具

    GIT+云盘作 做 文档管理工具 在工作中, 会遇到公司的文档 和 自己家里的 文档进行同步的问题, 通常我们使用U盘作为传输节制, 但是不是非常好,文档的改动都不能发现, 导致回家同步的时候, 出各 ...

  5. 为什么不使用github的wiki而是使用mkdocs做文档管理?

    为什么不使用github的wiki而是使用mkdocs做文档管理? 目前 KSFramework 是使用mkdocs来做在线文档 而非使用github的wiki,这是为什么呢? 在windows下搭建 ...

  6. VUE3.0发布,自己搞个文档网站

    9月19日,尤大神发表了VUE3.0版本的演说,强大且震撼,这两天一直在找网站文档,可能还未被百度收录,未找到文档网站.后来在github上面找到了中文代码. 地址为:https://github.c ...

  7. 如何使用 VuePress 搭建一个 element-ui 风格的文档网站

    如何使用 VuePress 搭建一个 element-ui 风格的文档网站 { "devDependencies": { "vuepress": "1 ...

  8. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程之更改图片和附件上传路径

    本文是接上一篇博客,如果有疑问请先阅读上一篇:百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程 默认UEditor上传图片的路径是,编辑器包目录里面的net目录下 下面就演示如 ...

  9. 使用ghpage(github服务)搭建文档网站几种方式

    可以通过github提供的ghpage服务来搭建网站,有以下三种方式来实现: 1.文档放在master分支,作为一个子目录. 仓库:https://github.com/Ourpalm/ILRunti ...

随机推荐

  1. ButterKnife的使用及其解析

    本博客介绍ButterKnife的使用及其源码解析. ButterKnife的使用 ButterKnife简介 添加依赖 在Project级别的build.gradle文件中添加为ButterKnif ...

  2. 运输层协议TCP和UDP

    运输层协议TCP和UDP 一.用户数据报协议 UDP 1.1.UDP 概述 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能. 虽然 UDP 用户数据报只能提供不 ...

  3. 无线个人区域网WPAN

    无线个人区域网WPAN (Wireless Personal Area Network) 1.1.概述 在个人工作地方把属于个人使用的电子设备用无线技术连接起来自组网络,不需要使用接入点 AP. 整个 ...

  4. unittest实战(四):用例编写

    import yamlimport unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unpack ...

  5. Nginx之常用基本配置(三)

    前面我们聊了下了Nginx作为WEB服务器对客户端请求相关配置,文件操作优化.Nginx访问控制.basic验证,.状态模块状态页.gzip压缩配置:回顾请参考https://www.cnblogs. ...

  6. 用vue + leancloud开发一个免费的博客

    项目地址 https://github.com/Fee-ing/Fe... 在线预览 在线预览地址: 搭建免费博客

  7. 简单说 通过CSS实现 文字渐变色 的两种方式

    说明 这次的重点就在于两个属性, background 属性 mask 属性 这两个属性分别是两种实现方式的关键. 解释 方式一 效果图 代码 <!DOCTYPE html> <ht ...

  8. 使用移动自适应布局+easy mock实现移动界面的简单实现

    一.使用easy mock模拟数据 easy mock链接地址 二.自己写移动自适应布局 自己编写主要是利用rem进行宽度栅格布局: html { /* 相当于一个界面适配器,pc以及移动端都可以进行 ...

  9. js实现box(2)(3)这种调用方式的方法

    box(2)(3)函数的调用方法有两种: 第一种: var box = function(num1){ return function(num2){ return num1+num2; }; }; a ...

  10. Python学习笔记--迭代

    在Python中,迭代是通过for ... in来实现.只要是可迭代的对象都可以用for ... in来进行历遍. 常用的有list.tuple.dict等.举例如下: 列表的迭代: L=[1,2,3 ...