不要使用p6doc显示声明符块

Tyi*_*yil 9 documentation perl6

我写了一个小的示例文件来了解有关Perl 6 POD的更多信息,我正在使用p6docPOD文档渲染一个小的手册页.但是,p6doc也尝试解析POD文档之外的声明器块.这在输出中看起来不是特别好.有没有办法在使用时忽略声明器块p6doc

我正在使用的代码示例是:

#! /usr/bin/env perl6

use v6.c;

#| Greet people on the command line.
sub MAIN (
    #| A name to greet.
    $names,

    #| Optional. Additional names to greet.
    *@names,
) {
    *
}

=begin pod

=NAME    greeter
=AUTHOR  Patrick Spek
=VERSION 0.0.1

The greeter application greets someone via a terminal. At least 1 name is
required, but multiple names can be given to greet many people in one go.
=end pod
Run Code Online (Sandbox Code Playgroud)

给出的输出p6doc是:

sub MAIN(
    $names, # A name to greet.
    *@names, # Optional. Additional names to greet.
)
Greet people on the command line.

class $names
A name to greet.

class *@names
Optional. Additional names to greet.

NAME
greeter

AUTHOR
Patrick Spek

VERSION
0.0.1

The greeter application greets someone via a terminal. At least 1 name is
required, but multiple names can be given to greet many people in one go.
Run Code Online (Sandbox Code Playgroud)

NAME部件之前的所有内容都是我想要从p6doc输出中删除的内容.

rai*_*iph 8

POD文档外的声明块.

一些似乎值得快速提及的小事情:

  • 最好的做法是将它称为pod(或Pod或Pod6或POD6),而不是POD,以区别于P5的POD,因为它不向后兼容,就像P6不向后兼容P5一样;

  • 语法=begin pod ... =end pod不声明"pod文档".它声明了一个pod块,它是构成整个pod文档的众多块之一.你可以有几个.提到这个的原因是因为声明块也是pod块.这就是他们被包括在内的原因.

有没有办法在使用时忽略声明器块p6doc

您可以通过shell命令级别的过滤器运行输出.

但是看看我的下一个评论是什么可能是更好的方式.

我正在使用 p6doc

p6doc是一个包装perl6 --doc.

perl6 --doc 提供与您在问题中显示的完全相同的结果,但具有输出后处理选项(并且不仅限于已安装的模块).

假设您可以切换到使用perl6 --doc:

perl6 -doc,如果没有该--doc选项的参数,则使用默认的pod输出过滤器.

使用perl6 --doc=MyFilter.pm6您可以通过已安装的自定义过滤器模块运行pod Pod::To::MyFilter.pm6.

有关可用作示例的过滤器的完整列表,请参阅modules.perl6.org的搜索pod::to.

  • 您的指针提供了很大的帮助,我已经开始研究[我自己的Pod输出过滤器](https://gitlab.com/tyil/perl6-pod-to-pager)。现在,它所做的不仅仅是我最初想要的过滤。 (2认同)