[工具推薦]制作基於Dash的本地文檔方便搜索文檔api和內容


[版權聲明]:本文章由danvid發布於http://danvid.cnblogs.com/,如需轉載或部分使用請注明出處

  最近在看es的文檔,發現查起api來真的很麻煩,很多現在開源的文檔都沒有查詢功能,對於忘了的一些東西,想查詢真的有點麻煩,找了很多方法,最后發現了這個工具Dash(dash只能在macOS上使用,windows用戶可以用zeal試試,好像docset是可以通用的)。

  Dash是可以提供文檔的檢索和本地化的功能,十分適合學習之后對文檔的查找。Dash本身和很多開源項目合作,提供了很多的文檔下載,其中就包含的ES:

下載之后是變成一個較docset的文件,就可以使用了,在搜索框查一下就可以找到你心儀的文檔了:

如果搜不到也不用怕,我們可以自己制作,非常簡單:

1.找到你要制作的文檔的首頁地址,如lucene的:http://lucene.apache.org/core/8_1_0/index.html ,使用weget命令遞歸把網頁全部爬下來:  

wget -r -p -np -k -P ~/tmp/ http://lucene.apache.org/core/8_1_0/index.html

2.去github上下載個html2dash的程序:https://github.com/selfboot/html2Dash 感謝一下這位兄弟[selfboot]提供的代碼,[當然官網也提供了兩個程序https://github.com/technosophos/dashinghttps://github.com/godbout/dash-docset-builder ]剩下的就執行一下轉換的命令即可,這里需要注意的是執行的文件目錄是index.html的目錄

./html2dash.py -n lucene8.1.0  -i ~/tmp/lucene_green_300.png  ~/tmp/lucene.apache.org/core/7_0_0

-i 表示圖片路徑,需要是png格式,剩下的自己看github把,查詢效果:

使用起來確實很方便,大家可以試試。

 

更新: 

由於官網上也有程序生成docset文件https://github.com/technosophos/dashing 按github指引安裝一下dashing就可以,這個生成出來跟html2Dash相比可能更切合docset格式些,但是也要你網上的文檔格式比較規范。當然這個更簡單,配置一下json文件幾行命令就可以

1.首先執行安裝命令:

brew install dashing

2.cd到你要生成的docset文件需要放在的文件夾,執行create命令

cd ~/danvid/tmp
dashing create

3.你執行完dashing create之后會產生一個dashing.json文件,vim編輯一下

{
    "name": "elasticsearch-cn-guide",
    "package":"elasticsearch-cn-guide",
    "index": "index.html",
    "selectors": {
        "dt a": "Command",
        "title": "Package"
    },
    "ignore": [
        "ABOUT"
    ],
    "icon32x32": "favicon.png",
    "allowJS": false,
    "externalURL": "https://www.elastic.co/guide/cn/elasticsearch/guide/current"
}

這里需要注意的是你要提前下載icon圖片到你文件夾中(favicon.png),還要必須寫"package"這個屬性,不然會生成不了(我也是開始沒命名這個,后面去issue里才知道),然后執行一下

dashing build tmp

就可以了,tmp就是開始你要放docset文件的文件夾

 

生成原理簡單講一下(網上有挺多手工制作教程的,有時間也可以自己寫一個~反正我是不想寫~哈哈):

  1. Create the Docset Folder;建一個文件夾價格docset的后綴

  2. Copy the HTML Documentation;復制html文件到Documentations文件夾

  3. Create the Info.plist File;創建首頁文件

  4. Create the SQLite Index;創建SQLite索引表

  5. Populate the SQLite Index;插入索引數據

完事!

 

 

[參考]https://kapeli.com/docsets#dashDocset

[參考]https://segmentfault.com/a/1190000000721142

 


免責聲明!

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



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