4 title => 'emoji cheat sheet',
7 "Emoticons overview and Unicode equivalents"
8 . " of MSN, Y!M, and Gmail icons.",
11 sheet cheat emoticon smiley emoji unicode
12 chat im messenger msn yahoo ym gmail google
14 stylesheet => [qw'light'],
21 say '<div class="section">';
23 for my $system (qw'gmail msn yahoo') {
24 my @info = do "emoji-$system.inc.pl";
25 my $meta = shift @info or die $@;
26 ref $meta eq 'HASH' or die "invalid $system definitions";
27 my $title = $meta->{name} // $system;
28 $title = qq{<a href="$_">$title</a>} for $meta->{source} || ();
30 say sprintf '<div class="section"><h2>%s</h2>', $meta->{name} // $system;
32 for (my $i = 0; $i <= $#info; $i++) {
34 unless (ref $info[$i+1] eq 'ARRAY') {
35 say sprintf '</table><table><tbody>', $name;
38 my ($input, $flags, $char, $desc) = @{ $info[++$i] };
39 say sprintf('<tr><th><img src="%s" alt="%s"><td><kbd>%s</kbd><td>%s%s',
40 sprintf($meta->{ $flags =~ /\bext\b/ ? 'iconext' : 'icon' } // '%s', $name),
44 $char ? '<td>'.chr($char) : '',
47 say "</table></div>\n";