From 12126df778b6ffe0b7f24fe0d13fcdb3e1b90d04 Mon Sep 17 00:00:00 2001
From: teramako
Date: Sun, 7 Dec 2008 14:02:28 +0000
Subject: 情報の詳細とURLのリンク
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@26068 d0d07461-0603-4401-acd4-de1884942a52
---
pluginManager.js | 67 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 54 insertions(+), 13 deletions(-)
diff --git a/pluginManager.js b/pluginManager.js
index 3d17583..9b4f06a 100644
--- a/pluginManager.js
+++ b/pluginManager.js
@@ -3,7 +3,10 @@ var PLUGIN_INFO =
{NAME}
Manage Vimperator Plugin
Vimpeatorプラグインの管理
-0.1a
+teramako
+0.1
+2.0pre
+2.0pre
;
@@ -26,7 +57,15 @@ liberator.plugins.pluginManager = (function(){
var lang = window.navigator.language;
var tags = {
name: function(info) info.name ? fromUTF8Octets(info.name.toString()) : null,
- author: function(info) info.author || null,
+ author: function(info) {
+ if (!info.author) return null;
+ var xml = <>{info.author.toString()}>;
+ if (info.author.@homepage.toString() != '')
+ xml += <> {makeLink(info.author.@homepage.toString())}>;
+ if (info.author.@mail.toString() != '')
+ xml += <> ({makeLink("mailto:"+info.author.@mail)})>;
+ return xml;
+ },
description: function(info){
if (!info.description) return null;
var desc = info.description[0].toString();
@@ -42,7 +81,7 @@ var tags = {
break;
}
}
- return fromUTF8Octets(desc);
+ return makeLink(fromUTF8Octets(desc));
},
version: function(info) info.version || null,
maxVersion: function(info) info.maxVersion || null,
@@ -63,30 +102,32 @@ var tags = {
while ([num, line] = ite.next()){
if (!line) continue;
if (/^\s*==(.*)==\s*$/.test(line)){
- line = RegExp.$1;
- xml +=
{line}
;
+ xml += {makeLink(RegExp.$1)}
;
continue;
}
let reg = /^\s*(.*)\s*:\s*$/;
if (reg.test(line)){
- let dl =
;
+ let dl = - {makeLink(RegExp.$1)}
;
while ([num, line] = ite.next()){
if (!line) break;
if (reg.test(line)){
- dl.* += {RegExp.$1};
+ dl.* += {makeLink(RegExp.$1)};
} else {
- dl.* += {line.replace(/^\s+|\s+$/g, "")};
+ dl.* += {makeLink(line.replace(/^\s+|\s+$/g, ""))};
}
}
xml += dl;
continue;
}
- xml += <>{line}
>;
+ xml += <>{makeLink(line)}
>;
}
} catch (e){}
return xml;
}
};
+function makeLink(str){
+ return XMLList(str.replace(/(https?:\/\/|mailto:)[^\s]+/g, '$&'));
+}
function fromUTF8Octets(octets){
return decodeURIComponent(octets.replace(/[%\x80-\xFF]/g, function(c){
return "%" + c.charCodeAt(0).toString(16);
--
cgit v1.2.3