From a9cd895467b3caa08d585458fdcbcc5525356493 Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Tue, 24 Jan 2012 07:57:58 -0500 Subject: Fixes #64. Added sane_list extension. This is an extension which alters the behavior of lists to be less surprising. If turned out to be rather simple to code. I'm surprised no one had written it yet. I should note that this extension does not generate separate lists if different unordered list markers are used (`*` verses `-` verses `+`) The way the parser works that would be a little more tricky. --- docs/extensions/index.md | 1 + docs/extensions/sane_lists.md | 75 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 docs/extensions/sane_lists.md (limited to 'docs') diff --git a/docs/extensions/index.md b/docs/extensions/index.md index 7ab2414..82f00a4 100644 --- a/docs/extensions/index.md +++ b/docs/extensions/index.md @@ -40,6 +40,7 @@ available to you. * [Meta-Data](meta_data.html) * [New Line to Break](nl2br.html) * [RSS](rss.html) +* [Sane Lists](sane_lists.html) * [Table of Contents](toc.html) * [WikiLinks](wikilinks.html) diff --git a/docs/extensions/sane_lists.md b/docs/extensions/sane_lists.md new file mode 100644 index 0000000..b1c1d06 --- /dev/null +++ b/docs/extensions/sane_lists.md @@ -0,0 +1,75 @@ +Sane Lists +---------- + +Summary +------- + +The Sane Lists Extension alters the behavior of the Markdown List syntax +to be less surprising. + +This extension is included in the standard Markdown library. + +Syntax +------ + +Sane Lists do not allow the mixing of list types. In other words, an ordered +list will not continue when an unordered list item is encountered and +vice versa. For example: + + 1. Ordered item 1 + 2. Ordered item 2 + + * Unordered item 1 + * Unordered item 2 + +will result in the following output: + +
    +
  1. Ordered item 1
  2. +
  3. Ordered item 2
  4. +
+ + + +Whereas the default Markdown behavior would be to generate an unordered list. + +Note that, unlike the default Markdown behavior, if a blank line is not +included between list items, the different list type is ignored completely. +This corresponds to the behavior of paragraphs. For example: + + A Paragraph. + * Not a list item. + + 1. Ordered list item. + * Not a separate list item. + +With this extension the above will result in the following output: + +

A Paragraph. + * Not a list item.

+ +
    +
  1. Ordered list item. + * Not a separate list item.
  2. +
+ +In all other ways, Sane Lists should behave as normal Markdown lists. + +Usage +----- + +From the Python interpreter: + + >>> html = markdown.markdown(text, ['sane_lists']) + +To use with other extensions, just add them to the list, like this: + + >>> html = markdown.markdown(text, ['def_list', 'sane_lists']) + +The extension can also be called from the command line using Markdown's `-x` +parameter: + + python -m markdown -x sane_lists source.txt > output.html -- cgit v1.2.3