入坑docsify,一款神奇的文檔生成利器!

2020-12-09 紙鶴視界

layout: postcategory: javatitle: 入坑 docsify,一款神奇的文檔生成利器!tagline: by 沉默王二tags:

- java

Guide 哥是我認識的一個非常優秀的年輕人,胖嘟嘟的身軀裡充斥著無窮無盡的才華,他的 JavaGuide 在 GitHub 上已經標星 91K+ 了,空閒的時候我都會上去瞅兩眼,畢竟學習使我快樂,嘿嘿。

有一天,我發現,他整的那個在線版看起來非常漂亮,我就問他用什麼做的,他就會回我說,「docsify,很方便。」剛好我最近在更新《教妹學 Java》專欄,就也想整個在線版的,方便讀者閱讀。

01、docsify 是什麼

一款神奇的文檔生成利器

自從有了 Markdown, 我就再沒用過富文本編輯器,因為 Markdown 的書寫有一種心流的感覺。很多博客平臺都支持 Markdown 了,即便是不支持,也沒關係,可以通過 mdnice 或者 Md2All 轉成富文本的格式。

docsify 可以自動地將 Markdown 中的標題生成目錄,並且可以配合碼雲(國內的訪問速度比 GitHub Pages 更快)快速搭建一個小型的文檔網站,整個頁面的配色和布局也十分舒適,讓閱讀體驗在不知不覺中提升了好幾個檔次。

和 Gitbook 不同,docsify 不會生成靜態的 HTML 文件,它會智能地加載和解析 Markdown 文件,這就避免了 HTML 文件對整個文檔庫的「汙染」。

貼一下 docsify 的官網:

https://docsify.js.org/

點進去後你會感覺非常的賞心悅目,滿滿的小清新。不得不承認,我的眼睛被它深深地吸引了。

02、入坑 docsify

第一步,打開命令行,執行以下命令安裝 docsify-cli,方便本地初始化和實時預覽。

npm i docsify-cli -g如果這一步非常非常慢的話,可以強制退出,因為 npm 是從國外伺服器下載的,受網絡影響較大。

淘寶團隊幫我們解決了這個煩惱,搞了一個 npm 的國內鏡像。可以通過執行下面的命令把 npm 替換成 cnpm。

npm install -g cnpm --registry=https://registry.npm.taobao.org如果出現 Error: EACCES: permission denied, access '/usr/local/lib/node_modules' 錯誤的話,是因為執行命令時沒有獲得管理員權限,解決方案就在 npm 前面加上 sudo:

sudo npm install -g cnpm --registry=https://registry.npm.taobao.org輸入密碼後就可以執行成功了。然後執行 cnpm i docsify-cli -g 命令進行安裝。如果還提示權限錯誤(Error: EACCES: permission denied)的話,記得加上 sudo。

PS:sudo 是一個 linux 系統管理指令,允許系統管理員讓普通用戶執行一些 root 級別的命令。

安裝成功後,會提示以下信息。

第二步,執行以下命令創建文檔目錄並初始化。

docsify init ./docs進入 docs 目錄後,可以看到 README.md(做為主頁內容渲染)和 index.html(入口文件)兩個文件。

第三步,回到 docs 的上級目錄,執行以下命令啟動本地服務。

docsify serve docs

第四步,在瀏覽器地址欄輸入 http://localhost:3000 進行預覽。

03、自定義導航欄

打開 index.html 文件,在 body 標籤中添加 nav 標籤,如下所示:

<body><nav><ahref="www.itwanger.com">沉默王二個人博客</a></nav><divid="app"></div></body>保存後,就可以在瀏覽器上查看到效果。

04、定製化配置項

打開 index.html 文件,在 script 標籤中對 window.$docsify 進行配置,如下所示:

window.$docsify = { name: '教妹學Java', repo: 'https://github.com/itwanger/TechSisterLearnJava',}1)name:文檔標題,會顯示在側邊欄頂部。

2)repo:GitHub 上的倉庫地址,會在頁面右上角渲染一個 GitHub 角標。

保存後,就可以在瀏覽器上查看到效果。

05、安裝插件

1)全文搜索

全文搜索插件會根據當前頁面上的超連結獲取文檔內容,在 localStorage 內建立文檔索引。默認過期時間為一天,也可以指定需要緩存的文件列表或者過期時間。

打開 index.html 文件,添加全文搜索配置項,並引入 search.min.js,如下所示:

<body><script>window.$docsify = {search: {paths: 'auto',placeholder: '搜索',noData: '找不到結果',depth: 3, }, }</script><scriptsrc="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script></body>保存後,就可以在瀏覽器上查看到效果。

2)圖片縮放

在 index.html 文件中引入 zoom-image.min.js 即可,如下所示:

