• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

docs/metadata/H04-Jan-2020-154140

lib/Pod/H04-Jan-2020-3,9322,218

pod/H04-Jan-2020-300215

scripts/H04-Jan-2020-828568

t/H04-Jan-2020-5,9373,180

.gitignoreH A D04-Jan-2020257 2120

ChangesH A D04-Jan-202046.3 KiB1,150806

LICENSEH A D04-Jan-20202.8 KiB5954

MANIFESTH A D04-Jan-20204.1 KiB155154

MANIFEST.SKIPH A D04-Jan-2020635 4233

META.jsonH A D04-Jan-20202 KiB8281

META.ymlH A D04-Jan-20201.2 KiB4847

Makefile.PLH A D03-May-20226.3 KiB181106

NOTESH A D04-Jan-20209 KiB349276

READMEH A D04-Jan-20206.9 KiB176127

README.mdH A D04-Jan-20206.8 KiB175133

THANKSH A D04-Jan-20209.4 KiB218160

TODOH A D04-Jan-20205.4 KiB11187

README

1                              podlators 4.14
2             (format POD source into various output formats)
3                Maintained by Russ Allbery <rra@cpan.org>
4
5  Copyright 1999-2010, 2012-2020 Russ Allbery <rra@cpan.org>.  This
6  software is distributed under the same terms as Perl itself.  Please see
7  the section LICENSE below for more information.
8
9BLURB
10
11  podlators contains Pod::Man and Pod::Text modules which convert POD
12  input to *roff source output, suitable for man pages, or plain text.  It
13  also includes several subclasses of Pod::Text for formatted output to
14  terminals with various capabilities.  It is the source package for the
15  Pod::Man and Pod::Text modules included with Perl.
16
17DESCRIPTION
18
19  POD is the Plain Old Documentation format, the documentation language
20  used for all of Perl's documentation.  I learned it to document Perl
21  modules, started using it for Perl scripts as well, and discovered it
22  was the most convenient way I've found to write program documentation.
23  It's extremely simple, well-designed for writing Unix manual pages (and
24  I'm a traditionalist who thinks that any program should have a regular
25  manual page), and easily readable in the raw format by humans.
26
27  The translators into text and nroff (for manual pages) included in the
28  Perl distribution had various bugs, however, and used their own ad hoc
29  parsers, so when I started running into those bugs and when a new
30  generic parser (Pod::Parser) was written, I decided to rewrite the two
31  translators that I use the most and fix the bugs that were bothering me.
32  This package is the result.
33
34  podlators contains two main modules, Pod::Man and Pod::Text.  The former
35  converts POD into nroff/troff source and the latter into plain text
36  (with various options controlling some of the formatting).  There are
37  also several subclasses of Pod::Text for generating slightly formatted
38  text using color or other terminal control escapes, and a general
39  utility module, Pod::ParseLink, for parsing the POD L<> formatting
40  sequences.  Also included in this package are the pod2text and pod2man
41  driver scripts.
42
43  Both Pod::Text and Pod::Man provide a variety of options for fine-tuning
44  their output.  Pod::Man also tries to massage input text where
45  appropriate to produce better output when run through nroff or troff,
46  such as distinguishing between different types of hyphens and using
47  slightly smaller case for acronyms.
48
49  As of Perl 5.6.0, my implementation was included in Perl core, and each
50  release of Perl will have the at-the-time most current version of
51  podlators included.  You therefore only need to install this package
52  yourself if you need a newer version than came with Perl (to get some
53  bug fixes, for example).
54
55REQUIREMENTS
56
57  This module requires Perl 5.8.0 or later.
58
59  Both Pod::Man and Pod::Text are built on Pod::Simple, which handles the
60  basic POD parsing and character set conversion.  Pod::Simple 3.06 or
61  later is required (and Pod::Simple 3.07 is recommended).  It is
62  available from CPAN and part of Perl core as of 5.10.0.
63
64  The troff/nroff generated by Pod::Man should be compatible with any
65  troff or nroff implementation with the -man macro set.  It is primarily
66  tested by me under GNU groff, but Perl users send bug reports for a wide
67  variety of implementations and Pod::Man is used to generate all of
68  Perl's own manual pages, so most of the bugs have been weeded out.
69
70  The following additional Perl modules will be used by the test suite if
71  present:
72
73  * Test::MinimumVersion
74  * Test::Pod
75  * Test::Spelling
76  * Test::Strict
77  * Test::Synopsis
78
79  All are available on CPAN.  Those tests will be skipped if the modules
80  are not available.
81
82BUILDING AND INSTALLATION
83
84  podlators uses ExtUtils::MakeMaker and can be installed using the same
85  process as any other ExtUtils::MakeMaker module:
86
87      perl Makefile.PL
88      make
89      make install
90
91  You will have to run the last command as root unless you're installing
92  into a local Perl module tree in your home directory.
93
94TESTING
95
96  podlators comes with a test suite, which you can run after building
97  with:
98
99      make test
100
101  If a test fails, you can run a single test with verbose output via:
102
103      prove -vb <path-to-test>
104
105  To enable tests that don't detect functionality problems but are used to
106  sanity-check the release, set the environment variable RELEASE_TESTING
107  to a true value.  To enable tests that may be sensitive to the local
108  environment or that produce a lot of false positives without uncovering
109  many problems, set the environment variable AUTHOR_TESTING to a true
110  value.
111
112SUPPORT
113
114  The podlators web page at:
115
116      https://www.eyrie.org/~eagle/software/podlators/
117
118  will always have the current version of this package, the current
119  documentation, and pointers to any additional resources.
120
121  For bug tracking, use the CPAN bug tracker at:
122
123      https://rt.cpan.org/Dist/Display.html?Name=podlators
124
125  However, please be aware that I tend to be extremely busy and work
126  projects often take priority.  I'll save your report and get to it as
127  soon as I can, but it may take me a couple of months.
128
129SOURCE REPOSITORY
130
131  podlators is maintained using Git.  You can access the current source on
132  GitHub at:
133
134      https://github.com/rra/podlators
135
136  or by cloning the repository at:
137
138      https://git.eyrie.org/git/perl/podlators.git
139
140  or view the repository via the web at:
141
142      https://git.eyrie.org/?p=perl/podlators.git
143
144  The eyrie.org repository is the canonical one, maintained by the author,
145  but using GitHub is probably more convenient for most purposes.  Pull
146  requests are gratefully reviewed and normally accepted.  It's probably
147  better to use the CPAN bug tracker than GitHub issues, though, to keep
148  all Perl module issues in the same place.
149
150LICENSE
151
152  The podlators package as a whole is covered by the following copyright
153  statement and license:
154
155    Copyright 1999-2010, 2012-2020 Russ Allbery <rra@cpan.org>
156
157    This program is free software; you may redistribute it and/or modify
158    it under the same terms as Perl itself.  This means that you may
159    choose between the two licenses that Perl is released under: the GNU
160    GPL and the Artistic License.  Please see your Perl distribution for
161    the details and copies of the licenses.
162
163  Some files in this distribution are individually released under
164  different licenses, all of which are compatible with the above general
165  package license but which may require preservation of additional
166  notices.  All required notices, and detailed information about the
167  licensing of each file, are recorded in the LICENSE file.
168
169  Files covered by a license with an assigned SPDX License Identifier
170  include SPDX-License-Identifier tags to enable automated processing of
171  license information.  See https://spdx.org/licenses/ for more
172  information.
173
174  For any copyright range specified by files in this package as YYYY-ZZZZ,
175  the range specifies every single year in that closed interval.
176

