diff options
author | mattn | 2008-06-09 04:35:08 +0000 |
---|---|---|
committer | mattn | 2008-06-09 04:35:08 +0000 |
commit | 9008b003167e0239151ab18dc9e45986b5b5185b (patch) | |
tree | a9204b2990169a75604f3b7611e7ecde06f6ab19 /wassr.js | |
parent | 5e12a3c1e8998d765348219d01f8eb48d7ea0e0a (diff) | |
download | vimperator-plugins-9008b003167e0239151ab18dc9e45986b5b5185b.tar.bz2 |
* 胡散臭い絵文字対応
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@13580 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'wassr.js')
-rw-r--r-- | wassr.js | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,5 @@ // Vimperator plugin: "Update Wassr"
-// Last Change: 04-Jun-2008. Jan 2008
+// Last Change: 09-Jun-2008. Jan 2008
// License: Creative Commons
// Maintainer: mattn <mattn.jp@gmail.com> - http://mattn.kaoriya.net/
// Based On: twitter.js by Trapezoid
@@ -18,6 +18,13 @@ } catch(e) { liberator.log('warning: wassr.js is working with unsafe sandbox.'); }
var passwordManager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
+
+ function emojiConv(str){
+ return str.replace(/[^*+.-9A-Z_a-z-]/g,function(s){
+ var c = s.charCodeAt(0);
+ return (0xE001 <= c && c <= 0xF0FC) ? '<img src="http://wassr.jp/img/pictogram/' + c.toString(16).toUpperCase() + '.gif"/>' : s;
+ })
+ }
function sayWassr(username, password, stat){
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://api.wassr.jp/statuses/update.json", false, username, password);
@@ -52,7 +59,7 @@ <strong>{status.user_login_id}‬</strong>
</>.toSource()
.replace(/(?:\r?\n|\r)[ \t]*/g, " ") +
- sprintf(': <span class="wassr entry-content">%s‬</span>', status.text))
+ sprintf(': <span class="wassr entry-content">%s‬</span>', emojiConv(status.text)))
.join("<br/>");
liberator.echo(html, true);
|