1 |
|
---|
2 | require 5;
|
---|
3 | package Pod::Perldoc::ToNroff;
|
---|
4 | use strict;
|
---|
5 | use warnings;
|
---|
6 |
|
---|
7 | # This is unlike ToMan.pm in that it emits the raw nroff source!
|
---|
8 |
|
---|
9 | use base qw(Pod::Perldoc::BaseTo);
|
---|
10 |
|
---|
11 | sub is_pageable { 1 } # well, if you ask for it...
|
---|
12 | sub write_with_binmode { 0 }
|
---|
13 | sub output_extension { 'man' }
|
---|
14 |
|
---|
15 | use Pod::Man ();
|
---|
16 |
|
---|
17 | sub center { shift->_perldoc_elem('center' , @_) }
|
---|
18 | sub date { shift->_perldoc_elem('date' , @_) }
|
---|
19 | sub fixed { shift->_perldoc_elem('fixed' , @_) }
|
---|
20 | sub fixedbold { shift->_perldoc_elem('fixedbold' , @_) }
|
---|
21 | sub fixeditalic { shift->_perldoc_elem('fixeditalic' , @_) }
|
---|
22 | sub fixedbolditalic { shift->_perldoc_elem('fixedbolditalic', @_) }
|
---|
23 | sub quotes { shift->_perldoc_elem('quotes' , @_) }
|
---|
24 | sub release { shift->_perldoc_elem('release' , @_) }
|
---|
25 | sub section { shift->_perldoc_elem('section' , @_) }
|
---|
26 |
|
---|
27 | sub new { return bless {}, ref($_[0]) || $_[0] }
|
---|
28 |
|
---|
29 | sub parse_from_file {
|
---|
30 | my $self = shift;
|
---|
31 | my $file = $_[0];
|
---|
32 |
|
---|
33 | my @options =
|
---|
34 | map {; $_, $self->{$_} }
|
---|
35 | grep !m/^_/s,
|
---|
36 | keys %$self
|
---|
37 | ;
|
---|
38 |
|
---|
39 | defined(&Pod::Perldoc::DEBUG)
|
---|
40 | and Pod::Perldoc::DEBUG()
|
---|
41 | and print "About to call new Pod::Man ",
|
---|
42 | $Pod::Man::VERSION ? "(v$Pod::Man::VERSION) " : '',
|
---|
43 | "with options: ",
|
---|
44 | @options ? "[@options]" : "(nil)", "\n";
|
---|
45 | ;
|
---|
46 |
|
---|
47 | Pod::Man->new(@options)->parse_from_file(@_);
|
---|
48 | }
|
---|
49 |
|
---|
50 | 1;
|
---|
51 | __END__
|
---|
52 |
|
---|
53 | =head1 NAME
|
---|
54 |
|
---|
55 | Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
|
---|
56 |
|
---|
57 | =head1 SYNOPSIS
|
---|
58 |
|
---|
59 | perldoc -o nroff -d something.3 Some::Modulename
|
---|
60 |
|
---|
61 | =head1 DESCRIPTION
|
---|
62 |
|
---|
63 | This is a "plug-in" class that allows Perldoc to use
|
---|
64 | Pod::Man as a formatter class.
|
---|
65 |
|
---|
66 | The following options are supported: center, date, fixed, fixedbold,
|
---|
67 | fixeditalic, fixedbolditalic, quotes, release, section
|
---|
68 |
|
---|
69 | Those options are explained in L<Pod::Man>.
|
---|
70 |
|
---|
71 | For example:
|
---|
72 |
|
---|
73 | perldoc -o nroff -w center:Pod -d something.3 Some::Modulename
|
---|
74 |
|
---|
75 | =head1 CAVEAT
|
---|
76 |
|
---|
77 | This module may change to use a different pod-to-nroff formatter class
|
---|
78 | in the future, and this may change what options are supported.
|
---|
79 |
|
---|
80 | =head1 SEE ALSO
|
---|
81 |
|
---|
82 | L<Pod::Man>, L<Pod::Perldoc>, L<Pod::Perldoc::ToMan>
|
---|
83 |
|
---|
84 | =head1 COPYRIGHT AND DISCLAIMERS
|
---|
85 |
|
---|
86 | Copyright (c) 2002 Sean M. Burke. All rights reserved.
|
---|
87 |
|
---|
88 | This library is free software; you can redistribute it and/or modify it
|
---|
89 | under the same terms as Perl itself.
|
---|
90 |
|
---|
91 | This program is distributed in the hope that it will be useful, but
|
---|
92 | without any warranty; without even the implied warranty of
|
---|
93 | merchantability or fitness for a particular purpose.
|
---|
94 |
|
---|
95 | =head1 AUTHOR
|
---|
96 |
|
---|
97 | Sean M. Burke C<[email protected]>
|
---|
98 |
|
---|
99 | =cut
|
---|
100 |
|
---|