Get Ikiwiki stuff working minimally.
[muse-el.git] / examples / ikiwiki / muse-init-project.el
blobe9bbf0af8f454d654019e08d6f9a132c9886b02d
1 ;;; muse-init-project.el --- Use Emacs Muse to publish ikiwiki documents
3 ;; The code in this file may be used, distributed, and modified
4 ;; without restriction.
6 ;;; Setup
8 (add-to-list 'load-path (expand-file-name "~ikiwiki/elisp/muse/lisp"))
10 ;; Initialize
11 (require 'muse) ; load generic module
12 (require 'muse-html) ; load (X)HTML publishing style
13 (require 'muse-ikiwiki) ; load Ikiwiki integration
14 (require 'muse-project) ; load support for projects
15 (require 'muse-wiki) ; load Wiki support
17 ;;; Settings
19 ;; New variables
20 (defvar muse-ikiwiki-project "HCoopWiki"
21 "Name of the project to publish using ikiwiki.")
22 (defvar muse-ikiwiki-source "/afs/hcoop.net/common/ikiwiki/repo"
23 "Source directory for Muse files.")
24 (defvar muse-ikiwiki-dest "/afs/hcoop.net/common/ikiwiki/dest"
25 "Destination directory for published files.")
27 ;; Project listing
28 (setq muse-project-alist
29 `((,muse-ikiwiki-project
30 (,@(muse-project-alist-dirs muse-ikiwiki-source))
31 ;; Publish this directory and its subdirectories. Arguments
32 ;; are as follows. The above `muse-project-alist-dirs' part
33 ;; is also needed.
34 ;; 1. Source directory
35 ;; 2. Output directory
36 ;; 3. Publishing style
37 ;; remainder: Other things to put in every generated style
38 ,@(muse-project-alist-styles muse-ikiwiki-source
39 muse-ikiwiki-dest
40 "ikiwiki"))))
42 ;; Wiki settings
43 (setq muse-wiki-allow-nonexistent-wikiword t
44 muse-wiki-match-all-project-files t
45 muse-wiki-interwiki-delimiter "::")
46 (add-to-list 'muse-publish-desc-transforms 'muse-wiki-publish-pretty-interwiki)
47 (add-to-list 'muse-publish-desc-transforms 'muse-wiki-publish-pretty-title)
48 (setq muse-wiki-interwiki-alist
49 '(("EmacsWiki" . "http://www.emacswiki.org/cgi-bin/wiki/")
50 ("UbuntuLinux" . "http://ubuntulinux.org/")))
52 ;; Permitted modes for <src> to colorize
53 (setq muse-html-src-allowed-modes
54 '("ada" "apache" "asm" "awk" "c++" "c" "cc" "change-log" "context"
55 "css" "diary" "diff" "dns" "domtool" "emacs-lisp" "f90" "fortran"
56 "fundamental" "html" "java" "jython" "latex" "lisp" "lua" "m4"
57 "makefile" "markdown" "matlab" "maxima" "message" "modula-2" "muse"
58 "nroff" "octave" "org" "outline" "pascal" "perl" "ps" "python" "rst"
59 "ruby" "scheme" "sgml" "sh" "slang" "sml" "sml-cm" "sml-lex" "sml-yacc"
60 "sql" "tcl" "tex" "texinfo" "xml" "zone"))
61 ;; In case someone does <src lang="muse">
62 (setq muse-colors-evaluate-lisp-tags nil
63 muse-colors-inline-images nil)
64 ;; In case someone does <src lang="org">
65 (require 'org)
66 (setq org-inhibit-startup t
67 org-table-formula-evaluate-inline nil)
69 ;; Don't allow dangerous tags to be published
70 (setq muse-publish-enable-dangerous-tags nil)
72 ;;; Custom variables
74 (custom-set-variables
75 '(muse-html-charset-default "utf-8")
76 '(muse-html-encoding-default (quote utf-8))
77 '(muse-html-meta-content-encoding (quote utf-8))
78 '(muse-publish-comments-p t)
79 '(muse-publish-date-format "%b. %e, %Y"))
80 (custom-set-faces
81 '(muse-bad-link ((t (:foreground "DeepPink" :underline "DeepPink" :weight bold)))))
83 ;;; muse-init-project.el ends here