]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
(no commit message)
authorhttps://me.yahoo.com/a/GwQv.Tw.p_ux8p4eLf9CkcwYsQ--#2fdeb <Steven@web>
Sat, 27 May 2017 02:25:07 +0000 (22:25 -0400)
committeradmin <admin@branchable.com>
Sat, 27 May 2017 02:25:07 +0000 (22:25 -0400)
doc/todo/smileys_should_support_Unicode_Emojis.mdwn [new file with mode: 0644]

diff --git a/doc/todo/smileys_should_support_Unicode_Emojis.mdwn b/doc/todo/smileys_should_support_Unicode_Emojis.mdwn
new file mode 100644 (file)
index 0000000..9bbfeaa
--- /dev/null
@@ -0,0 +1,128 @@
+Why are there graphic-based smileys at all, when Unicode supports most of them directly?
+
+What Unicode doesn't support can be handled by FontAwesome or a little CSS. 
+
+Keeping font-based solutions to emojis allows them to scale naturally with the fonts. An emoji in the title becomes a different size than an emoji in paragraph, or an emoji in a subscript.
+
+Here's a smileys.mdwn file that doesn't use any graphics at all:
+
+<pre>
+This page is used to control what smileys are supported by the wiki.
+Just write the text of a smiley to display it.
+
+* \\:) [🙂]
+* \\:smile:    [🙂]
+* \\:-)        [🙂]
+* \\:D [😃] 
+* \\:-D        [😃] 
+* \\:grin:     [😃] 
+* \\B) [😎]
+* \\B-)        [😎]
+* \\:))        [😛]
+* \\:-))       [😛]
+* \\;) [😉]
+* \\;-)        [😉]
+* \\:\ [😕]
+* \\:-\        [😕]
+* \\:/ [😕]
+* \\:-/        [😕]
+* \\:| [😐]
+* \\:-|        [😐]
+* \\>:>        [😈]
+* \\X-(        [😡]
+* \\&lt;:(     [😧]
+* \\:( [🙁]
+* \\:-(        [🙁]
+* \\:-?        [😝]
+* \\:-P        [😝]
+* \\:o [😱]
+* \\|) [đŸ˜Ē]
+* \\|-)        [đŸ˜Ē]
+* \\{OK}       [👍]
+* \\:+1:    [👍]
+* \\:-1:    [👎]
+* \\(/)        [đŸšĢ]
+* \\{X}        [🛑]
+* \\{i}        [ℹī¸]
+* \\(./)       [✔ī¸Ž]
+* \\(!)        [💡]
+* \\[!]        [✋]
+* \\/!\        [⚠ī¸]
+* \\(?)        [❓]
+* \\(!?)       [⁉ī¸]
+* \\{x}        [☒]
+* \\{*}        [☑ī¸Ž]
+* \\{o}        [☐]
+* \\{1}        [<span class="priority-1">𝟙</span>]
+* \\{2}        [<span class="priority-2">𝟚</span>]
+* \\{3}        [<span class="priority-3">𝟛<span>]
+
+For example: {x} B) {x} {3} :grin: :-1: 
+
+----
+
+To change the supported smileys, just edit the lists on this page.
+Note that the format is important; each list item should start with the
+text that is turned into the smiley, escaped so that users can see what
+produces it, followed by a [[ikiwiki/WikiLink]] to the image to display.
+
+/!\ Bear in mind that the link to the image needs to be written in a way that
+will work if it's copied to other pages on the wiki. So be sure to include the
+smileys directory in the path to the file.
+</pre>
+
+Here's the patch to smiley.pm:
+
+<pre>
+--- smiley.pm.orig     2017-05-26 18:00:01.000000000 -0400
++++ smiley.pm  2017-05-26 22:01:18.000000000 -0400
+@@ -33,17 +33,17 @@
+               return;
+       }
+       my $list=readfile($srcfile);
+-      while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[\[([^]]+)\]\]/mg) {
++      while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[([^\]]+)\]/mg) {
+               my $smiley=$1;
+-              my $file=$2;
++              my $value=$2;
+
+-              $smileys{$smiley}=$file;
++              $smileys{$smiley}=$value;
+
+               # Add a version with < and > escaped, since they probably
+               # will be (by markdown) by the time the sanitize hook runs.
+               $smiley=~s/</&lt;/g;
+               $smiley=~s/>/&gt;/g;
+-              $smileys{$smiley}=$file;
++              $smileys{$smiley}=$value;
+       }
+
+       if (! %smileys) {
+@@ -94,10 +94,18 @@
+               }
+               else {
+                       # Replace the smiley with its expanded value.
+-                      my $link=htmllink($params{page}, $params{destpage},
+-                                       $smileys{$smiley}, linktext => $smiley);
+-                      substr($_, $spos, length($smiley))=$link;
+-                      pos=$epos+length($link);
++                      my $value = $smileys{$smiley};
++                      my $replacement = "";
++                      if ($value =~ /\[([^\]]*)/) {
++                              $value=$1;
++                              $replacement=htmllink($params{page}, $params{destpage},
++                                                      $value, linktext => $smiley);
++                      }
++                      else {
++                              $replacement=$value;
++                      }
++                      substr($_, $spos, length($smiley))=$replacement;
++                      pos=$epos+length($replacement);
+               }
+       }
+
+</pre>
+
+As you can see, it keeps the [] characters around the smiley. This can be useful if it renders to nothing in the browser -- particularly in the CSS-based solutions. 
+
+It keeps the same data structure, but images get a "[" prefix to them as a marker. Since I minimized the changes to the regex, the trailing "]" is still dropped.