README.md

1# podlators 4.14
2
3[![Build
4status](https://travis-ci.org/rra/podlators.svg?branch=master)](https://travis-ci.org/rra/podlators)
5[![CPAN
6version](https://img.shields.io/cpan/v/podlators.svg)](https://metacpan.org/release/podlators)
7
8Copyright 1999-2010, 2012-2020 Russ Allbery <rra@cpan.org>.  This software
9is distributed under the same terms as Perl itself.  Please see the
10section [License](#license) below for more information.
11
12## Blurb
13
14podlators contains Pod::Man and Pod::Text modules which convert POD input
15to *roff source output, suitable for man pages, or plain text.  It also
16includes several subclasses of Pod::Text for formatted output to terminals
17with various capabilities.  It is the source package for the Pod::Man and
18Pod::Text modules included with Perl.
19
20## Description
21
22POD is the Plain Old Documentation format, the documentation language used
23for all of Perl's documentation.  I learned it to document Perl modules,
24started using it for Perl scripts as well, and discovered it was the most
25convenient way I've found to write program documentation.  It's extremely
26simple, well-designed for writing Unix manual pages (and I'm a
27traditionalist who thinks that any program should have a regular manual
28page), and easily readable in the raw format by humans.
29
30The translators into text and nroff (for manual pages) included in the
31Perl distribution had various bugs, however, and used their own ad hoc
32parsers, so when I started running into those bugs and when a new generic
33parser (Pod::Parser) was written, I decided to rewrite the two translators
34that I use the most and fix the bugs that were bothering me.  This package
35is the result.
36
37podlators contains two main modules, Pod::Man and Pod::Text.  The former
38converts POD into nroff/troff source and the latter into plain text (with
39various options controlling some of the formatting).  There are also
40several subclasses of Pod::Text for generating slightly formatted text
41using color or other terminal control escapes, and a general utility
42module, Pod::ParseLink, for parsing the POD `L<>` formatting sequences.
43Also included in this package are the `pod2text` and `pod2man` driver
44scripts.
45
46Both Pod::Text and Pod::Man provide a variety of options for fine-tuning
47their output.  Pod::Man also tries to massage input text where appropriate
48to produce better output when run through nroff or troff, such as
49distinguishing between different types of hyphens and using slightly
50smaller case for acronyms.
51
52As of Perl 5.6.0, my implementation was included in Perl core, and each
53release of Perl will have the at-the-time most current version of
54podlators included.  You therefore only need to install this package
55yourself if you need a newer version than came with Perl (to get some bug
56fixes, for example).
57
58## Requirements
59
60This module requires Perl 5.8.0 or later.
61
62Both Pod::Man and Pod::Text are built on Pod::Simple, which handles the
63basic POD parsing and character set conversion.  Pod::Simple 3.06 or later
64is required (and Pod::Simple 3.07 is recommended).  It is available from
65CPAN and part of Perl core as of 5.10.0.
66
67The troff/nroff generated by Pod::Man should be compatible with any troff
68or nroff implementation with the `-man` macro set.  It is primarily tested
69by me under GNU groff, but Perl users send bug reports for a wide variety
70of implementations and Pod::Man is used to generate all of Perl's own
71manual pages, so most of the bugs have been weeded out.
72
73The following additional Perl modules will be used by the test suite if
74present:
75
76* Test::MinimumVersion
77* Test::Pod
78* Test::Spelling
79* Test::Strict
80* Test::Synopsis
81
82All are available on CPAN.  Those tests will be skipped if the modules are
83not available.
84
85## Building and Installation
86
87podlators uses ExtUtils::MakeMaker and can be installed using the same
88process as any other ExtUtils::MakeMaker module:
89
90```
91    perl Makefile.PL
92    make
93    make install
94```
95
96You'll probably need to do the last as root unless you're installing into
97a local Perl module tree in your home directory.
98
99## Testing
100
101podlators comes with a test suite, which you can run after building with:
102
103```
104    make test
105```
106
107If a test vails, you can run a single test with verbose output via:
108
109```
110    prove -vb <path-to-test>
111```
112
113To enable tests that don't detect functionality problems but are used to
114sanity-check the release, set the environment variable `RELEASE_TESTING`
115to a true value.  To enable tests that may be sensitive to the local
116environment or that produce a lot of false positives without uncovering
117many problems, set the environment variable `AUTHOR_TESTING` to a true
118value.
119
120## Support
121
122The [podlators web page](https://www.eyrie.org/~eagle/software/podlators/)
123will always have the current version of this package, the current
124documentation, and pointers to any additional resources.
125
126For bug tracking, use the [CPAN bug
127tracker](https://rt.cpan.org/Dist/Display.html?Name=podlators).  However,
128please be aware that I tend to be extremely busy and work projects often
129take priority.  I'll save your report and get to it as soon as I can, but
130it may take me a couple of months.
131
132## Source Repository
133
134podlators is maintained using Git.  You can access the current source on
135[GitHub](https://github.com/rra/podlators) or by cloning the repository
136at:
137
138https://git.eyrie.org/git/perl/podlators.git
139
140or [view the repository on the
141web](https://git.eyrie.org/?p=perl/podlators.git).
142
143The eyrie.org repository is the canonical one, maintained by the author,
144but using GitHub is probably more convenient for most purposes.  Pull
145requests are gratefully reviewed and normally accepted.  It's probably
146better to use the CPAN bug tracker than GitHub issues, though, to keep all
147Perl module issues in the same place.
148
149## License
150
151The podlators package as a whole is covered by the following copyright
152statement and license:
153
154> Copyright 1999-2010, 2012-2020
155>     Russ Allbery <rra@cpan.org>
156>
157> This program is free software; you may redistribute it and/or modify it
158> under the same terms as Perl itself.  This means that you may choose
159> between the two licenses that Perl is released under: the GNU GPL and the
160> Artistic License.  Please see your Perl distribution for the details and
161> copies of the licenses.
162
163Some files in this distribution are individually released under different
164licenses, all of which are compatible with the above general package
165license but which may require preservation of additional notices.  All
166required notices, and detailed information about the licensing of each
167file, are recorded in the LICENSE file.
168
169Files covered by a license with an assigned SPDX License Identifier
170include SPDX-License-Identifier tags to enable automated processing of
171license information.  See https://spdx.org/licenses/ for more information.
172
173For any copyright range specified by files in this package as YYYY-ZZZZ,
174the range specifies every single year in that closed interval.
175