[版权声明]:本文章由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

[工具推荐]制作基于Dash的本地文档方便搜索文档api和内容的更多相关文章

  1. 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器

    今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...

  2. 低成本制作基于OpenWRT的渗透工具

    不知道你听说过Hak5的产品没有,它们可是黑客以及渗透测试人员的最爱.其中,有很多的PoC黑客工具都曾在热门美剧<黑客军团>中出现过.Hak5的 PACKETSQUIRREL 上架已经有好 ...

  3. Mac iOS Mac Watch 应用和游戏编程开发工具推荐

    今日分享「iOS / Mac / Watch 应用和游戏开发工具」推荐,这期专题主要为iOS开发者推荐一些优秀的设计和开发工具,这些工具包含移动原型的设计.程序的开发等,可以大大提高开发的效率!专题会 ...

  4. 10款Mac上程序员装机必备的开发工具推荐和下载

    10款Mac上程序员装机必备的开发工具推荐和下载 使用Mac的用户主要有两大类:设计师和程序员,为各位程序员童鞋推荐10个Mac上非常棒的开发工具和辅助工具,分享软件专题[10款Mac上程序员装机必备 ...

  5. 值得推荐的C/C++框架和库(深度好文)

    [本文系外部转贴,原文地址:http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.html http://coolshell.info ...

  6. 工具推荐--刷LeetCode的神器

    本文首发于微信公众号:[坂本先生],文章地址为: https://mp.weixin.qq.com/s/vHv5hO8nils_g2VSKwu1Cg如有转载请标明出处 今天给大家安利一款快速刷Leet ...

  7. [转帖]推荐一款比 Find 快 10 倍的搜索工具 FD

    推荐一款比 Find 快 10 倍的搜索工具 FD https://www.hi-linux.com/posts/15017.html 试了下 很好用呢. Posted by Mike on 2018 ...

  8. 基于ConcurrentHashMap的本地缓存

    基于ConcurrentHashMap的本地缓存 在系统中,有些数据,数据量小,但是访问十分频繁(例如国家标准行政区域数据),针对这种场景,需要将数据搞到应用的本地缓存中,以提升系统的访问效率,减少无 ...

  9. 工具推荐-使用RedisInsight工具对Redis集群CURD操作及数据可视化和性能监控

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x00 快速 ...

随机推荐

  1. drf (学习第三部)

    目录 视图 视图额基类 视图类扩展 GenericAPIView的视图子类 视图集ViewSet 路由Routers 视图 Django REST framework 提供的视图的主要作用: 控制序列 ...

  2. A*算法的有关知识--例子:最短路径问题

    前置知识 定义1,g(n)=从树根到节点n的代价.当算法处理到某个节点时,g(n)是可以精确计算的. 定义2,h*(n)=从节点n到目标节点的优化路径的代价.一般不可知. 定义3,f*(n)=g(n) ...

  3. Flask中的RESTFul

    RESTFul 1.什么是RESTFul? 1.1 简介 REST即表述性状态传递(英文:Representational State Transfer, 简称REST)是Roy Fielding博士 ...

  4. UVA12558 埃及分数 Egyptian Fractions

    题意描述 题目描述的翻译挺清楚的了. 和原题的区别是多了禁用的分母.(还有毒瘤输入输出) 算法分析 显然这道题没有什么很好的数学方法来解决,所以可以使用搜索. 由于不确定深度,深搜显然无穷无尽. 所以 ...

  5. 云计算之路-出海记:整一台 aws 免费云服务器

    上次蹭到一张船票,登上了 aws 这艘巨轮,今天要在船上的免费餐厅吃一顿免费晚餐 -- 整一台 aws 免费套餐中的 EC2 服务器体验一下. 进入 EC2 控制台,点击"启动实例" ...

  6. zookeeper单机/集群安装和使用

    简书原文地址:https://www.jianshu.com/p/88194fde9a07 或者关注我的公众号"进阶者euj" 前提是本机有jdk 一.单机安装 1.去官网下载zo ...

  7. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(2)之识别当前i.MXRT型号. 文接上篇 <超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM ...

  8. ImpalaTest

    package com.niewj.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...

  9. CSS不同颜色按钮实例

    CSS减少代码重复技巧非常多,以主要包含采用相对尺寸.半透明颜色的实例来说明CSS减少代码重复技巧的一些运用. 以下为通过CSS代码实现的一个"Yes!"按钮效果以及相应的代码: ...

  10. python 第二天 之循环与判断

    人生苦短我用python------这句话说的一点都没有错,python功能真的是太强大了,最主要的节约时间,节约时间对于一个程序员意味着什么?意味着早睡,意味着更多的时间可以干更多的活.少熬了了多少 ...