copy

Description
enable to copy strings from a template (like CopyURL+)テンプレートから文字列のコピーを可能にします(CopyURL+みたいなもの)
Latest version
0.7.1
Vimperator version
2.0pre - 2.0pre
URL
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/copy.js
File URL
http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/copy.js
Author
teramako
License
MPL 1.1/GPL 2.0/LGPL 2.1

Command

:copy {copyString}
copy the argument replaced some certain string
:copy! {expr}
evaluate the argument and copy the result

Example

:copy %TITLE%
copied the title of the current page
:copy title
some as `:copy %TITLE%' by default
:copy! liberator.version
copy the value of `liberator.version'

Keyword

%TITLE%
to the title of the current page
%URL%
to the URL of the current page
%SEL%
to the string of selection
%HTMLSEL%
to the html string of selection
%HOSTNAME%
to the hostname of the current location
%PATHNAME%
to the pathname of the current location
%HOST%
to the host of the current location
%PORT%
to the port of the current location
%PROTOCOL%
to the protocol of the current location
%SEARCH%
to the search(?..) of the current location
%HASH%
to the hash(anchor #..) of the current location

How to create template

you can set your own template using inline JavaScript.
javascript <<EOM
liberator.globalVariables.copy_templates = [
  { label: 'titleAndURL',    value: '%TITLE%\n%URL%' },
  { label: 'title',          value: '%TITLE%', map: ',y' },
  { label: 'anchor',         value: '<a href="%URL%">%TITLE%</a>' },
  { label: 'selanchor',      value: '<a href="%URL%" title="%TITLE%">%SEL%</a>' },
  { label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' }
  { label: 'ASIN',   value: 'copy ASIN code from Amazon', custom: function(){return content.document.getElementById('ASIN').value;} },
];
EOM
label
template name which is command argument
value
copy string
the certain string is replace to ...
map
key map (optional)
custom
{function} or {Array} (optional)
{function}
execute the function and copy return value, if specified.
{Array}
replaced to the {value} by normal way at first.
then replace words matched {Array}[0] in the replaced string to {Array}[1].
{Array}[0]
String or RegExp
{Array}[1]
String or Function
see http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:String:replace

Options

liberator.globalVariables.copy_use_wedata = false; // false by default
true に設定すると wedata からテンプレートを読込みます。
liberator.globalVariables.copy_wedata_include_custom = true; // false by default
custom が設定された wedata を読込みます。
SandBox でなく、window.eval を利用してオブジェクトする為、
セキュリティ上の理由で初期設定は false になっています。
true に設定する場合は、動作を理解したうえ自己責任でご利用ください。
liberator.globalVariables.copy_wedata_exclude_labels = [
    'pathtraqnormalize',
];
wedata から読込まない label のリストを定義します。
back to index