dotfiles/conkeror/.conkerorrc/init.org

124 lines
3.4 KiB
Org Mode

Add commands to search through and open links from history.
#+BEGIN_SRC js
define_browser_object_class(
"history-url", null,
function (I, prompt) {
check_buffer(I.buffer, content_buffer);
var result = yield I.buffer.window.minibuffer.read_url(
$prompt = prompt, $use_webjumps = false, $use_history = true,
$use_bookmarks = false, $sort_order = 'date_descending'
);
yield co_return(result);
}
);
interactive("find-url-from-history",
"Find a page from history in the current buffer",
"find-url",
$browser_object = browser_object_history_url);
interactive("find-url-from-history-new-buffer",
"Find a page from history in a new buffer",
"find-url-new-buffer",
$browser_object = browser_object_history_url);
define_key(content_buffer_normal_keymap, "H", "find-url-from-history");
define_key(content_buffer_normal_keymap, "h", "find-url-from-history-new-buffer");
#+END_SRC
Set the hints digits to the keys on my keyboard's home row, for easy
access.
#+BEGIN_SRC js
hint_digits = "arstdhneio";
#+END_SRC
Add the ~search-engines/~ directory to the opensearch load path.
#+BEGIN_SRC js
function add_to_opensearch_load_path(new_path) {
if (new_path.startsWith('/')) {
opensearch_load_paths.push(new_path);
} else {
let path = get_home_directory();
path.append('.conkerorrc');
path.append(new_path);
opensearch_load_paths.push(path);
}
}
add_to_opensearch_load_path('search-engines');
#+END_SRC
Add a Mozilla Developer Network webjump. This uses their OpenSearch
description.
#+BEGIN_SRC js
define_opensearch_webjump("mdn", "mozilla-developer-network.xml");
#+END_SRC
Add a Duck Duck Go webjump. This uses the OpenSearch
description. Conkeror has a =duckduck= webjump, but I prefer the
shorter ddg.
#+BEGIN_SRC js
define_opensearch_webjump("ddg", "duckduckgo.xml");
#+END_SRC
Add a [[https://wpackagist.org/][WordPress Packagist]] webjump.
#+BEGIN_SRC js
define_webjump("wpackagist",
"https://wpackagist.org/search?q=%s&type=any",
$alternative="https://wpackagist.org/",
$doc="Search WordPress packagist for plugins and themes.");
#+END_SRC
Add the ~site-js/~ directory to the load path.
#+BEGIN_SRC js
function add_to_load_path(new_path) {
if (new_path.startsWith('/')) {
load_paths.push("file://" + new_path);
} else {
let path = get_home_directory();
path.append('.conkerorrc');
path.append(new_path);
load_paths.push("file://" + path.path);
}
}
add_to_load_path('site-js');
#+END_SRC
* Scuttle
Load the scuttle module.
#+BEGIN_SRC js
require('scuttle');
#+END_SRC
Set the URL of my scuttle installation.
#+BEGIN_SRC js
scuttle_url = 'https://ryuslash.org/scuttle/';
#+END_SRC
Add the bookmarked widget to the mode line. This requires my
customized version of Scuttle to be able to check if a buffer has
been bookmarked or not.
#+BEGIN_SRC js
add_hook('mode_line_hook', mode_line_adder(scuttle_bookmarked_widget));
#+END_SRC
Set-up keybindings for posting to scuttle.
#+BEGIN_SRC js
define_key(default_global_keymap, 'p', 'scuttle-post');
define_key(default_global_keymap, 'P', 'scuttle-post-link');
#+END_SRC