From 35a15e183ced5cb9529d7e35433dcb26db548897 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Mon, 10 Jul 2023 12:03:38 +1000 Subject: Add some more wikis and wiki-open-url --- wiki-utils.el | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) (limited to 'wiki-utils.el') diff --git a/wiki-utils.el b/wiki-utils.el index 56e3e02..b99be9c 100644 --- a/wiki-utils.el +++ b/wiki-utils.el @@ -27,7 +27,12 @@ ;;; Code: (require 'url-parse) -(defvar wiki-download-dir "~/Downloads") +(defvar wiki-local-dir (locate-user-emacs-file "wiki") + "Path to local directory of wiki files.") + +(defvar wiki-fetch-prefer-local t + "If non-nil, visit the local file if exists when instructed for +fetching.") (defun wiki-fetch-url (url &optional callback title) "Fetch URL asynchronously. @@ -44,13 +49,14 @@ Then calls CALLBACK which is a closure taking no argument." ) (defun wiki-fetch-url-save-and-switch (status file-name) - (unless (plist-get status :error) - (wiki-delete-http-header) - (write-file file-name) - (let ((coding-system-for-read 'utf-8)) - (revert-buffer t t)) - (switch-to-buffer (current-buffer)) - )) + (when (plist-get status :error) + (error "Wiki fetch failed: %s" (plist-get status :error))) + (wiki-delete-http-header) + (write-file file-name) + (let ((coding-system-for-read 'utf-8)) + (revert-buffer t t)) + (switch-to-buffer (current-buffer)) + ) (defun wiki-delete-http-header () (delete-region (point-min) (progn (wiki-skip-http-header) (point)))) @@ -72,9 +78,9 @@ Then calls CALLBACK which is a closure taking no argument." (archwiki-en :base-url "https://wiki.archlinux.org/title/" :engine mediawiki :display-name "Archwiki EN") - (debianwiki :base-url "https://wiki.debian.org/" - :engine moinmoin - :display-name "Debian Wiki") + (debian-wiki :base-url "https://wiki.debian.org/" + :engine moinmoin + :display-name "Debian Wiki") (emacswiki :base-url "https://www.emacswiki.org/emacs/" :engine oddmuse :display-name "EmacsWiki") @@ -93,6 +99,19 @@ Then calls CALLBACK which is a closure taking no argument." (libreplanet :base-url "https://libreplanet.org/wiki/" :engine mediawiki :display-name "Libreplanet Wiki") + (oddmuse :base-url "https://oddmuse.org/wiki/" + :engine oddmuse + :display-name "Oddmuse") + (ubuntu-wiki :base-url "https://wiki.ubuntu.com/" + :engine moinmoin + :display-name "Ubuntu Wiki") + (ubuntu-community-help-wiki + :base-url "https://help.ubuntu.com/community/" + :engine moinmoin + :display-name "Ubuntu Community Help Wiki") + (wikiindex :base-url "https://wikiindex.org/" + :engine mediawiki + :display-name "WikiIndex") (wikipedia-en :base-url "https://en.wikipedia.org/wiki/" :engine mediawiki :display-name "Wikipedia EN") @@ -102,9 +121,6 @@ Then calls CALLBACK which is a closure taking no argument." (wiktionary-en :base-url "https://en.wiktionary.org/wiki/" :engine mediawiki :display-name "Wiktionary EN") - (debianwiki :base-url "https://wiki.debian.org/" - :engine moinmoin - :display-name "Debian Wiki") ) "Alist of wiki sites. -- cgit v1.2.3