>我在 Markdown 的 Perl 模块中编写了自述文件。Github将此自述文件视为纯文本。我尝试将文件重命名为"README.md"——这在 Github 上看起来不错,但对于查找名为"README"的文件的 Perl 工具来说是不可见的。
有什么方法可以同时拥有自述文件,并让 Github 正确解释我的 Markdown 格式?
我能想到的唯一选择是同时拥有自述文件和 README.md,但我不希望手动保持两个文件同步。
感谢您的帮助。
在 pod 中格式化您的自述文件,将其重命名为 README.pod,然后它可以在两个地方工作!例
出于我的目的,我实际上只是通过
$ podselect lib/My/Main/Module.pm > README.pod
需要注意的是,命名的外部链接无法正常工作L<GitHub|http://github.com>
不幸的是,这将指向 search.cpan.org 正在寻找GitHub模块。我试图告诉他们这个故障,但它让我无处可去。相反,您可以只使用纯外部链接(即GitHub: L<http://github.com>
),它们工作正常。
好消息,自从我上次检查以来,他们似乎已经解决了这个问题!
只是一个问题,Perl 工具链的哪些部分需要自述文件?如果您的意思是将其包含在压缩包中,请确保将文件添加到您的清单中,它应该包含在内。
你听说过 POD 吗?这是 Perl 中的标准文档工具。POD 是一种简单的文本文档格式,实际上存在于您的代码中。perl附带的命令之一是perldoc。您可以使用它来获取任何 Perl 命令的信息。试试这些:
$ perldoc File::Find
$ perldoc -f split
CPAN 中的所有 Perl 模块都需要包含 POD 文档。事实上,CPAN网页本身就是这样构建的。
那么,我要去哪里,这将如何帮助你?
你应该在你的Perl程序中包括POD文档。然后,您可以使用 pod2text 命令为您的 Perl 程序创建自述文件:
$ pod2text myperl.pl > README
这处理了您问题的一半。
另一半则更棘手。您需要从CPAN在系统上安装Pod::Markdown。然后,您可以运行此模块附带的 pod2markdown 命令来创建文件的 markdown 版本:
$ pod2markdown myperl.pl > README.md
结果:
你的- 文档应该存在于你的Perl程序中。
- 用户可以使用
perldoc
程序打印出程序的完整文档。 - 您可以使用
pod2text
工具创建README
文件。 - 您可以使用
pod2markdown
工具创建README.md
文件。 - 作为奖励,您可以使用 Perl 附带的 Pod::Usage 模块将 POD 文档(或它的零碎部分)显示为帮助文本,当用户使用
-help
参数运行程序时显示该文本。
所以,你的文档所在的一个地方,你正在使用几个辅助程序来创建文件Github和你使用的任何Perl工具。
如果你不介意使用 Dist::Zilla,你几乎可以完全取消维护自述文件。 例如 Dist::Zilla::P lugin::ReadmeFromPod 可以通过从主模块中提取 Pod 来创建 README 文件。 这意味着再也不必编写自述文件。
我自己从未尝试过,但你可以看看像Dist::Zilla::P lugin::ReadmeMarkdownFromPod这样的东西,在markdown中自动创建你的README。
这可能不是您正在寻找的确切答案,但我认为使用这种工具可以为您节省大量时间,因为它可以让您避免在文档中重复自己。
如果你真的想用一个不涉及 Pod 的 MarkdownREADME
来分发你的模块,另一个解决方案是:
- 将
README
文件重命名为README.md
- 更新
MANIFEST
文件中的先前更改
我认为这可能是一个有趣的解决方案,因为更多的人知道 Markdown 语法而不是 Pod 语法。由于自述文件的目的是供任何人阅读,因此应考虑 Markdown。
我只是在寻找这个问题的解决方案,并决定使用Dist::Zilla::P lugin::ReadmeAnyFromPod,因为它可以理解Pod::Weaver的=attr
和=method
标签。
我能想到的唯一选择是同时拥有自述文件和自述文件 README.md,但我不想手动保留这两个文件 同步。
然后自动使它们保持同步?