
jbrandt at bestpractical
Aug 31, 2012, 12:46 PM
Post #1 of 1
(74 views)
Permalink
|
|
rt branch, 4.0/static-docs, updated. rt-4.0.6-315-g03339d5
|
|
The branch, 4.0/static-docs has been updated via 03339d5d3da499c8a3ac84db0700c9a3f61409a8 (commit) from 7f9b93f74bb99efeef11f64a37117928a4f775ac (commit) Summary of changes: devel/tools/rt-static-docs | 26 ++++++- lib/RT/Pod/Simple/HTMLBatch.pm | 151 +++++++++++++++++++++++++---------------- 2 files changed, 117 insertions(+), 60 deletions(-) - Log ----------------------------------------------------------------- commit 03339d5d3da499c8a3ac84db0700c9a3f61409a8 Author: Jim Brandt <jbrandt [at] bestpractical> Date: Fri Aug 31 15:23:38 2012 -0400 Modify generated docs for inclusion in bps site Remove all header HTML, modify 'back to index' links, add etc to get RT_Config.pm docs. diff --git a/devel/tools/rt-static-docs b/devel/tools/rt-static-docs index 4eb027d..95947c9 100755 --- a/devel/tools/rt-static-docs +++ b/devel/tools/rt-static-docs @@ -55,7 +55,8 @@ use File::Basename 'basename'; use RT::Pod::Simple::HTMLBatch; my %opts; -GetOptions( \%opts, "help|h", 'rt-root=s', 'to=s' ); +my $print_header = ''; +GetOptions( \%opts, "help|h", 'rt-root=s', 'to=s', 'print_header' ); if ( $opts{'help'} ) { require Pod::Usage; @@ -73,11 +74,12 @@ if ( $opts{'rt-root'} ) { chdir $opts{'rt-root'}; } -my @dirs = ( 'docs', 'lib', 'bin', 'sbin' ); +my @dirs = ( 'docs', 'lib', 'bin', 'sbin', 'etc' ); my $batch = RT::Pod::Simple::HTMLBatch->new; $batch->css_flurry(0); -$batch->add_css('rt-docs.css'); +$batch->javascript_flurry(0); +#$batch->add_css('rt-docs.css'); my $contents_page_start =<<START; <html> @@ -88,6 +90,8 @@ my $contents_page_start =<<START; <h1>RT Documentation</h1> START +$contents_page_start = '' unless $print_header; + $batch->contents_page_start($contents_page_start); $batch->contents_page_end(''); $batch->batch_convert( join( ':', @dirs ), $opts{to} ); @@ -108,3 +112,19 @@ rt-static-docs - generate doc shipped with RT This script is used to generate documents shipped with RT. +=head1 OPTIONS + +=over + +=item --to + +Set the destination directory for the output files. + +=item --print_header + +Flag to printer HTML page header on the TOC page. This only effects +the TOC page. It defaults to off. + +=back + +=cut diff --git a/lib/RT/Pod/Simple/HTMLBatch.pm b/lib/RT/Pod/Simple/HTMLBatch.pm index a72e9c3..f03b38a 100644 --- a/lib/RT/Pod/Simple/HTMLBatch.pm +++ b/lib/RT/Pod/Simple/HTMLBatch.pm @@ -1,57 +1,11 @@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC -# <sales [at] bestpractical> -# -# (Except where explicitly superseded by other copyright notices) -# -# -# LICENSE: -# -# This work is made available to you under the terms of Version 2 of -# the GNU General Public License. A copy of that license should have -# been provided with this software, but in any event can be snarfed -# from www.gnu.org. -# -# This work is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} - package RT::Pod::Simple::HTMLBatch; use base Pod::Simple::HTMLBatch; -=over +=head2 modnames2paths + +Override -Override to set some different options in the Pod::Simple::Search +Set some different options in the Pod::Simple::Search object. Probably would be better if Pod::Simple::HTMLBatch just took a prepped object as an optional param. @@ -91,7 +45,9 @@ sub modnames2paths { # return a hashref mapping modulenames => paths return $m2p; } -=over +=head2 _prep_contents_breakdown + +Override Modified to create hash entries for the documentation sections we want based on where they came from. These entries can then @@ -112,7 +68,7 @@ sub _prep_contents_breakdown { # First, look for specific sections we want docs for and create entries # for them. - if ( $entry->[1] =~ /\/docs\// ) { + if ( $entry->[1] =~ /(\/docs\/|\/etc\/)/ ) { $toplevel = "RT User Documentation"; ++$toplevel_form_freq{'user_docs'}{$toplevel}; push @{ $toplevel{'user_docs'} }, $entry; @@ -170,7 +126,9 @@ sub _prep_contents_breakdown { return \%toplevel; } -=over +=head2 _write_contents_middle + +Override Add more control over the order of sections in the TOC file. @@ -179,7 +137,7 @@ Add more control over the order of sections in the TOC file. sub _write_contents_middle { my($self, $Contents, $outfile, $toplevel2submodules, $toplevel_form_freq) = @_; - $self->format_link_text($toplevel2submodules->{user_docs}); + $self->format_toc_link_text($toplevel2submodules->{user_docs}); # Build the sections of the TOC in the order we want my @toc_sections = qw(user_docs bin_docs sbin_docs dev_docs action_docs condition_docs); @@ -189,7 +147,9 @@ sub _write_contents_middle { } } -=over +=head2 _write_content_subsection + +Override Remove the outer loop since we are calling each section deliberately in the order we want. Still use the main logic to write the content of inner sections. @@ -217,13 +177,90 @@ sub _write_content_subsection { return 1; } -=head2 format_link_text +=head2 batch_mode_page_object_init + +Override + +Change init options for the Pod::Simple::HTML object that writes out the +pages. + +=cut + +sub batch_mode_page_object_init { + my $self = shift; + my($page, $module, $infile, $outfile, $depth) = @_; + + $page->default_title(''); + $page->force_title(''); # Force the title off. + $page->index( $self->index ); + + $page->html_header_before_title(''); + $page->html_header_after_title(''); + $page->html_footer(''); + $page->html_css( $self-> _css_wad_to_markup($depth) ); + $page->html_javascript( $self->_javascript_wad_to_markup($depth) ); + + $self->add_header_backlink($page, $module, $infile, $outfile, $depth); + $self->add_footer_backlink($page, $module, $infile, $outfile, $depth); + + return $self; +} + +=head2 add_header_backlink + +Override + +Update backlink in header + +=cut + +sub add_header_backlink { + my $self = shift; + return if $self->no_contents_links; + my($page, $module, $infile, $outfile, $depth) = @_; + $page->html_header_after_title( join '', + $page->html_header_after_title || '', + + qq[<p class="backlinktop"><b><a name="___top" href="], + $self->url_up_to_contents($depth), + qq[" accesskey="1" title="All Documents">Back to Index</a></b></p>\n], + ) + if $self->contents_file + ; + return; +} + +=head2 add_footer_backlink + +Override + +Update backlink in footer + +=cut + +sub add_footer_backlink { + my $self = shift; + return if $self->no_contents_links; + my($page, $module, $infile, $outfile, $depth) = @_; + $page->html_footer( join '', + qq[<p class="backlinkbottom"><b><a name="___bottom" href="], + $self->url_up_to_contents($depth), + qq[" title="All Documents">Back to Index</a></b></p>\n], + + $page->html_footer || '', + ) + if $self->contents_file + ; + return; +} + +=head2 format_toc_link_text Apply some formatting to the visible links for user documentation. =cut -sub format_link_text { +sub format_toc_link_text { my ($self, $content) = @_; foreach my $entry ( @{$content} ){ ----------------------------------------------------------------------- _______________________________________________ Rt-commit mailing list Rt-commit [at] lists http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-commit
|