aboutsummaryrefslogtreecommitdiff
path: root/wiki-engine.el
blob: a9f65d524b9c2a93b761c73782450bbb4bab8be4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
;;; wiki-engine.el -- client to wiki engines -*- lexical-binding: t -*-

;; Copyright (C) 2023 Free Software Foundation.

;; Author: Yuchen Pei <id@ypei.org>
;; Package-Requires: ((emacs "28.2"))

;; This file is part of wiki.el.

;; wiki.el is free software: you can redistribute it and/or modify it under
;; the terms of the GNU Affero General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; wiki.el 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 Affero General
;; Public License for more details.

;; You should have received a copy of the GNU Affero General Public
;; License along with wiki.el.  If not, see <https://www.gnu.org/licenses/>.

;;; Commentary:

;; client to wiki engines, wiki server software.

;;; Code:
(require 'wiki-utils)

(defun wiki-make-wikilink-url (title))

(defun wiki-engine-mediawiki-fetch (base-url title fetcher)
  "Fetch a mediawiki entry describing TITLE."
  (wiki-fetch-url
   (format "%s%s?action=raw" base-url title)
   (lambda ()
     (wiki-mode)
     (setq-local wiki-fetcher fetcher)
     )))

(defun wiki-wikipedia-fetch (title)
  (interactive "sFetch wiki title: ")
  (wiki-engine-mediawiki-fetch "https://en.wikipedia.org/wiki/" title
                               'wiki-wikipedia-fetch))

(provide 'wiki-engine)
;;; wiki-engine.el ends here