An Emacs mode for authoring Coleslaw posts and pages.

Beta: Version 0.2.4

Mode for editing Coleslaw files.

What does it do?

When opening a new .page or .post file, coleslaw mode will help you insert the metadata headers for the post. It will also help you choose the right mode, based on the format style for the page. All this is done automatically when a file is opened after changing the "format: " field.

Example metadata header:
title: Example
format: md (coleslaw-mode prevents wrong format values)
date: 1970-01-01 (automatically the current date)

This prevents errors when writing the header, and the mode dispatch prevents typing "M-x markdown-mode" or a similar mode-setting commands when opening a file for Coleslaw.

How do I install it?

Either from source (via Quelpa) or from Melpa, once coleslaw-mode is accepted in this version of Melpa. Putting this in your init file:
is enough to get you setup with the standard mode decisions of the author. You might need to install the dependencies. See them in the coleslaw-modes variable.

Optional Dependencies
  • For markdown syntax highlighting, markdown-mode.
  • For a preview of the markdown, Markdown-preview-eww (via (M/Q)elpa).
  • Note that the eww (Emacs Web Wowser) has special OS level dependencies.

How do I customize it?

If you don't like (coleslaw-setup) then consider modifying


for choosing which modes to dispatch based on the header.

(add-to-list 'auto-insert-alist '(".coleslaw" . coleslaw-insert-header))
(add-to-list 'auto-mode-alist '("\\.coleslaw\\'" . coleslaw-mode))

are helpful templates for adding file types (in this case replace .coleslaw with the file type of choice).

There are some configuration choices not built into the default setup, since they are not conservative enough choices:

  • Markdown live preview for md, generates a web browser buffer to help you edit.
  • Lisp has a number of editing modes (useful with cl-who) which overlap to a great extent and are highly personal. Add them as hooks to lisp-mode, or write your own coleslaw-default-format-modes.


Coleslaw-mode is still an early project. It doesn't have (but would be nice to have) customizable variables, realtime integration with slime or sly, realtime integration with colesleaw, better and/or autogenerated docs, be added to popular code repos, and is generally unfinished and buggy. The TODO is a good place to start.

Coleslaw has a channel on freenode: #coleslaw

Coleslaw might get a mailing list at some point, and if it did, you could subscribe.

Edit documentation


  • Bind emacs commands for interacting with coleslaw via slime and sly. For example: to push up the code, or to commit it.
  • Add org-mode to coleslaw and coleslaw-mode
  • Customizable variables via Emac's customization utility
  • Realtime coleslaw generation, like with markdown-live-preview modes.
  • Autogenerated docs
  • Get on Melpa.
  • Fix/categorize/report bugs (github issues).
in: release

Spenser Truex

hacker emblem
| |