docsify網站文檔工具用法總結


docsify , 網站文檔動態生成工具,類似gitbook

特性

  • 無需構建,寫完文檔直接發布
  • 容易使用並且輕量 (~19kB gzipped)
  • 智能的全文搜索
  • 提供多套主題
  • 豐富的 API
  • 支持 Emoji
  • 兼容 IE10+
  • 支持 SSR

安裝

npm i docsify-cli -g

進入項目根目錄並初始化

docsify init ./docs

之后docs目錄下會生成以下幾個文件

index.html 入口文件
README.md 會做為主頁內容渲染
.nojekyll 用於阻止 GitHub Pages 會忽略掉下划線開頭的文件

運行服務

docsify serve ./docs

打開瀏覽器 http://localhost:3000

多頁文檔

創建多個頁面,或者多級路由。創建一個 guide.md 文件,那么對應的路由就是 /#/guide。

例如這樣一個目錄結構

-| docs/
  -| README.md
  -| guide.md
  -| zh-cn/
    -| README.md
    -| guide.md

docs/README.md        => http://domain.com
docs/guide.md         => http://domain.com/guide
docs/zh-cn/README.md  => http://domain.com/zh-cn/
docs/zh-cn/guide.md   => http://domain.com/zh-cn/guide

設置封面

設置 coverpage 參數

window.$docsify = {
    coverpage: true
  }

接着在根目錄創建 _coverpage.md 文件

背景自定義

默認的背景是隨機生成的漸變色

如要自定義背景圖片或者背景色,在_coverpage.md中設置如下內容

<!-- 背景圖片 -->

![](_media/bg.png)

<!-- 背景色 -->

![color](#f0f0f0)

自定義導航欄

直接在 HTML 里定義導航欄,鏈接以 #/ 開頭

在index.html的body中添加以下代碼

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

接着配置 loadNavbar

window.$docsify = {
    loadNavbar: true
  }

在navbar.md_中添加以下鏈接

* [En](/)
* [中文](/zh-cn/)

側邊欄導航

默認側邊欄會根據當前文檔的標題生成目錄。也可以設置文檔鏈接,通過 Markdown 文件生成

先配置 loadSidebar 選項

window.$docsify = {
    loadSidebar: true
  }

然后創建 _sidebar.md 文件,這樣我們左側目錄就會顯示出來

* [首頁](zh-cn/)
* [指南](zh-cn/guide)

需要在文檔根目錄創建 .nojekyll 命名的空文件,阻止 GitHub Pages 忽略命名是下划線開頭的文件。

插件

添加全文搜索
引入search.js

<script src="//unpkg.com/docsify/lib/plugins/search.js"></script>

配置search選項

search: {
      maxAge: 86400000, // 過期時間,單位毫秒,默認一天
      paths: [], // or 'auto'
      placeholder: 'Type to search',

      // 支持本地化
      placeholder: {
        '/zh-cn/': '搜索',
        '/': 'Type to search'
      },

      noData: 'No Results!',

      // 支持本地化
      noData: {
        '/zh-cn/': '找不到結果',
        '/': 'No Results'
      },
      // 搜索標題的最大程級, 1 - 6
      depth: 2
    }

添加評論系統

Gitalk,一個現代化的,基於Preact和Github Issue的評論系統。

<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>

clientID和clientSecret需要在github上創建一個app生成

相關鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM