Zeal一个好用的开源离线开发文档浏览器

    Zeal的官网是https://zealdocs.org/,其自我介绍是Zeal is anoffline documentation browser for software developers.(Zeal是为软件开发人员准备的离线文档浏览器)。该软件是仿照苹果系统上的Dash (https://kapeli.com/dash)开发而成,并兼容Dash的文档,目前已经有接近200种程序语言的开发文档。事先将文档下载到本地,不仅检索速度快,断网时也可以使用,还能避免百度搜出一大堆广告链接和垃圾结果,效率能提高不少。Dash只能在macOS上用,而Zeal有Windows/Linux/macOS版。不过,这些文档都保存在国外的服务器上,如果用Zeal直接下载,速度极慢,而且容易中断。以前似乎还可以通过浏览器访问https://kapeli.com/docset_links直接下载文档,但现在访问该网址会自动跳转到Dash的主页。下面重点介绍如何用Fiddler获取下载地址,并使用百度网盘或迅雷的(离线)下载功能。

    在Zeal的Edit > Preferences中设置网络代理为127.0.0.1,端口8888.

    然后在Zeal的Tools > Docsets > Available中,点击Refresh,在Fiddler中可以看见一个地址http://api.zealdocs.org/v1/docsets,在这个地址上右键,Save > Response > Response body, 然后得到一个json文件(相当于txt文件,可以用记事本打开)。如果在浏览器中直接访问这个地址,就能直接看见json文件的内容。在Zeal的Available列表中双击你需要的程序语言,在Fiddler中就能看见实际的下载地址。

    实际上,这些tgz压缩包全部来自Dash的服务器(*.kapeli.com),而且分布在很多城市(frankfurt, london, newyork, sanfrancisco, singapore, sydney, tokyo),这些不同城市的服务器上的内容都是一样的。我们要找到速度比较快的服务器,然后用迅雷批量下载。可以到http://ping.chinaz.com/上进行ping检测,找找你自己所在的地区,看响应时间,时间越短,速度越快。

    如果看平均时间,那么中国境内访问tokyo的速度最快,sydney的速度最慢(毕竟比较孤立)。

    如果你需要下载的tgz包不多,手动将地址一个个复制粘贴到浏览器、百度网盘、迅雷,FDM(Free Download Manager,开源免费),IDM(Internet Download Manager,收费)中倒也无所谓。但我想把这些tgz包全部下载下来,然后传到百度网盘里面,方便大家(下载地址在最后)。那么,如何批量生成下载地址呢?之前从http://api.zealdocs.org/v1/docsets得到的json文件该闪亮登场了。以下Matlab代码可以从json文件中提取tgz包的名称,并与http://tokyo.kapeli.com/feeds/拼接成完整的下载地址。

Fid=fopen('D:\Zeal\1.json');
Tline=fgets(Fid);
PosiQuote=strfind(Tline,'"');
PosiName =strfind(Tline,'name');
N=size(PosiName,2);% N=196
Urls=cell(N,1);
for k=1:N
 t=find(PosiQuote==PosiName(k)+6);
 aName=Tline(PosiQuote(t)+1:PosiQuote(t+1)-1);
 Urls{k}=strcat('http://tokyo.kapeli.com/feeds/',aName,'.tgz');
end
fclose(Fid);

效果如下:

    从Matlab中复制后粘贴到Excel中,会发现首尾都被加了一个英文单引号,用Excel的全部替换功能即可将单引号全部删除。

    百度网盘离线下载最多只能同时下载5个,迅雷离线下载只有会员才能用,不过迅雷的批量下载功能还是很方便的,从Excel里面把下载地址复制粘贴到迅雷里面,就能自动下载全部的196个文件了。

    下载完成后,将tgz解压到Zeal的安装路径的docsets文件夹下面,再启动Zeal就能使用搜索功能了。

    一个重要的搜索技巧是,在关键词前面加程序语言名称,能缩小搜索范围,比如 c:printf 和php:printf.

    全部196个tgz包的百度云下载地址链接:https://pan.baidu.com/s/1JB4colCLEy_mI0AtHC1HOA,提取码:ivc3.

发布了45 篇原创文章 · 获赞 98 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/pijianzhirui/article/details/78728778