aboutsummaryrefslogtreecommitdiffstats
path: root/wassr.js
diff options
context:
space:
mode:
authormattn2008-06-09 04:35:08 +0000
committermattn2008-06-09 04:35:08 +0000
commit9008b003167e0239151ab18dc9e45986b5b5185b (patch)
treea9204b2990169a75604f3b7611e7ecde06f6ab19 /wassr.js
parent5e12a3c1e8998d765348219d01f8eb48d7ea0e0a (diff)
downloadvimperator-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.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/wassr.js b/wassr.js
index 7b2ca97..0788f5b 100644
--- a/wassr.js
+++ b/wassr.js
@@ -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}&#x202C;</strong>
</>.toSource()
.replace(/(?:\r?\n|\r)[ \t]*/g, " ") +
- sprintf(': <span class="wassr entry-content">%s&#x202C;</span>', status.text))
+ sprintf(': <span class="wassr entry-content">%s&#x202C;</span>', emojiConv(status.text)))
.join("<br/>");
liberator.echo(html, true);