diff options
| author | 2012-12-29 16:54:16 +0100 | |
|---|---|---|
| committer | 2012-12-29 16:54:16 +0100 | |
| commit | b46793938598358a9ab5249bd97e8999d5ac67e6 (patch) | |
| tree | 3461b18599341fd3be19b0c094d6a62775478b88 /conkeror/markam.js | |
| parent | f379783d28e73b4613852fca58e0af3f8ea6ab87 (diff) | |
| download | markam-b46793938598358a9ab5249bd97e8999d5ac67e6.tar.gz markam-b46793938598358a9ab5249bd97e8999d5ac67e6.zip | |
Rename linkwave to markam
Diffstat (limited to 'conkeror/markam.js')
| -rw-r--r-- | conkeror/markam.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/conkeror/markam.js b/conkeror/markam.js new file mode 100644 index 0000000..2151b17 --- /dev/null +++ b/conkeror/markam.js @@ -0,0 +1,77 @@ +/* markam -- Store/retrieve/manage bookmarks + Copyright (C) 2012 Tom Willemsen <tom at ryuslash dot org> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +/// Commentary: + +// A wrapper script that should allow conkeror to interface with +// markam. Does not yet allow searching through collected bookmarks, +// only adding new ones. + +/// Code: + +define_variable("markam_program", "markam", + "The location of the markam executable."); + +function markam_add_url(I, url, title) +{ // Add URL to markam, ask for a title (provide TITLE as a + // default), description and any number of tags. + let url_string = load_spec_uri_string(load_spec(url)); + let title = yield I.minibuffer.read($prompt="name (required): ", + $initial_value=title); + let description = yield I.minibuffer.read( + $prompt="extended description: " + ); + let tags = yield I.minibuffer.read( + $prompt="tags (comma delimited): " + ); + let command = markam_program + ' "' + url_string + '" "' + title + + '" "' + description + '" \'' + + tags.split(',').map(function (str) + { return str.trim(); }).join("' '") + + "'"; + yield shell_command(command); +} + +function markam_add(I) { + check_buffer(I.buffer, content_buffer); + let result = yield markam_add_url(I, I.buffer.top_frame, + I.buffer.title); + + if (!result) + I.window.minibuffer.message('Added to markam'); + else + I.window.minibuffer.message('Couldn\'t add to markam'); +} +interactive("markam-add", + "Bookmark the current page in markam", + markam_add); + +function markam_add_link(I) { + check_buffer(I.buffer, content_buffer); + bo = yield read_browser_object(I); + let result = yield markam_add_url(I, encodeURIComponent(bo), + bo.textContent); + + if (!result) + I.window.minibuffer.message('Added to markam'); + else + I.window.minibuffer.message('Couldn\'t add to markam'); +} +interactive("markam-add-link", + "Select and bookmark a link in markam", + markam_add_link); + +provide("markam"); |
