Markdown Extension for hgweb

Similar to GitHub, this module looks for a file named or ReadMe.markdown (case insensitive).

A custom theme is provided that displays the formatted contents on the summary (index) view.

In addition to showing formatted information on the summary view, this module replaces the default file view for .md or .markdown files, enabling you to use the WikiLinks extension to support documentation split across several pages.

You can add relative links to nested pages, or to current headers, or even to images (actually at BitBucket relative links are broken and you don't see logo, but hgext.markdown can do it :)



  1. Install Python-Markdown (
  2. Clone this repository to /example/hgext.markdown
  3. Add the following to your hgweb config


# Must be absolute path
templates = /example/hgext.markdown/templates
style = markdown
#optional; 'tip' is default value.
markdown.changeid = tip
#optional; use in with TortoiseHG or Windows
#markdown.egg = Markdown-2.3.1

Usage with TortoiseHg or Windows

If you want to use this extension with TortoiseHg or Windows, you will need to obtain the python markdown package, put into extension directory and uncomment markdown.egg in config file


You can preview changes in your working copy before committing them by browsing to e.g. http://localhost:8000/preview/ReadMe.markdown.


This extension enables users with commit/push access to hgweb to create arbitrary html content that may be browsed by other users. At this time no attempt has been made to detect or prevent attacks such as cross-site scripting (xss) and other types of attacks. In general this extension should only be used if you trust all users with push access.