Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install mdx-sections

How to install mdx_sections

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install mdx-sections
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.1 Available View build log
Windows (64-bit)
0.1 Available View build log
Mac OS X (10.5+)
0.1 Available View build log
Linux (32-bit)
0.1 Available View build log
Linux (64-bit)
0.1 Available View build log
Lastest release
version 0.1 on May 23rd, 2012



This module is an extension to Python-Markdown which provides the ability to add a small amount of structure to your Markdown documents.

There are two premises underlying the operation of this extension:

  • Each heading element indicates the start of a new document section.
  • Document sections can be nested, and the parent of a document section is the section created by the first preceding heading element with a higher order e.g. an h2 section is contained by the heading block appearing prior to it which corresponds to an h1. If there is no such element, then it is a child of the root element.

The new section (a containing div element) can be configured to have an specific id and class attribute. The syntax is:

# {id,class} Title

Both id and class are optional, the contaaining div element will always be created as long as this extension is enabled.

One example should make this clear. Suppose the following input document is provided:

# {resume} Resumé

## {education} Education
Educational experience

## {experience} Working Experience
Work experience

### {xyz_corp,employer} XYZ Corp.
I worked at XYZ

### {acme_inc,employer} Acme Inc.
I also worked at Acme

## Hobbies
- Cards
- Books
- Dogs

### About _my_ hobbies
My hobbies are great.

This would transform to become:

<div class="section" id="section_resume">
  <h1 class="title">Resum&eacute;</h1>
  <div class="section" id="section_education">
    <h2 class="title">Education</h2>
    <p>Educational experience</p>
  <div class="section" id="section_experience">
    <h2 class="title">Working Experience</h2>
    <p>Work experience</p>
    <div class="employer" id="section_xyz_corp">
      <h3 class="title">XYZ Corp.</h3>
      <p>I worked at XYZ</p>
    <div class="employer" id="section_acme_inc">
      <h3 class="title">Acme Inc.</h3>
      <p>I also worked at Acme</p>
  <div class="section">
    <h2 class="title">Hobbies</h2>
    <div class="section">
      <h3 class="title">About <em>my</em> hobbies</h3>
      <p>My hobbies are great.</p>

The resulting document is, IMO, semantically correct. It's also easier to style with CSS.


Install using setuptools, e.g. (within a virtualenv):

$ pip install mdx_sections

Or if you prefer to get the latest from Github:

$ git clone git://github.com/jessedhillon/mdx_sections.git

For an extended introduction to Python-Markdown extensions, see the documentation http://freewisdom.org/projects/python-markdown/Extensions.

This extension is available by the short name of sections, and it has two config parameters:

  • section_cls, defaults to section. This is the default CSS class applied to a generated div, when the Markdown document does not specify one.
  • heading_cls, defaults to title. This is the default CSS class applied to the h[1-6] element which is being transformed.



22 Feb 2012

  • Initial public release.

Subscribe to package updates

Last updated May 23rd, 2012

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.