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