package App::ZofCMS::Plugin::LinksToSpecs::HTML; use warnings; use strict; our $VERSION = '0.0101'; sub new { bless {}, shift } sub process { my ( $self, $template ) = @_; my %html_els = ( 'big' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-BIG|, 'select' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-SELECT|, 'frameset' => q|http://www.w3.org/TR/html401/present/frames.html#edef-FRAMESET|, 'base' => q|http://www.w3.org/TR/html401/struct/links.html#edef-BASE|, 'table' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TABLE|, 'tbody' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TBODY|, 'font' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-FONT|, 'h5' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H5|, 'map' => q|http://www.w3.org/TR/html401/struct/objects.html#edef-MAP|, 'hr' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-HR|, 'legend' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-LEGEND|, 'strong' => q|http://www.w3.org/TR/html401/struct/text.html#edef-STRONG|, 'acronym' => q|http://www.w3.org/TR/html401/struct/text.html#edef-ACRONYM|, 'th' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TH|, 'label' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-LABEL|, 'applet' => q|http://www.w3.org/TR/html401/struct/objects.html#edef-APPLET|, 'h4' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H4|, 'tr' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TR|, 'td' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TD|, 'link' => q|http://www.w3.org/TR/html401/struct/links.html#edef-LINK|, 'dfn' => q|http://www.w3.org/TR/html401/struct/text.html#edef-DFN|, 'param' => q|http://www.w3.org/TR/html401/struct/objects.html#edef-PARAM|, 'h1' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H1|, 'i' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-I|, 'strike' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-STRIKE|, 'title' => q|http://www.w3.org/TR/html401/struct/global.html#edef-TITLE|, 'body' => q|http://www.w3.org/TR/html401/struct/global.html#edef-BODY|, 'caption' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-CAPTION|, 'ins' => q|http://www.w3.org/TR/html401/struct/text.html#edef-ins|, 'q' => q|http://www.w3.org/TR/html401/struct/text.html#edef-Q|, 'basefont' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-BASEFONT|, 'tfoot' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-TFOOT|, 'span' => q|http://www.w3.org/TR/html401/struct/global.html#edef-SPAN|, 'html' => q|http://www.w3.org/TR/html401/struct/global.html#edef-HTML|, 'samp' => q|http://www.w3.org/TR/html401/struct/text.html#edef-SAMP|, 'tt' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-TT|, 'script' => q|http://www.w3.org/TR/html401/interact/scripts.html#edef-SCRIPT|, 'dir' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-DIR|, 'h3' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H3|, 'textarea' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-TEXTAREA|, 'kbd' => q|http://www.w3.org/TR/html401/struct/text.html#edef-KBD|, 'thead' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-THEAD|, 'u' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-U|, 'iframe' => q|http://www.w3.org/TR/html401/present/frames.html#edef-IFRAME|, 'del' => q|http://www.w3.org/TR/html401/struct/text.html#edef-del|, 'input' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT|, 'menu' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-MENU|, 'form' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-FORM|, 'button' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-BUTTON|, 'br' => q|http://www.w3.org/TR/html401/struct/text.html#edef-BR|, 'sub' => q|http://www.w3.org/TR/html401/struct/text.html#edef-SUB|, 'div' => q|http://www.w3.org/TR/html401/struct/global.html#edef-DIV|, 'noscript' => q|http://www.w3.org/TR/html401/interact/scripts.html#edef-NOSCRIPT|, 'style' => q|http://www.w3.org/TR/html401/present/styles.html#adef-style|, 'isindex' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-ISINDEX|, 's' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-S|, 'var' => q|http://www.w3.org/TR/html401/struct/text.html#edef-VAR|, 'center' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-CENTER|, 'frame' => q|http://www.w3.org/TR/html401/present/frames.html#edef-FRAME|, 'dd' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-DD|, 'img' => q|http://www.w3.org/TR/html401/struct/objects.html#edef-IMG|, 'object' => q|http://www.w3.org/TR/html401/struct/objects.html#edef-OBJECT|, 'class' => q|http://www.w3.org/TR/html401/struct/global.html#h-7.5.2|, 'bdo' => q|http://www.w3.org/TR/html401/struct/dirlang.html#edef-BDO|, 'b' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-B|, 'sup' => q|http://www.w3.org/TR/html401/struct/text.html#edef-SUP|, 'small' => q|http://www.w3.org/TR/html401/present/graphics.html#edef-SMALL|, 'ul' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-UL|, 'p' => q|http://www.w3.org/TR/html401/struct/text.html#edef-P|, 'fieldset' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-FIELDSET|, 'code' => q|http://www.w3.org/TR/html401/struct/text.html#edef-CODE|, 'col' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-COL|, 'pre' => q|http://www.w3.org/TR/html401/struct/text.html#edef-PRE|, 'colgroup' => q|http://www.w3.org/TR/html401/struct/tables.html#edef-COLGROUP|, 'abbr' => q|http://www.w3.org/TR/html401/struct/text.html#edef-ABBR|, 'h6' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H6|, 'li' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-LI|, 'option' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-OPTION|, 'blockquote' => q|http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE|, 'em' => q|http://www.w3.org/TR/html401/struct/text.html#edef-EM|, 'h2' => q|http://www.w3.org/TR/html401/struct/global.html#edef-H2|, 'dt' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-DT|, 'meta' => q|http://www.w3.org/TR/html401/struct/global.html#edef-META|, 'head' => q|http://www.w3.org/TR/html401/struct/global.html#edef-HEAD|, 'noframes' => q|http://www.w3.org/TR/html401/present/frames.html#edef-NOFRAMES|, 'dl' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-DL|, 'ol' => q|http://www.w3.org/TR/html401/struct/lists.html#edef-OL|, 'optgroup' => q|http://www.w3.org/TR/html401/interact/forms.html#edef-OPTGROUP|, 'a' => q|http://www.w3.org/TR/html401/struct/links.html#edef-A|, 'cite' => q|http://www.w3.org/TR/html401/struct/text.html#edef-CITE|, 'address' => q|http://www.w3.org/TR/html401/struct/global.html#edef-ADDRESS|, ); keys %html_els; while ( my ( $el, $link ) = each %html_els ) { my $link_start = qq||; @{ $template->{t} }{ "html_$el", "html_${el}_e", "html_${el}_c", "html_${el}_ce", } = ( $link_start . qq|<$el>|, $link_start . qq|<$el> element|, $link_start . qq|<$el>|, $link_start . qq|<$el> element|, ); } return 1; } 1; __END__ =head1 NAME App::ZofCMS::Plugin::LinksToSpecs::HTML - easily include links to elements in HTML 4.01 specification =head1 SYNOPSIS In your ZofCMS template: plugins => [ qw/LinksToSpecs::HTML/ ], In your L template: See: for div element
See: for blockquote element
is used for links. =head1 DESCRIPTION The module is a plugin for ZofCMS which allows you to easily link to HTML elements in HTML 4.01 specification. Personally, I use it when writing my tutorials, hopefully it will be useful to someone else as well. =head1 ZofCMS TEMPLATE plugins => [ qw/LinksToSpecs::HTML/ ], The only thing you'd need in your ZofCMS template is to add the plugin into the list of plugins to execute. =head1 HTML::Template TEMPLATE See: for div element
See: for blockquote element
is used for links. To include links to HTML elements in your HTML code you'd use C<< >>. The plugin provides four "styles" of links which are presented below. The C stands for any HTML element specified in HTML 4.01 specification, C stands for the link pointing to the explaination of the given element in HTML specification. B everything needs to be lowercased: &lt;EL&gt; &lt;EL&gt; element &lt;EL&gt; &lt;EL&gt; element =head1 SEE ALSO L =head1 AUTHOR Zoffix Znet, C<< >> (L, L) =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc App::ZofCMS::Plugin::LinksToSpecs::HTML You can also look for information at: =over 4 =item * RT: CPAN's request tracker L =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * Search CPAN L =back =head1 COPYRIGHT & LICENSE Copyright 2008 Zoffix Znet, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut