如何使我的Perl模块的自述文件与Github的Markdown显示兼容?



>我在 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,但我不想手动保留这两个文件 同步。

然后自动使它们保持同步?

最新更新