Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


ecco is a literate-programming style documentation generator for emacs. Its a port of the very excellent docco.

Docco is mainly for javascript, and already has many language-specific ports like shocco for shell-scripts, rocco for ruby, among others.

The idea is to write comments and in-code documentation as markdown, and, then type M-x ecco and see pretty docs in your browser.

To understand what it does, look here for ecco-generated documentation for the ecco program itself.

An advantage of ecco is that it uses emacs's built-in comment processing funcionality and highlighting functionality and so it works for any language.

Installation and usage

To get it

$ pwd
$ git clone git://

Then, in your .emacs or .emacs.d/init.el

(require 'ecco)

Skip the next line if you have a "markdown" program in your path

(setq ecco-markdown-program "/path/to/your/markdown/interpreter")

Inside emacs, open any file where you have comments as markdown, try this

M-x ecco

To generate documentation for many files try

M-x ecco-files

I haven't (yet) included ecco in any package-management system (plan to do so soon, el-get and melpa are good candidates)

A good markdown interpreter

If you have a working markdown interpreter in your path, you can skip the next step. Otherwise a good, fast markdown interpreter for many operating systems, including Windows, is peg-markdown. So once you have installed it, add this line to .emacs as well.

Some notes

For the moment, ecco, still depends on an external markdown program that you may have to install in your system and configure ecco to use it by setting the variable ecco-markdown-program.

In the future I'll try to make it work with org-mode, which is included with recent emacsen and provides mechanisms for exporting to html alternatively maybe someone wants to write a markdown interpreter in emacs-lisp!


ecco is a port of docco for emacs







No releases published


No packages published