X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/7e61bf43e629fb11d22bebfd4b31226fdea31651..HEAD:/emoji.plp?ds=sidebyside diff --git a/emoji.plp b/emoji.plp index 2bb0b9a..63572c7 100644 --- a/emoji.plp +++ b/emoji.plp @@ -2,33 +2,50 @@ Html({ title => 'emoji cheat sheet', - version => 'v1.0', + version => '1.1', description => [ - "MSN emoticons", + "Emoticons overview and Unicode equivalents" + . " of MSN, Y!M, and Gmail icons.", ], keywords => [qw' - sheet cheat emoticon smiley emoji msn + sheet cheat emoticon smiley emoji unicode + chat im messenger msn yahoo ym gmail google '], - stylesheet => [qw'light dark red'], + stylesheet => [qw'light'], + data => ['emoji-gmail.inc.pl'], }); :> -

MSN emoticons

+

IM emoticons

<: -my @info = do 'emoji.inc.pl' or die $@; -my $MSNURL = ''; +say '
'; -print ''."\n"; -for (my $i = 0; $i <= $#info; $i++) { - my $name = $info[$i++]; - my ($input, $char, $desc) = @{ $info[$i] }; - if ($char < 0) { - # inexact - $char = -$char; +for my $system (qw'gmail msn yahoo') { + my @info = Data("emoji-$system"); + my $meta = shift @info; + ref $meta eq 'HASH' or Abort("Invalid $system definitions", 404); + my $title = $meta->{name} // $system; + $title = showlink($title, $_) for $meta->{source} || (); + + say sprintf '

%s

', $meta->{name} // $system; + say '
'; + for my $row (@info) { + unless (ref $row eq 'ARRAY') { + say '
'; + next; + } + my ($name, $input, $flags, $char, $desc) = @{$row}; + say sprintf('
%s%s%s%s', + sprintf($meta->{ $flags =~ /\bext\b/ ? 'iconext' : 'icon' } // '%s', $name), + EscapeHTML($name), + EscapeHTML($input), + $desc // $name, + $char ? ''.chr($char) : '', + ); } - printf "
%s%s$MSNURL%s\n", - $name, EscapeHTML($input), $desc, chr($char); + say "
\n"; } -print "\n"; + +say "
\n";