阅读远程文档
当我需要阅读Perl文档时,我使用perldoc。我大部分时间都在终端工作,所以直接在终端中打开模块或命令的文档非常方便。
Pod::Cpandoc
有时我需要检查机器上未安装的模块的文档,在这些情况下,perldoc
无法帮助我。相反,我可以使用cpandoc,因为它的行为类似于perldoc,但如果模块未安装在您的系统上,它将获取远程文档。
$ cpandoc Foo::Bar
# displays Foo::Bar pod in pager app
由于cpandoc
支持与perldoc
相同的选项,您可以用它来执行诸如浏览未安装的模块的源代码等有用的技巧。
♥ Metacpan ♥
现在,在终端中阅读文档很好,但我真的很喜欢metacpan的发行页面,它不仅包括文档,还包含了CPAN Testers的结果、发布历史、开放问题和其他有用的链接和数据。所以最近我习惯了在metacpan上阅读文档。
但是,到达那里可能会很麻烦。我打开一个新的浏览器标签,开始输入“metacpan”,然后我的浏览器自动完成为最近查看的metacpan地址,这通常不是我想要的,所以我突出显示URL中的模块名称,并将其替换为我想要的。
经过多次不情愿地执行这个常规操作后,我终于写了一个shell脚本来帮我做这件事
#!/bin/sh
URL="https://metacpan.org/pod/$1"
if [[ "$OSTYPE" == "linux-gnu" ]]; then
xdg-open "$URL" &>/dev/null
elif [[ "$OSTYPE" == "darwin"* ]]; then
open "$URL" &>/dev/null
elif [[ "$OSTYPE" == "cygwin" ]]; then
cygstart "$URL" &>/dev/null
elif [[ "$OSTYPE" == "msys" ]]; then
start "$URL"
elif [[ "$OSTYPE" == "win32" ]]; then
start "$URL"
elif [[ "$OSTYPE" == "freebsd"* ]]; then
xdg-open "$URL" &>/dev/null
else
echo "OS not recognized"
fi
它使用传递给脚本的第一个参数构建metacpan URL,然后在新的浏览器标签中打开URL。我把脚本命名为pod
,放在我的本地路径上(我本来打算叫它mcpan
,但那和我喜欢的cpanm
有点相似,而且“pod”输入更快)。所以现在如果我想在metacpan上查看某个内容,我只需要输入
$ pod Foo::Bar
然后脚本会完成剩下的工作。我已经添加了其他操作系统的命令,但我只在Linux和MacOS上测试过。
标签
反馈
这篇文章有什么问题?请通过在GitHub上打开问题或pull request来帮助我们。