aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoranekos2008-11-26 09:01:56 +0000
committeranekos2008-11-26 09:01:56 +0000
commitfe2c862bbe03d8c39f02dac9370047b5092ac5c6 (patch)
treef0e36fd8c358a05642ee065b081256f95ee1ce83
parent433643df1790f5f8ad310c6f860973522551f5fa (diff)
downloadvimperator-plugins-fe2c862bbe03d8c39f02dac9370047b5092ac5c6.tar.bz2
Initial release
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@24953 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--hd-youkai-youtube.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/hd-youkai-youtube.js b/hd-youkai-youtube.js
new file mode 100644
index 0000000..526088a
--- /dev/null
+++ b/hd-youkai-youtube.js
@@ -0,0 +1,52 @@
+// ==VimperatorPlugin==
+// @name YouTube HD
+// @description High-Quality Movie Monster YoUTuBe
+// @description-ja $B9b2h<AME2x$h$&$D$Y(B
+// @license Creative Commons 2.1 (Attribution + Share Alike)
+// @version 1.0
+// @author anekos (anekos@snca.net)
+// @minVersion 2.0pre
+// @maxVersion 2.0pre
+// ==/VimperatorPlugin==
+//
+// Links:
+//
+
+(function () {
+
+ function monsterize (url) {
+ if (url.match(/&fmt=22/))
+ return url;
+ if (url.match(/^http:\/\/(?:[^.]+\.)?youtube\.com\/watch/))
+ return url + '&fmt=22';
+ let m = url.match(/^http:\/\/(?:[^.]+\.)?youtube\.com\/.*\?.*v=([^&]+)/);
+ if (m)
+ return 'http://www.youtube.com/watch?v=' + m[1] + '&fmt=22';
+ return url;
+ }
+
+ let original = liberator.plugins.hd_youkai_youtube;
+ if (!original) {
+ liberator.plugins.youtubehd = original = {
+ open: liberator.open,
+ followLink: buffer.followLink
+ };
+ }
+
+ liberator.open = function (urls) {
+ if (typeof urls === 'string')
+ arguments[0] = monsterize(urls);
+ else
+ arguments[0] = urls.map(monsterize);
+ return original.open.apply(this, arguments);
+ };
+
+ buffer.followLink = function (elem) {
+ if (elem.href)
+ elem.href = monsterize(elem.href);
+ original.followLink.apply(this, arguments);
+ };
+
+})();
+
+// vim:sw=2 ts=2 et si fdm=marker: