.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "HTML::Formatter 3pm" .TH HTML::Formatter 3pm "2022-11-19" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" HTML::Formatter \- Base class for HTML formatters .SH "VERSION" .IX Header "VERSION" version 2.16 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 \& use HTML::FormatSomething; \& my $infile = "whatever.html"; \& my $outfile = "whatever.file"; \& open OUT, ">$outfile" \& or die "Can\*(Aqt write\-open $outfile: $!\en"; \& \& print OUT HTML::FormatSomething\->format_file( \& $infile, \& \*(Aqoption1\*(Aq => \*(Aqvalue1\*(Aq, \& \*(Aqoption2\*(Aq => \*(Aqvalue2\*(Aq, \& ... \& ); \& close(OUT); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" HTML::Formatter is a base class for classes that take \s-1HTML\s0 and format it to some output format. When you take an object of such a base class and call \&\f(CW\*(C`$formatter\-\*(C'\fRformat( \f(CW$tree\fR )> with an HTML::TreeBuilder (or HTML::Element) object, they return the appropriately formatted string for the input \s-1HTML.\s0 .PP \&\s-1HTML\s0 formatters are able to format a \s-1HTML\s0 syntax tree into various printable formats. Different formatters produce output for different output media. Common for all formatters are that they will return the formatted output when the \fBformat()\fR method is called. The \fBformat()\fR method takes a HTML::Element object (usually the HTML::TreeBuilder root object) as parameter. .PP The distribution name has been changed to \f(CW\*(C`HTML\-Formatter\*(C'\fR as detailed in \&\*(L"\s-1DISTRIBUTION NAME\*(R"\s0 .SH "METHODS" .IX Header "METHODS" .SS "new" .IX Subsection "new" .Vb 3 \& my $formatter = FormatterClass\->new( \& option1 => value1, option2 => value2, ... \& ); .Ve .PP This creates a new formatter object with the given options. .SS "format_file" .IX Subsection "format_file" .SS "format_from_file" .IX Subsection "format_from_file" .Vb 4 \& $string = FormatterClass\->format_file( \& $html_source, \& option1 => value1, option2 => value2, ... \& ); .Ve .PP Return a string consisting of the result of using the given class to format the given \s-1HTML\s0 file according to the given (optional) options. Internally it calls \&\f(CW\*(C`SomeClass\->new( ... )\->format( ... )\*(C'\fR on a new HTML::TreeBuilder object based on the given \s-1HTML\s0 file. .SS "format_string" .IX Subsection "format_string" .SS "format_from_string" .IX Subsection "format_from_string" .Vb 4 \& $string = FormatterClass\->format_string( \& $html_source, \& option1 => value1, option2 => value2, ... \& ); .Ve .PP Return a string consisting of the result of using the given class to format the given \s-1HTML\s0 source according to the given (optional) options. Internally it calls \f(CW\*(C`SomeClass\->new( ... )\->format( ... )\*(C'\fR on a new HTML::TreeBuilder object based on the given source. .SS "format" .IX Subsection "format" .Vb 1 \& my $render_string = $formatter\->format( $html_tree_object ); .Ve .PP This renders the given \s-1HTML\s0 object according to the options set for \f(CW$formatter\fR. .PP After you've used a particular formatter object to format a particular \s-1HTML\s0 tree object, you probably should not use either again. .SH "DISTRIBUTION NAME" .IX Header "DISTRIBUTION NAME" This module was originally named \f(CW\*(C`HTML\-Format\*(C'\fR despite not containing a \&\f(CW\*(C`HTML::Format\*(C'\fR module within it. As rules on naming have been taken more seriously, and the \s-1PAUSE\s0 toolchain adapted so that getting the distribution indexed was more difficult, it became obvious that I should rename the distribution to \f(CW\*(C`HTML\-Formatter\*(C'\fR matching the base HTML::Formatter module. .PP As of release 2.13 this is released as the \f(CW\*(C`HTML\-Formatter\*(C'\fR distribution with corresponding changes to the git repository name and associated items. .PP Due to the way that the module is put together this should have no effect on code using the module. The only issues will be where the distribution name was used within dependancies. .SH "SEE ALSO" .IX Header "SEE ALSO" The three specific formatters:\- .IP "HTML::FormatText" 4 .IX Item "HTML::FormatText" Format \s-1HTML\s0 into plain text .IP "HTML::FormatPS" 4 .IX Item "HTML::FormatPS" Format \s-1HTML\s0 into postscript .IP "HTML::FormatRTF" 4 .IX Item "HTML::FormatRTF" Format \s-1HTML\s0 into Rich Text Format .PP Also the \s-1HTML\s0 manipulation libraries used \- HTML::TreeBuilder, HTML::Element and HTML::Tree .SH "SUPPORT" .IX Header "SUPPORT" .SS "Bugs / Feature Requests" .IX Subsection "Bugs / Feature Requests" Please report any bugs or feature requests through the issue tracker at . You will be notified automatically of any progress on your issue. .SS "Source Code" .IX Subsection "Source Code" This is open source software. The code repository is available for public review and contribution under the terms of the license. .PP .PP .Vb 1 \& git clone https://github.com/nigelm/html\-formatter.git .Ve .SH "AUTHORS" .IX Header "AUTHORS" .IP "\(bu" 4 Nigel Metheringham .IP "\(bu" 4 Sean M Burke .IP "\(bu" 4 Gisle Aas .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2016 by Nigel Metheringham, 2002\-2005 Sean M Burke, 1999\-2002 Gisle Aas. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.