Tags::HTML::Page::Begin - Tags helper for HTML page begin.
use Tags::HTML::Page::Begin; my $obj = Tags::HTML::Page::Begin->new(%params); $obj->process;
new
my $obj = Tags::HTML::Page::Begin->new(%params);
Constructor.
application-name
Application name.
Default name is undef.
author
Author name.
Default value is undef.
base_href
Base link (<base href="https://skim.cz" />.
base_target
Base target. It's used in if 'base_href' parameter exists.
css
'CSS::Struct::Output' object for process_css processing.
css_init
Initialization of CSS.
Default value is:
* { box-sizing: border-box; margin: 0; padding: 0; }
CSS is handled by _process_css() method in this module, which is abstract method of Tags::HTML.
_process_css()
css_src
List of CSS link structures.
Structure is something like: { 'link' => '/foo.css', 'media' => 'screen', }
Default value is [].
charset
Document character set.
Parameter is required.
Default value is 'UTF-8'.
description
Document description.
doctype
Document doctype string.
Default value is '<!DOCTYPE html>'.
favicon
Favorite icon image link. Supported images are 'ICO', 'PNG', 'GIF', 'SVG' and 'JPG' files.
generator
Generator value.
Default value is 'Perl module: Tags::HTML::Page::Begin, Version: __MODULE_VERSION__'.
html_lang
HTML element lang attribute. Creates html element in form: <html lang="en">
Default value is 'en'.
http_equiv_content_type
http-equiv content-type meta element. If defined creates meta in form: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Unless defined creates meta in form: <meta charset="UTF-8" />
Defaut value is 'text/html'.
keywords
Document keywords.
lang
Hash with language information for output. Keys are: 'title'.
Default value is reference to hash with these value: 'title' => 'Page title'
refresh
Page refresh time in seconds.
robots
Robots meta.
rss
RSS link.
script_js
List of JavaScript scripts.
Default value is reference to blank array.
script_js_src
List of JavaScript links.
tags
'Tags::Output' object.
It's required.
viewport
Document viewport.
It's optional.
Default value is 'width=device-width, initial-scale=1.0'.
process
$obj->process;
Process Tags structure for output.
Returns undef.
new(): Parameter 'css' must be a 'CSS::Struct::Output::*' class. Parameter 'css_src' must be a array. Parameter 'css_src' must be a array of hash structures. Parameter 'css_src' must be a array of hash structures with 'media' and 'link' keys. Parameter 'charset' is required. Parameter 'script_js' must be a array. Parameter 'script_js_src' must be a array. Parameter 'tags' must be a 'Tags::Output::*' class. From Class::Utils::set_params(): Unknown parameter '%s'.
use strict; use warnings; use CSS::Struct::Output::Indent; use Tags::HTML::Page::Begin; use Tags::HTML::Page::End; use Tags::Output::Indent; # Object. my $tags = Tags::Output::Indent->new( 'preserved' => ['style'], 'xml' => 1, ); my $css = CSS::Struct::Output::Indent->new; my $begin = Tags::HTML::Page::Begin->new( 'css' => $css, 'tags' => $tags, ); my $end = Tags::HTML::Page::End->new( 'tags' => $tags, ); # Process page $begin->process_css; $css->put( ['s', 'div'], ['d', 'color', 'red'], ['d', 'background-color', 'black'], ['e'], ); $begin->process; $tags->put( ['b', 'div'], ['d', 'Hello world!'], ['e', 'div'], ); $end->process; # Print out. print $tags->flush; # Output like: # <!DOCTYPE html> # <html lang="en"> # <head> # <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> # <meta name="generator" content= # "Perl module: Tags::HTML::Page::Begin, Version: 0.16" /> # <meta name="viewport" content="width=device-width, initial-scale=1.0" /> # <title> # Page title # </title> # <style type="text/css"> # * { # box-sizing: border-box; # margin: 0; # padding: 0; # } # div { # color: red; # background-color: black; # } # </style> # </head> # <body> # <div> # Hello world! # </div> # </body> # </html>
Class::Utils, Error::Pure, List::MoreUtils, Readonly, Tags::HTML.
Tags helper for HTML page end.
https://github.com/michal-josef-spacek/Tags-HTML-Page-Begin
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© Michal Josef Špaček 2020-2023
BSD 2-Clause License
0.16
To install Tags::HTML::Page::Begin, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tags::HTML::Page::Begin
CPAN shell
perl -MCPAN -e shell install Tags::HTML::Page::Begin
For more information on module installation, please visit the detailed CPAN module installation guide.