diff options
author | anekos | 2012-04-10 02:53:13 +0900 |
---|---|---|
committer | anekos | 2012-04-10 02:53:13 +0900 |
commit | 2b9c6d4b864a1a55c417248c0306b7355ed28fb2 (patch) | |
tree | b6274d22ecbcc78eb595c3c1f3a4ce8e393e519f /longcat.js | |
parent | 32c580921b0ceb2df15273734406f4bb64544017 (diff) | |
download | vimperator-plugins-2b9c6d4b864a1a55c417248c0306b7355ed28fb2.tar.bz2 |
Longcat beautify your life.
Diffstat (limited to 'longcat.js')
-rw-r--r-- | longcat.js | 255 |
1 files changed, 255 insertions, 0 deletions
diff --git a/longcat.js b/longcat.js new file mode 100644 index 0000000..226a65c --- /dev/null +++ b/longcat.js @@ -0,0 +1,255 @@ +/* NEW BSD LICENSE {{{ +Copyright (c) 2012, anekos. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + + +################################################################################### +# http://sourceforge.jp/projects/opensource/wiki/licenses%2Fnew_BSD_license # +# に参考になる日本語訳がありますが、有効なのは上記英文となります。 # +################################################################################### + +}}} */ + +// INFO {{{ +let INFO = +<> + <plugin name="longcat" version="1.0.0" + href="http://vimpr.github.com/" + summary="Longcat beautify your life." + lang="en-US" + xmlns="http://vimperator.org/namespaces/liberator"> + <author email="anekos@snca.net">anekos</author> + <license>New BSD License</license> + <project name="Vimperator" minVersion="3.0"/> + <p></p> + <item> + <tags>:longcat</tags> + <spec>:longcat <oa>HOWLONG</oa></spec> + <description><p>Meow!</p></description> + </item> + </plugin> +</>; +// }}} + + +(function () { + + const HEADIMG = 'data:image/png;base64,'+ // {{{ + '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'+ + 'Vf4HOxIHLA87nOEAAAAASUVORK5CYII='; // }}} + const BODYIMG = 'data:image/png;base64,'+ // {{{ + 'iVBORw0KGgoAAAANSUhEUgAAAHIAAABkCAYAAABaUmT7AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A'+ + '/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wECREfCYjC4MMAAAAdaVRYdENv'+ + 'bW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAAANdJREFUeNrt0bENxCAQRcGVE0oh3JIp'+ + 'g5ASKGmdOfPpQtuaJ/0ISJiIiHrzMrP23tcy8++3vfeac9Zaq8YY1Vq7vfvr7Ak7Qp8IJEiBFEiB'+ + 'BCmQAimQIAVSIAVSIEEKpEAKJEiBFEiBBCmQAimQAglSIAVSIEEKpEAKJEhfAFIgBVIgQQqkQAok'+ + 'SIEUSIEUSJACKZACCVIgBVIgQQqkQAqkQIIUSIEUSJACKZACCVIgBVIgBRKkQAqkQIIUSIEUSIEE'+ + 'KZACKZAgBVIgBRKkQAqkQAokSD21E0f2gZR9zLZDAAAAAElFTkSuQmCC'; // }}} + const TAILIMG = 'data:image/png;base64,'+ // {{{ + 'iVBORw0KGgoAAAANSUhEUgAAAHIAAAAeCAYAAADw60pcAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A'+ + '/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wECREKM3l732UAAAAdaVRYdENv'+ + 'bW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAAA3hJREFUaN7tmiFsvEgUxr+7I5mRuI5o'+ + 'UiSuIxFNikTiWomoWFlXi1yJbB1yRQUSt0iqFlckOOpmRZMh2YYzx6T0dreb/90/BTJfgliSYcn8'+ + '5nvz3mMAoJvydXZ21m02m+719bXbbDbd5eXlyWOvr6+79Xrdrdfr7uHhoSOETHYe/sTEJYSAlFL9'+ + 'ZoydNI4QAtu2QSmFlBJVVaFt28nOw+RBAkDTNL80znEcSCkhpURZlpOeg9mApJQCwMCdx2RZFizL'+ + 'AgA1VoP8YVVVpYDYtg1CyLdh1XXdAfz+GRrkD6lt20FY7F32nXzfVxDzPD/ZyRrkb1RZlhBCKEee'+ + 'sjeapqlArlYrHVrHElqLooCUcrD3HQqrQRCosFoUBYQQk85YZwMSAPI8BwCYpgnP8/bukz1Ezjmk'+ + 'lGiaBnEcTz6sjg7k18knhAyu77LQPlTe3t7urSdt20YQBJBSglKKNE3RNM3k3QgAfwEIx/IyhmHg'+ + '/PwcUkoYhgHHcXB3dwfHcbDb7SCEAAB8fHwo0IZhgHOOxWKhwqVpmuCcI01T9dyrqytEUQRKKXa7'+ + 'HZ6fnxHHMd7f32cRkf74p8UzGkeGYYgsy0ApRRiG/yoR4jhGlmUqaXFdF67rgjGGOI6RJAmWyyVs'+ + '20ae50iSBJxzeJ4HSimEEEiSBFEUzcKJowWZJMkgLJZlqZIYxpja23rnmaYJSimqqoLv+9hut7i5'+ + 'ucFyuVQLoB9TVRUYY1gul3h5ecGcZIzpZb5mnEVRIAgCVewvFgv4vq9A933SLMsQhiGklCCEDBbC'+ + '4+MjkiSBlBJCCDiOg/v7ewRBMCtHjgok51y5iFIKy7Jgmibe3t7Qti2iKMJqtQLnHIwxCCFQFMWg'+ + '4U0IGSQ+aZqiruvB4mCMgTE2uK9B/s+Ffe80ALi4uEAQBGo/a9sWdV2jrmsQQg46qg/BvQs/q79v'+ + '27YG+TsL+yiK0DQNmqaBbdsqsfmqY2GxD619x2ff/1iWdXQxaJD/QdvtFk9PT+r3ryQkn79k7GuE'+ + 't22LPM/heR7iOJ6NI2fT2fkMsod56BtjWZZgjKl+qwY5UpC9DnVt+pJGg5yAhBAHTw70zYVTj4Xo'+ + 'PfKH1DfBjx0ByfN8FicDZu/IY5DatkVVVSedJtAgf9CNlFI0TbO39Pic0c7JkaPqtWppR2qQego0'+ + 'SC0NUkuD1NqrvwFj/TqAROK84QAAAABJRU5ErkJggg=='; // }}} + + function loadImage (path) { + let img = new Image(); + img.src = path; + return img; + } + + function drawCat (n) { + let doc = content.document; + + let container = doc.createElement('div'); + let canvas = doc.createElement('canvas'); + let bg = doc.createElement('div'); + + canvas.innerHTML = 'hoge'; + canvas.setAttribute('style', String(<><![CDATA[ + position: absolute; !important; + top: 0px !important; + background-color: black !important; + margin: auto; + right: 0; + left: 0; + ]]></>)); + + bg.setAttribute('style', String(<><![CDATA[ + position: fixed; !important; + top: 0px; + left: 0px; + background-color: black !important; + width: 100%; + height: 100%; + ]]></>)); + + canvas.width = 114; + canvas.height = 100 + n * 100 + 30; + + doc.body.appendChild(bg); + container.appendChild(canvas); + doc.body.appendChild(container); + + + let head = loadImage(HEADIMG); + let body = loadImage(BODYIMG); + let tail = loadImage(TAILIMG); + + let ctx = canvas.getContext('2d'); + + setTimeout( + function () { + ctx.drawImage(head, 0, 0); + for (let i = 0; i < n; i++) + ctx.drawImage(body, 0, 100 + i * 100); + ctx.drawImage(tail, 0, 100 + n * 100); + }, + 0 + ); + } + + + commands.addUserCommand( + ['longcat'], + 'Longcat beautify your life.', + function (args) { + let n = parseInt(args[0] || '20', 10); + drawCat(n); + }, + {} + ); + +})(); + +// vim:sw=2 ts=2 et si fdm=marker: |