From af8b3acb54563fdbce85bcc9350357879a54d38e Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sun, 23 Jul 2023 18:09:19 +1000 Subject: Add readme, license file, and clean up headers --- README.org | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 README.org (limited to 'README.org') diff --git a/README.org b/README.org new file mode 100644 index 0000000..c87c34b --- /dev/null +++ b/README.org @@ -0,0 +1,95 @@ +#+title: wiki.el - an Emacs wiki mode for editing and browsing wiki files +#+author: Yuchen Pei +#+language: en + +NOTE: this project is very much WIP. + +* Intro + :PROPERTIES: + :UPDATED: [2023-07-23 Sun 17:56] + :END: + +wiki.el is an Emacs wiki mode for editing and browsing wiki files. +There are several goals and areas of emphasis that differentiates it +from other packages handling wiki. + +First, it aims at a unified approach to various wiki markups and +engines. On the markup front it will support standard or default +markups of various wiki engines, as well as standalone markups like +creole. + +On the engine front it will support fetching and browsing wiki titles +from various engines, as well as locally. Down the road we would like +to develop a minor mode that can help with link navigation and +browsing for non-wiki markups like markdown and rst. It remains to be +determined whether submitting edited wiki entries directly from emacs +is feasible under this unified approach. + +Second, it aims to be close to the Emacs core, including not only +using as many builtin features as possible and needed, but also +working in a similar way to core packages. Specifically, an org-like +set of navigation and editing features belongs to the second category. + +As a non-goal, wiki.el does not try to come up with its own markup +rules or languages, nor does it attempt to export wiki files to other +formats. + +Currently supported features: + +- Font-locking for basic mediawiki markups to the extent that + Wikipedia titles are readable: headings, emphasis, linking, + reference, etc. +- Fetching and link jumping work for mediawiki, oddmuse and moinmoin + sites. Files are saved locally, that may be used for caching. +- Outline and imenu integration. + +* Install and use + :PROPERTIES: + :UPDATED: [2023-07-23 Sun 18:08] + :END: + +Clone, require, M-x: + +#+begin_src emacs-lisp +(add-to-list 'load-path "~/.emacs.d/lisp/wiki.el") +(require 'wiki) +#+end_src + +Some entry points: +- ~wiki--fetch~: fetch a title from a wiki site. These + functions are defined by the macro ~defun-wiki-fetchers~, for all + sites in the alist ~wiki-sites~. For example + - M-x ~wiki-wikipedia-en-fetch~ RET Emacs RET + - M-x ~wiki-parabolawiki-fetch~ RET Installation Guide RET + - M-x ~wiki-libreplanet-fetch~ RET Group:Freedom Ladder RET + - M-x ~wiki-emacswiki-fetch~ RET SandBox RET +- ~wiki-open-url~: fetches a title from a url. Example: + - M-x ~wiki-open-url~ https://libreplanet.org/wiki/Group_talk:Freedom_Ladder RET + +* Prior Art + :PROPERTIES: + :UPDATED: [2023-07-23 Sun 17:55] + :END: + +EmacsWiki has [[https://www.emacswiki.org/emacs/WikiModes][a list of wiki modes]], classified under two categories: + +#+begin_quote +1. The first kind allows you to download a page from a remote wiki, + edit it using Emacs, and submit it back to the wiki. +2. The second kind allows you to treat local files as a local wiki + without using a browser. Usually these modes allow you to publish + the local wiki as a set of static HTML pages. +#+end_quote + +wiki.el mainly falls under the first category, though it cannot be +used for submitting back to wiki yet. The modes listed under the first +category are mostly specialised to one engine / markup. + +wiki.el also supports editing local files as a local wiki, with native +linking support, though it does not aim to contain features for +exporting and publication. + +* Copyright and contact + :PROPERTIES: + :UPDATED: [2023-07-23 Sun 17:18] + :END: -- cgit v1.2.3