Looking back over my old posts, I found I didn’t cover basic muse setup at the time when I did my original muse series.
As I’ve mentioned previously, I generate the html (including the funky syntax highlighting) for my posts and squidoo lenses using muse with htmlize.
The first thing I do with most third party modules, is I add the require lines and the paths I need.
(load "my-vars.el") (defconst *elisp-muse* (concat *elisp-3rd* "/muse-3.12/lisp")) (add-to-list 'load-path *elisp-muse*) (require 'htmlize) (require 'muse-mode) (require 'muse-publish) (require 'muse-html)
my-var.el contains constants pointing to the top-level directories (I still haven’t got around to putting everything under
(defconst *elisp-dir* (expand-file-name "~/emacs-files")) (defconst *elisp-3rd* (concat *elisp-dir* "/third-party")) (provide 'my-vars)
I use a couple of minor modes together with muse which are added to
muse-mode-hook. (Note, I’m still using longlines-mode as at work I’m unable to use emacs23 where
visual-line-mode was introduced)
(defun muse-minor-modes () (longlines-mode 1) (flyspell-mode 1) (font-lock-mode 0)) (add-hook 'muse-mode-hook 'muse-minor-modes)
And I like publishing to be activated by a single key.
(defun my-muse-publish () (interactive) (muse-publish-file (buffer-file-name) "html")) (define-key muse-mode-map [f7] 'my-muse-publish)