NAME
Tags::HTML::Page::Begin - Tags helper for HTML page begin.
SYNOPSIS
use Tags::HTML::Page::Begin;
my $obj = Tags::HTML::Page::Begin->new(%params);
$obj->process;
METHODS
"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 (.
Default value is undef.
* "base_target"
Base target. It's used in if 'base_href' parameter exists.
Default value is undef.
* "css"
'CSS::Struct::Output' object for process_css processing.
Default value is undef.
* "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.
* "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.
Default value is undef.
* "doctype"
Document doctype string.
Default value is ''.
* "favicon"
Favorite icon image link. Supported images are 'ICO', 'PNG',
'GIF', 'SVG' and 'JPG' files.
Default value is undef.
* "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:
Default value is 'en'.
* "http_equiv_content_type"
http-equiv content-type meta element. If defined creates meta in
form: Unless defined creates meta in form:
Defaut value is 'text/html'.
* "keywords"
Document keywords.
Default value is undef.
* "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.
Default value is undef.
* "robots"
Robots meta.
Default value is undef.
* "rss"
RSS link.
Default value is undef.
* "script_js"
List of JavaScript scripts.
Default value is reference to blank array.
* "script_js_src"
List of JavaScript links.
Default value is reference to blank array.
* "tags"
'Tags::Output' object.
It's required.
Default value is undef.
* "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.
ERRORS
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'.
EXAMPLE1
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
$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:
#
#
#
#
#
#
#
# Page title
#
#
#
#
#
# Hello world!
#
#
#
DEPENDENCIES
Class::Utils, Error::Pure, List::MoreUtils, Readonly, Tags::HTML.
SEE ALSO
Tags::HTML::Page::End
Tags helper for HTML page end.
REPOSITORY
AUTHOR
Michal Josef Špaček
LICENSE AND COPYRIGHT
© Michal Josef Špaček 2020-2023
BSD 2-Clause License
VERSION
0.16