Difference between revisions of "Mediawiki.el"
m |
(snippet) |
||
Line 80: | Line 80: | ||
(visual-line-mode 1))) | (visual-line-mode 1))) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === Edit or Create a page in 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 | ||
+ | |||
+ | <syntaxhighlight lang="lisp"> | ||
+ | (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)))) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Call {{Function| yyr-mediawiki-browser-edit/create-page}} | ||
=== key binding for open current editing file in web browser? === | === key binding for open current editing file in web browser? === |
Revision as of 20:33, 1 April 2012
Description | Mediawiki interface and markup mode |
---|---|
Author | name of author |
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 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
(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 for 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)