zoukankan      html  css  js  c++  java
  • Docsify生成文档网站

    Docsify生成文档网站

    1. docsify简介

    docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。

    docsify能你快速的搭建一个小型的文档网站,只需要创建一个 index.html 就可以开始写文档而且直接部署在 GitHub Pages。

    官方文档:https://docsify.js.org/#/

    官方github: https://github.com/docsifyjs/docsify/

    2. docsify入门案例

    开启docsify第一个案例,需要安装Node.js以及docsify-cli工具。

    2.1 安装Node.js

    2.2 docsify-cli

    docsify-cli是生成docsify项目的小工具。使用以下命令全局安装docsify-cli,安装完成查看版本

    #全局安装docsify-cli
    npm i docsify-cli -g
    
    #查看版本
    docsify -v
    

    2.3 初始化项目

    创建一个项目根目录,用来存放案例

    mkdir docsifyDemo
    

    进入项目根目录并初始化

    docsify init ./docs
    

    查看生成的目录和文件

    tree /f
    

    生成目录和文件

    ─docs
    --.nojekyll   用于阻止 GitHub Pages 会忽略掉下划线开头的文件
    --index.html  入口文件
    --README.md   主页内容渲染
    

    2.4 启动项目

    运行服务

    docsify serve ./docs
    

    默认访问

    http://localhost:3000
    

    访问效果

    image-20200410140520786

    3. docsify 实战

    3.1 设置封面

    在docs/index.html中添加封面设置

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

    创建docs/_coverpage.md,并添加以下内容

    ![logo](https://docsify.js.org/_media/icon.svg)
    
    # Spring Security 从零开始的异世界
    ### 从零开始学 Spring Security
    > 以Spring Security为主题,开启学习之旅,从基本案例到实战案例
    
    [Gitee](https://gitee.com/newbetome/spring-security-fromzero)
    [Get Started](README.md)
    

    刷新页面,查看效果

    image-20200410145205842

    3.2 设置内容

    在docs/README.md中设置内容,默认情况下,侧边栏会根据当前文档的标题生成目录

    ## 1. Spring Security 简介
    简介
    ## 2. Spring Security 入门程序
    入门程序
    ## 3. 表单认证
    表单认证
    ### 3.1 HTTP Basic认证
    HTTP Basic认证
    ### 3.2 HttpClient模拟Basic认证
    HttpClient模拟Basic认证
    
    

    查看效果,整体满足使用,但是美中不足,需要自定义侧边栏等。

    image-20200410153319995

    3.3 定制侧边栏

    在docs/README.md中设置:loadSidebar: true

     <script>
        window.$docsify = {
          name: 'Spring Security Study',//侧边栏标题
          repo: '',//github地址
          loadSidebar: true, // 加载自定义侧边栏
          maxLevel: 4, // 默认情况下会抓取文档中所有标题渲染成目录,可配置最大支持渲染的标题层级。
          subMaxLevel: 5, // 生成目录的最大层级
          mergeNavbar: true, // 小屏设备下合并导航栏到侧边栏
          alias: { // 定义路由别名,可以更自由的定义路由规则。 支持正则
            '/.*/_sidebar.md': '/_sidebar.md'//防止意外回退
          },
        coverpage: true//设置封面
        }
      </script>
    
    

    创建_sidebar.md文件配置侧边栏

    * Spring Security 学习篇
        * [Spring Security 整合JDBC](mypages/1.md)
        *[Spring Security 整合Druid](mypages/2.md)
        *[Spring Security 整合Druid](mypages/3.md)
    

    分别创建docs/mypages/1.md、docs/mypages/2.md、docs/mypages/3.md,内容一致

    # 标题1
    ## 标题1.1
    # 标题2
    ## 标题2.1
    

    查看效果

    image-20200410164756224

    3.4 顶部导航栏

    创建docs/_navbar.md配置顶部导航栏

    * 学习
      * [文档1]()
      * [文档2]()
    
    * 插件
      * [插件2]()
      * [学习教程]()
    
    

    在docs/index.html添加

    loadNavbar: true,//顶部导航
    

    完整docs/index.html

    <!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">
    </head>
    <body>
      <div id="app"></div>
      <script>
        window.$docsify = {
          name: 'Spring Security Study',//侧边栏标题
          repo: 'https://gitee.com/newbetome/spring-security-fromzero',//github地址
          loadNavbar: true,//顶部导航
          loadSidebar: true, // 加载自定义侧边栏
          maxLevel: 4, // 默认情况下会抓取文档中所有标题渲染成目录,可配置最大支持渲染的标题层级。
          subMaxLevel: 5, // 生成目录的最大层级
          mergeNavbar: true, // 小屏设备下合并导航栏到侧边栏
          alias: { // 定义路由别名,可以更自由的定义路由规则。 支持正则
            '/.*/_sidebar.md': '/_sidebar.md'//防止意外回退
          },
          coverpage: true//设置封面
        }
      </script>
      <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
    
    </body>
    </html>
    
    

    查看效果

    image-20200410165615861

    4. 插件

    4.1代码高亮

    在docs/index.html添加

    <script src="//unpkg.com/prismjs/components/prism-bash.js"></script>
      <script src="//unpkg.com/prismjs/components/prism-java.js"></script>
      <script src="//unpkg.com/prismjs/components/prism-sql.js"></script>
    

    4.1 代码拷贝

    在docs/index.html添加

    <script src="//unpkg.com/docsify-copy-code"></script>
    

    4.2 图片放大

    在docs/index.html添加

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

    4.3 全文搜索

    在docs/index.html添加样式

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

    默认搜索

    <script>
        window.$docsify = {
         search: 'auto', // default
        }
     </script>
    

    自定义搜索

    <script>
        window.$docsify = {
          search: {
            placeholder: '搜索',
            noData: '找不到结果!',
            depth: 3
          },
        }
     </script>
    

    5. 部署

    创建项目,提交项目,设置gitHub pages

    1、master分支
    2、master分支下的docs目录
    3、gh-pages分支
    
    1、在项目根目录写的,直接把代码推送到master分支上, GitHub Pages里选择master branch.
    2.文档是在master分支下的docs/目录下编写的,直接把代码推送到master分支上,GitHub Pages里选择master branch/docs folder.
    
    image-20200410190253359

    最终代码:https://github.com/fby2018/MyDocsify

  • 相关阅读:
    动态规划-数位dp-600. 不含连续1的非负整数
    动态规划-数位dp-1012. 至少有 1 位重复的数字
    动态规划-数位dp-902. 最大为 N 的数字组合
    优先队列-1439. 有序矩阵中的第 k 个最小数组和
    再见
    [JSOI2008]星球大战——并查集+逆向思维
    洛谷p1330 封锁阳光大学(二分图染色)
    快速幂
    最小生成树——联络员 Kruskal
    最小生成树——繁忙的都市
  • 原文地址:https://www.cnblogs.com/fby698/p/12675796.html
Copyright © 2011-2022 走看看