aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pathtraq.js101
-rw-r--r--yslow.js61
2 files changed, 162 insertions, 0 deletions
diff --git a/pathtraq.js b/pathtraq.js
new file mode 100644
index 0000000..23e02f5
--- /dev/null
+++ b/pathtraq.js
@@ -0,0 +1,101 @@
+/*
+ * ==VimperatorPlugin==
+ * @name pathtraq.js
+ * @description optimize the indicator of Pathtraq addon.
+ * @description-ja Pathtraq addon の表示をいい感じにする。
+ * @author janus_wel <janus_wel@fb3.so-net.ne.jp>
+ * @version 0.10
+ * @minversion 2.0pre
+ * @maxversion 2.0pre
+ * ==/VimperatorPlugin==
+ *
+ * LICENSE
+ * New BSD License
+ *
+ * USAGE
+ * this plugin change Pathtraq indicators to non-display,
+ * and display the icon of Pathtraq.
+ * you can use value 'p' in option 'pageinfo'.
+ * it will display ratings of current page.
+ *
+ * refer: http://pathtraq.com/
+ *
+ * EXAMPLE
+ * default + Pathtraq
+ * :set pageinfo=gfmp
+ *
+ * */
+
+( function () {
+
+// addon check
+const doc = window.document;
+if (!doc.getElementById('pathtraq-status')) {
+ liberator.log('pathtraq.js is need pathtraq addon: http://pathtraq.com/install', 0);
+ return;
+}
+
+// favicon
+var icon = 'data:image/png;base64,'+
+ 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAAAPFBMVEUJ'+
+ 'tsHd8vQ3xMyT3+Pv7+9z1dsYu8W/6u3s9/dVzNTo6OjO7/GD2t9k0Nf39/dGyNAov8mh4ub///+i'+
+ '4+eX1QPaAAAAFHRSTlP/////////////AP////////8A/xAuIvoAAAAJcEhZcwAAHCAAABwgAc0P'+
+ 'm54AAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzOY1kYDAAAEEXRFWHRYTUw6Y29t'+
+ 'LmFkb2JlLnhtcAA8P3hwYWNrZXQgYmVnaW49IiAgICIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6'+
+ 'a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9i'+
+ 'ZSBYTVAgQ29yZSA0LjEtYzAzNCA0Ni4yNzI5NzYsIFNhdCBKYW4gMjcgMjAwNyAyMjoxMTo0MSAg'+
+ 'ICAgICAgIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy'+
+ 'LzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIK'+
+ 'ICAgICAgICAgICAgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAg'+
+ 'ICAgICAgPHhhcDpDcmVhdG9yVG9vbD5BZG9iZSBGaXJld29ya3MgQ1MzPC94YXA6Q3JlYXRvclRv'+
+ 'b2w+CiAgICAgICAgIDx4YXA6Q3JlYXRlRGF0ZT4yMDA4LTAxLTAyVDExOjEyOjE0WjwveGFwOkNy'+
+ 'ZWF0ZURhdGU+CiAgICAgICAgIDx4YXA6TW9kaWZ5RGF0ZT4yMDA4LTAxLTAyVDEzOjU0OjU0Wjwv'+
+ 'eGFwOk1vZGlmeURhdGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2Ny'+
+ 'aXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3Jn'+
+ 'L2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9y'+
+ 'bWF0PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K'+
+ 'ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg'+
+ 'ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg'+
+ 'ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg'+
+ 'ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg'+
+ 'ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg'+
+ 'ICAgICAgICDwMiY1AAAAfklEQVQYlV3PyxbDIAgE0DFBfMVpe/r//xqQ2EVno17lgOgeoUd8i3VO'+
+ 'U6EzyQMsCo8OWSBJcVXWDLU3BszIVi+2Ti44UL1aKt4BAFcvKv4AuqF4CT9oG3TYXEP9IgBoV4M1'+
+ '6wGv0yfTL/sGG7YUsv+AXWR9LeBo0XaDPB+P3E6JCGjvBk1hAAAAAElFTkSuQmCC';
+
+// display icon
+let panel = doc.createElement('statusbarpanel');
+let label = doc.getElementById('pathtraq-app-label');
+panel.setAttribute('id', 'panel-pathtraq');
+panel.setAttribute('class', 'statusbarpanel-iconic');
+panel.setAttribute('src', icon);
+label.parentNode.appendChild(panel);
+
+// register pageinfo
+let pageRating = doc.getElementById('pathtraq-status-rating-page');
+let siteRating = doc.getElementById('pathtraq-status-rating-site');
+liberator.modules.buffer.addPageInfoSection(
+ 'p',
+ 'Pathtraq Ratings',
+ function (verbose) {
+ if(verbose) {
+ if (pageRating.value) yield ['Page rating', pageRating.value];
+ if (siteRating.value) yield ['Site rating', siteRating.value];
+ }
+ return;
+ }
+);
+
+// hide elements
+[
+ label,
+ pageRating,
+ siteRating,
+ doc.getElementById('pathtraq-status-rating-sep'),
+].forEach(function (n) {
+ n.setAttribute('style', 'display: none !important;');
+});
+
+} )();
+
+// vim: set sw=4 ts=4 et;
diff --git a/yslow.js b/yslow.js
new file mode 100644
index 0000000..bab364b
--- /dev/null
+++ b/yslow.js
@@ -0,0 +1,61 @@
+/*
+ * ==VimperatorPlugin==
+ * @name yslow.js
+ * @description optimize the indicator of YSlow addon.
+ * @description-ja YSlow addon の表示をいい感じにする。
+ * @author janus_wel <janus_wel@fb3.so-net.ne.jp>
+ * @version 0.10
+ * @minversion 2.0pre
+ * @maxversion 2.0pre
+ * ==/VimperatorPlugin==
+ *
+ * LICENSE
+ * New BSD License
+ *
+ * USAGE
+ * this plugin change YSlow indicators to non-display.
+ * you can use value 'y' in option 'pageinfo'.
+ * it will display performances of current page.
+ *
+ * EXAMPLE
+ * default + YSlow
+ * :set pageinfo=gfmy
+ *
+ * */
+
+( function () {
+
+// addon check
+const doc = window.document;
+if (!doc.getElementById('yslowStatusBar')) {
+ liberator.log('yslow.js is need YSlow addon: https://addons.mozilla.org/ja/firefox/addon/5369', 0);
+ return;
+}
+
+// register pageinfo
+let grade = doc.getElementById('yslowStatusGrade');
+let size = doc.getElementById('yslowStatusSize');
+let time = doc.getElementById('yslowStatusTime');
+liberator.modules.buffer.addPageInfoSection(
+ 'y',
+ 'YSlow Status',
+ function (verbose) {
+ if(verbose) {
+ if (grade.value && grade.value !== 'YSlow') yield ['Grade', grade.value];
+ if (size.value) yield ['Size', size.value];
+ if (time.value) yield ['Time', time.value];
+ }
+ return;
+ }
+);
+
+// hide elements
+[
+ grade,
+ size,
+ time,
+].forEach(function (n) {
+ n.setAttribute('style', 'display: none !important;');
+});
+
+} )();