<scriptsrc="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>保存後,就可以在瀏覽器上查看到效果,滑鼠放到一張圖片上時會出現縮小或者放大的圖標,點擊後就可以改變圖片的形態。

3)複製到剪貼板

在所有的代碼塊上添加一個簡單的 Click to copy 按鈕來允許用戶從你的文檔中輕易地複製代碼。在 index.html 文件中引入 docsify-copy-code 即可,如下所示:

<scriptsrc="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>保存後,就可以在瀏覽器上查看到效果。

4)字數統計

提供了統計中文漢字和英文單詞的功能,並且排除了一些 markdown 語法的特殊字符例如 *、- 等。

打開 index.html 文件,添加 count 配置項,並引入 countable.js,如下所示:

<body><script>window.$docsify = {count:{countable:true,fontsize:'0.9em',color:'rgb(90,90,90)',language:'chinese' } }</script><scriptsrc="//unpkg.com/docsify-count/dist/countable.js"></script></body>保存後,就可以在瀏覽器上查看到效果。

06、代碼高亮

docsify內置的代碼高亮工具是 Prism。Prism 默認支持的語言如下:

Markup - markup, html, xml, svg, mathml, ssml, atom, rssCSS - cssC-like - clikeJavaScript - javascript, jsJava 需要在 index.html 文件中添加額外的語法文件,如下所示:

<scriptsrc="https://cdn.jsdelivr.net/npm/prismjs@1.22.0/components/prism-java.min.js"></script>保存後,就可以在瀏覽器上查看到效果。

07、部署到碼雲

我們可以把文檔網站部署到 GitHub Pages 上,但對於國內用戶來說,碼雲的訪問速度顯然會更快一些。

如果你是第一次使用 GitHub 的話,我這裡已經為你準備好了教程:

文科妹子都會用 GitHub,你這個工科生還等什麼

在 GitHub 上新建一個倉庫,把你的文檔全部放到 docs 目錄下,我的已經創建好了,就叫 TechSisterLearnJava。

接下來,登錄碼雲,選擇從 GitHub 導入倉庫。

選擇對應倉庫後點擊導入。

導入成功後,點擊「查看倉庫」,就可以看到從 GitHub 導入到碼雲的倉庫。點擊「服務」,選擇「Gitee Pages」。

勾選強制啟用 HTTPS,然後點擊「啟動」按鈕。不一會兒,碼雲 Pages 服務就開啟了。

點擊網站地址:

https://itwanger.gitee.io/zero-learn-java

就可以看到 docsify 已經成功部署到碼雲上了。

08、最後

強烈推薦一下《教妹學 Java》專欄,目前已更新 15 節內容(近 5 萬字),後面每周至少會更新 2 節,預計更新 130 節,從 Java 的基礎知識到對象和類,再到集合框架、網絡編程、並發編程和 Java 虛擬機,基本上全方位覆蓋。

專欄中涉及到的圖片都花了我很多精力和心思,力爭給你一種耳目一新的感覺,隨便截幾張圖給你看看。

真的用心了

真的真的用心了

思維導圖同樣用了心 這麼好的專欄上哪去找呢?免費給你(反正我也不知道自己是怎麼想的)!

GitHub 閱讀地址(star 它):

https://github.com/itwanger/zero-learn-java

碼雲閱讀地址(star 它):

https://gitee.com/itwanger/zero-learn-java

docsify 在線閱讀地址:

https://itwanger.gitee.io/zero-learn-java

我知道,我知道,不用你開口,離線版的 PDF 我也準備好了,看這暗黑風格的 PDF,閱讀起來絕壁賞心悅目啊。

百度網盤下載(暗黑和亮白,兩種)地址:

https://pan.baidu.com/s/1qwomiFHW6vZdVo26heMctg 密碼:1thn

PS:整完這個 docsify 後,我累壞了,一瞅時間,凌晨 1 點 32 分了,說實話,眼睛已經迷離了。

相關焦點

  • 一款神奇手機殼 竟可以讓iPhone變「偷拍」利器
    DEFOX最新開發出來一種可以讓你的iPhone變成「偷拍」利器的手機殼。其實並非真的是要你去偷拍,而是他可以作為運動相機或者進行隱秘拍攝。DEFOX拍攝手機殼       其實這款手機殼的原理十分簡單,就是通過一個可以活動的鏡片反射的原來進行拍攝。
  • 告別手寫 API文檔生成工具推薦
    隨著API的發展以及需求的日益增加,對API文本文檔的需求與隨之而來。相信許多開發人員都遇到過編寫API文檔方面的問題及煩惱。你是否還通過手寫的方式來生成和編寫這些文檔呢?那麼你就OUT啦!話說工欲善其事必先利其器,本文分享8款非常好的API文檔生成工具給大家。
  • word文檔怎麼自動生成目錄? word文檔自動生成目錄教程速Get
    word文檔怎麼自動生成目錄? word文檔自動生成目錄教程速Get時間:2018-06-26 19:52   來源:今日頭條   責任編輯:沫朵 川北在線核心提示:原標題:word文檔怎麼自動生成目錄? word文檔自動生成目錄教程速Get 很多小夥伴還不清楚word文檔怎麼自動生成目錄?
  • smart-doc 2.0.2 發布,Java 零註解 API 文檔生成工具
    smart-doc 是一款同時支持 java restful api 和 Apache Dubbo rpc 接口文檔生成的工具,smart-doc 顛覆了傳統類似 swagger 這種大量採用註解侵入來生成文檔的實現方法
  • 【筆記】關於文檔生成那些事(二)
    因為一些原因(主要是人懶),這個內容這麼久還沒寫完,所以這次趁著假期在家趕緊把坑填了
  • Spring Boot Swagger2自動生成接口文檔和Mock模擬數據
    一、簡介在當下這個前後端分離的技術趨勢下,前端工程師過度依賴後端工程師的接口和數據,給開發帶來了兩大問題:問題一、後端接口查看難:要怎麼調用?參數怎麼傳遞?有幾個參數?參數都代表什麼含義?問題一的一般解決方案:後端團隊共同維護一個在線文檔,每次改接口再去改對應的文檔,但難免會遺漏,花的大力氣但卻效果平平。問題二的一般解決方案:自己搭建一個Mock伺服器,然後一個接口一個接口手動去錄規則,還是一個費力的體力活。那有沒有最優的解決方案,來解決以上兩個問題呢?
  • Word文檔如何生成目錄?
    Word文檔是現在辦公中用到的比較多的一種文檔,雖然用的很多,但是裡面的一些操作很多人還不是很了解,就比如Word文檔目錄怎麼生成,很多人就不知道Word文檔如何生成目錄,下面小編就為大家帶來Word生成目錄的操作方法啊。
  • Python Sphinx 生成簡潔大方的文檔
    安裝 sphinx 庫簡單示例( Spninx 使用 )步驟一:Sphinx 創建出基礎配置步驟二:配置項目入口 index.rst步驟三:生成項目文檔步驟四:展示出來小小總結Sphinx 簡介這個 golang 在語言工具包裡就整合了 go doc 這樣的工具,能夠根據代碼和代碼裡的注釋生成一個漂亮的文檔。Python 也有自己的方案,解決文檔就是 Sphinx ,Python3.x 官方的文檔就是用這個生成的。
  • 迅捷PDF轉換器:萬能文檔轉換利器
    在文檔轉換這一領域,迅捷 PDF 轉換器,深受眾多職場達人、學習小能手們的喜愛。不僅操作簡單,而且功能及其強大,如 CAJ 轉 PDF、CAJ 轉 Word、PDF 轉換、PDF 翻譯、電子書轉換等等,另外,Windows、Mac 設備皆可使用。文檔轉換全才PDF、Office 文檔是最常見的辦公、學習文檔格式。
  • JavaScript開發者的27個神奇VSCode工具
    Markdownlint + docsify有些人可能有這樣的習慣:在開項目討論會時,用Markdown格式記筆記。這樣的筆記易於理解,而且有很多便利的Markdown文檔工具,其中就包括markdownlint。
  • smart-doc 1.9.4 發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • smart-doc 1.8.1 發布,Java 零註解文檔生成工具
    smart-doc是一個java restful api文檔生成工具, smart-doc完全基於接口源碼分析來生成接口文檔,完全做到零註解侵入
  • smart-doc 1.9.6 發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • Vue、React、Angular之三國殺,web前端入坑第六篇(上)
    如果有不知道mvvm概念的同學,請先回顧我 入坑第五篇: 秒懂前端框架歷史和MVVM框架原理!我想除了我也沒其他人可以這麼白話而又費口水的講解這個話題。回顧了一下這篇文,我還驚訝於當時的思路是如此清晰和用心,文筆也是賊帥(佩服一年前的自己)。
  • 這個VS Code擴展可以自動生成Python文檔字符串
    今天,我們要介紹的就是一款可以生成 Python 文檔字符串的 VS Code 擴展。 GitHub 地址:https://github.com/graykode/ai-docstring 擴展地址:https://marketplace.visualstudio.com/items?
  • smart-doc 1.9.9 發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • smart-doc 2.0.1 發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • wps文檔如何製作生成二維碼?
    我們使用wps時,有時候會需要插入二維碼,一般我們都會再去安裝二維碼生成的軟體或者去找相關二維碼生成網站。實際上,wps本身就有生成二維碼的功能,下面就來介紹一下。一、用打開一份空白文檔,菜單點擊【插入】。
  • smart-doc 2.0.0 重磅發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具