Difference between revisions of "Mediawiki.el"

From WikEmacs
Jump to navigation Jump to search
Line 2: Line 2:
 
|name=mediawiki.el
 
|name=mediawiki.el
 
|description=Mediawiki interface and markup mode
 
|description=Mediawiki interface and markup mode
 +
|author= Jerry et al
 
|maintainer=Mark A. Hershberger
 
|maintainer=Mark A. Hershberger
 
|source=https://code.launchpad.net/~hexmode/mediawiki-el/trunk
 
|source=https://code.launchpad.net/~hexmode/mediawiki-el/trunk

Revision as of 01:15, 2 April 2012

mediawiki.el
Description Mediawiki interface and markup mode
Author Jerry et al
Maintainer Mark A. Hershberger
Source https://code.launchpad.net/~hexmode/mediawiki-el/trunk
Part of Emacs no

Mediawiki.el is a package to help add content to any mediawiki site including WikEmacs. It comes with a Major Mode to support editing Mediawiki markup.

Setup

Install mediawiki.el from el-get or ELPA.

Customization

M-x load-library RET mediawiki RET
Load the library
M-x customize-variable RET mediawiki-site-alist
Configure as follows and save your settings
Site Name: WikEmacs
URL: http://wikemacs.org/w/
Username: InCognito
Password: s!cr!t
First Page: Main Page
You can provide "Username" and "Password" in your .authinfo file. home directory.

Alternatively you can add this snippet of Emacs Lisp code to your .emacs:

(require 'mediawiki)

(setq mediawiki-site-alist '(("Wikipedia" "http://en.wikipedia.org/w" "" "" "Main Page")
                             ("WikEmacs" "http://wikemacs.org/w/" "" "" "Main Page")))

;; Emacs users care more for WikEmacs than Wikipedia :-)
(setq mediawiki-site-default "WikEmacs")

You can naturally add more MediaWiki sites to the mediawiki-site-alist variable.

Usage

M-x mediawiki-site
Choose a site (say "WikEmacs") for the current session.
[C-c C-o] (or M-x mediawiki-open)
Open a page. To edit the main page, type "Main Page". Make your edits.
[C-x C-s] (or M-x mediawiki-save)
Submit your modifications.
[C-c] (or M-x mediawiki-save-and-bury)
Submit modifications and bury the buffer.

Helpful Keybindings

[C-return] (or M-x mediawiki-open-page-at-point)
Follow or browse to a WikiLink.
[M-g] (or M-x mediawiki-reload)
Reload a page

Customizations

Word Wrapping

Mediawiki sites are generally unfilled . Newline character are not used for breaking paragraphs. Emacs does supports word wrap but from [Emacs 24].

Emacs 24

You may want to turn on word wrapping.

(setq mediawiki-mode-hook (lambda ()
                            (visual-line-mode 1)))

Edit or Create a page in a web browser

Right now Mediawiki.el fails silently whenever the site asks for number challenge (spam protection). The following snippet allows you to edit/create a page in a web browser

(defun yyr-mediawiki-browser-edit/create-page (page &optional site)
  "Edit a page in browser, asks for page name (sitename also if needed)"
  (interactive "sPage name (words): ")
  (let* ((site (mediawiki-prompt-for-site))
         (url (mediawiki-site-extract site 1))
         (index "index.php?title=")
         (et "&action=edit"))
    (funcall 'browse-url
             (message "%s%s%s%s"
                      url index (mediawiki-translate-pagename page) et))))

Call yyr-mediawiki-browser-edit/create-page

key binding to open current editing file in web browser?

bind mediawiki-browse to some key chord. The following uses [C-c o]

(define-key mediawiki-mode-map (kbd "C-c o") 'mediawiki-browse)



External Links