aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vimperator.dot.link/plugin/links.js91
1 files changed, 91 insertions, 0 deletions
diff --git a/vimperator.dot.link/plugin/links.js b/vimperator.dot.link/plugin/links.js
new file mode 100644
index 0000000..763d281
--- /dev/null
+++ b/vimperator.dot.link/plugin/links.js
@@ -0,0 +1,91 @@
+/* NEW BSD LICENSE {{{
+Copyright (c) 2015 rhatto
+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 #
+###################################################################################
+
+}}} */
+
+// PLUGIN_INFO {{{
+let PLUGIN_INFO = xml`
+<VimperatorPlugin>
+ <name>Links</name>
+ <name lang="en">Links</name>
+ <description>Links code</description>
+ <version>0.1</version>
+ <author mail="rhatto@riseup.net" homepage="https://rhatto.sarava.org">rhatto</author>
+ <license>new BSD License (Please read the source code comments of this plugin)</license>
+ <updateURL>https://git.sarava.org/?p=rhatto/dotfiles/vimperator.git;a=summary</updateURL>
+ <minVersion>2.3</minVersion>
+ <maxVersion>2.3</maxVersion>
+ <detail><![CDATA[
+ :link tags:
+ Add link with tags into SemanticScuttle instance.
+ ]]></detail>
+</VimperatorPlugin>`;
+// }}}
+// INFO {{{
+let INFO = xml`
+<plugin name="Links" version="1.2.1"
+ href="http://github.com/vimpr/vimperator-plugins/blob/master/link.js"
+ summary="Links code"
+ xmlns="http://vimperator.org/namespaces/liberator">
+ <author email="rhatto@riseup.net">rhatto</author>
+ <license>New BSD License</license>
+ <project name="Vimperator" minVersion="2.3"/>
+ <p>
+ </p>
+ <item>
+ <tags>:link</tags>
+ <spec>:link <a>tags</a></spec>
+ <description>
+ <p>
+ Add the current page into the Scuttle site.
+ </p>
+ </description>
+ </item>
+</plugin>`;
+// }}}
+
+(function () {
+ commands.addUserCommand(
+ ['link'],
+ 'Add link with tags into SemanticScuttle instance',
+ function (args) {
+ var instance = 'https://links.sarava.org/bookmarks?action=add&address=';
+ var doc = content.document;
+ var href = encodeURIComponent(content.document.location);
+ var title = encodeURIComponent(content.document.title);
+ var desc = encodeURIComponent(doc.getSelection());
+ var tags = encodeURIComponent(args.toString().replace(/,,/g, ';').replace(/,/g, ' ').replace(/;/g, ', '));
+ var url = instance + href + '&title=' + title + '&description=' + desc + '&tags=' + tags;
+
+ liberator.open(url, liberator.NEW_TAB);
+ }
+ );
+})();