use html5 elements (section, footer)
[sheet.git] / charset.plp
index 29e7e23c5fb6030271b9f5dc57105aca7aed1003..e84ae8261b63cc22f957afc310dc801b68645b85 100644 (file)
@@ -1,17 +1,20 @@
 <(common.inc.plp)><:
-       our $VERSION = 'v1.0';
 
-:><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
+Html({
+       title => 'charset cheat sheet',
+       version => 'v1.0',
+       description => [
+               "Reference sheet with all glyphs in common character encoding tables,",
+               "and an overview of Unicode ranges and UTF-8 bytes.",
+       ],
+       keywords => [qw'
+               charset codepage unicode ascii utf8 latin glyph character encoding
+               reference common overview table
+       '],
+       stylesheet => [qw'light'],
+});
 
-<head>
-<meta http-equiv="content-type" content="<:= $header{content_type} :>">
-<title>charset cheat sheet</title>
-<:= stylesheet(qw'light') :>
-</head>
-
-<body id="charset">
+:>
 <h1>Character encoding</h1>
 
 <:
@@ -94,17 +97,9 @@ for my $cp437 (grep {$request[$_]->{set} eq 'cp437'} 0 .. $#request) {
        );
 }
 
-sub quote {
-       local $_ = shift;
-       s/"/&quot;/g;
-       s/</&lt;/g;
-       s/>/&gt;/g;
-       return $_;
-}
-
 my @nibble = (0..9, 'A'..'F');
 for my $row (@request) {
-       printf '<div class="section"><table class="glyphs%s">', !$row->{cell} && ' charmap';
+       printf '<section><table class="glyphs%s">', !$row->{cell} && ' charmap';
        printf '<caption>%s</caption>', $row->{set};
        print '<col>' x 17;
        for my $section (qw{thead}) {
@@ -138,18 +133,18 @@ for my $row (@request) {
                        }
                        my ($codepoint, $name, $prop, $script, $string) = @$info;
 
-                       $glyph = quote($string || $glyph);
+                       $glyph = EscapeHTML($string || $glyph);
                        my $desc = sprintf 'U+%04X%s', $codepoint, $name && " ($name)";
                        my @class = ('X', grep {$_} $prop, $script);
 
                        $glyph = "<span>$glyph</span>" if $prop eq 'Zs';
 
                        printf "\n".'<td class="%s" title="%s">%s',
-                               join(' ', @class), quote($desc), $glyph;
+                               join(' ', @class), EscapeHTML($desc), $glyph;
                }
                print "\n";
        }
-       print "</table></div>\n";
+       print "</table></section>\n";
 }
 
 :>
@@ -196,14 +191,3 @@ for my $row (@request) {
        </table>
 </div>
 
-<p class="footer">
-       <a href="/" rel="home">sheet.shiar.nl</a>/charset.<a href="/source/charset.plp"
-        rel="code" title="Written in Perl">plp</a>
-       <a href="http://git.shiar.nl/sheet.git/history/HEAD:/charset.plp"
-        rel="vcs-git" title="Git repository"><:= $VERSION :></a>
-       created by <a href="http://shiar.nl/" rel="author">Shiar</a> •
-       <a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html" rel="copyright"
-        title="Licensed under the GNU Affero General Public License, version 3">AGPLv3</a>
-</p>
-
-</html>