Skip to content

Instantly share code, notes, and snippets.

@mitya57
Created July 26, 2013 05:29
Show Gist options
  • Save mitya57/6086532 to your computer and use it in GitHub Desktop.
Save mitya57/6086532 to your computer and use it in GitHub Desktop.
Python-Markdown docs diff
diff --git a/build/docs/change_log.html b/build/docs/change_log.html
index 93b91a1..c4e620f 100644
--- a/build/docs/change_log.html
+++ b/build/docs/change_log.html
@@ -47,12 +47,12 @@ Broken up into multiple files.</p>
<p>Oct 2008: Changed logging behavior to work better with other systems.
Refactored tree tarversing. Added treap implementation, then replaced with
OrderedDEict. Renamed various processors to better reflect what they actually
-do. Refactored footnote ext to match php Extra's output.</p>
+do. Refactored footnote ext to match php Extra&rsquo;s output.</p>
<p>Sept 2008: Moved prettifyTree to a Postprocessor, replaced wikilink ext
with wikilinks (note the s) ext (uses bracketed links instead of CamelCase)
and various bug fixes.</p>
-<p>August 18 2008: Reorganized directory structure. Added a 'docs' dir
-and moved all extensions into a 'markdown-extensions' package.
+<p>August 18 2008: Reorganized directory structure. Added a &lsquo;docs&rsquo; dir
+and moved all extensions into a &lsquo;markdown-extensions&rsquo; package.
Added additional documentation and a few bug fixes. (v2.0-beta)</p>
<p>August 4 2008: Updated included extensions to ElementTree. Added a
seperate commanline script. (v2.0-alpha)</p>
@@ -76,7 +76,7 @@ template syntax.</p>
and markdown as per list discussion. Clean up in prep for 1.7.</p>
<p>Nov 29, 2007: Added support for images inside links. Also fixed
a few bugs in the footnote extension.</p>
-<p>Nov 19, 2007: <code>message</code> now uses python's logging module. Also removed
+<p>Nov 19, 2007: <code>message</code> now uses python&rsquo;s logging module. Also removed
limit imposed by recursion in <code>_process_section()</code>. You can now parse as
long of a document as your memory can handle.</p>
<p>Nov 5, 2007: Moved safe_mode code to a textPostprocessor and added
@@ -89,15 +89,15 @@ blockquotes. Refactored _processSection method (see tracker #1793419).</p>
<p>Oct 9, 2007: Added textPreprocessor (from 1.6b).</p>
<p>Oct 8, 2008: Fixed Lazy Blockquote. Fixed code block on first line.
Fixed empty inline image link.</p>
-<p>Oct 7, 2007: Limit recursion on inlinePatterns. Added a 'safe' tag
+<p>Oct 7, 2007: Limit recursion on inlinePatterns. Added a &lsquo;safe&rsquo; tag
to htmlStash.</p>
<p>March 18, 2007: Fixed or merged a bunch of minor bugs, including
multi-line comments and markup inside links. (Tracker #s: 1683066,
1671153, 1661751, 1627935, 1544371, 1458139.) -&gt; v. 1.6b</p>
<p>Oct 10, 2006: Fixed a bug that caused some text to be lost after
-comments. Added "safe mode" (user's html tags are removed).</p>
+comments. Added &ldquo;safe mode&rdquo; (user&rsquo;s html tags are removed).</p>
<p>Sept 6, 2006: Added exception for PHP tags when handling html blocks.</p>
-<p>August 7, 2006: Incorporated Sergej Chodarev's patch to fix a problem
+<p>August 7, 2006: Incorporated Sergej Chodarev&rsquo;s patch to fix a problem
with ampersand normalization and html blocks.</p>
<p>July 10, 2006: Switched to using optparse. Added proper support for
unicode.</p>
@@ -111,12 +111,12 @@ Swartz). Sourceforge tracker #s: 1489313, 1489312, 1489311, 1488370,
<p>Mar. 24, 2006: Switched to a not-so-recursive algorithm with
_handleInline. (Version 1.4)</p>
<p>Mar. 15, 2006: Replaced some instance variables with class variables
-(a patch from Stelios Xanthakis). Chris Clark's new regexps that do
+(a patch from Stelios Xanthakis). Chris Clark&rsquo;s new regexps that do
not trigger midword underlining.</p>
<p>Feb. 28, 2006: Clean-up and command-line handling by Stewart
Midwinter. (Version 1.3)</p>
<p>Feb. 24, 2006: Fixed a bug with the last line of the list appearing
-again as a separate paragraph. Incorporated Chris Clark's "mailto"
+again as a separate paragraph. Incorporated Chris Clark&rsquo;s &ldquo;mailto&rdquo;
patch. Added support for <code>&lt;br /&gt;</code> at the end of lines ending in two or
more spaces. Fixed a crashing bug when using ImageReferencePattern.
Added several utility methods to Nanodom. (Version 1.2)</p>
@@ -128,9 +128,9 @@ getting wrapped in <code>&lt;pre&gt;&lt;code&gt;</code>. (v. 1.1)</p>
HTML tags.</p>
<p>Nov. 14, 2005: Added entity code and email autolink fix by Tiago
Cogumbreiro. Fixed some small issues with backticks to get 100%
-compliance with John's test suite. (v. 1.0)</p>
+compliance with John&rsquo;s test suite. (v. 1.0)</p>
<p>Nov. 7, 2005: Added an unlink method for documents to aid with memory
-collection (per Doug Sauder's suggestion).</p>
+collection (per Doug Sauder&rsquo;s suggestion).</p>
<p>Oct. 29, 2005: Restricted a set of html tags that get treated as
block-level elements.</p>
<p>Sept. 18, 2005: Refactored the whole script to make it easier to
@@ -154,8 +154,8 @@ multi-line list items and all sorts of nesting.</p>
<p>Feb. 3, 2005: Reference-style links, single-line lists, backticks,
escape, emphasis in the beginning of the paragraph.</p>
<p>Nov. 2004: Added links, blockquotes, html blocks to Manfred
-Stienstra's code</p>
-<p>Apr. 2004: Manfred's version at <a href="http://www.dwerg.net/projects/markdown/">http://www.dwerg.net/projects/markdown/</a></p>
+Stienstra&rsquo;s code</p>
+<p>Apr. 2004: Manfred&rsquo;s version at <a href="http://www.dwerg.net/projects/markdown/">http://www.dwerg.net/projects/markdown/</a></p>
</div> <!-- .body -->
</div> <!-- .bodywrapper -->
</div> <!-- .documentwrapper -->
diff --git a/build/docs/cli.html b/build/docs/cli.html
index bd0fcde..7fbbd3a 100644
--- a/build/docs/cli.html
+++ b/build/docs/cli.html
@@ -33,11 +33,11 @@
<p>While Python-Markdown is primarily a python library, a command line script is
included as well. While there are many other command line implementations
of Markdown, you may not have them installed, or you may prefer to use
-Python-Markdown's various extensions.</p>
+Python-Markdown&rsquo;s various extensions.</p>
<p>Generally, you will want to have the Markdown library fully installed on your
system to run the command line script. See the
<a href="install.html">Installation instructions</a> for details.</p>
-<p>Python-Markdown's command line script takes advantage of Python's <code>-m</code> flag.
+<p>Python-Markdown&rsquo;s command line script takes advantage of Python&rsquo;s <code>-m</code> flag.
Therefore, assuming the python executable is on your system path, use the
following format:</p>
<pre><code>$ python -m markdown [options] [args]
@@ -61,38 +61,38 @@ For example:</p>
<p>Use the <code>--help</code> option for a list all available options and args:</p>
<pre><code>$ python -m markdown --help
</code></pre>
-<p>If you don't want to call the python executable directly (using the <code>-m</code> flag),
+<p>If you don&rsquo;t want to call the python executable directly (using the <code>-m</code> flag),
follow the instructions below to use a wrapper script:</p>
<h2 id="setup">Setup</h2>
<p>Upon installation, the <code>markdown_py</code> script will have been copied to
-your Python "Scripts" directory. Different systems require different methods to
-ensure that any files in the Python "Scripts" directory are on your system
+your Python &ldquo;Scripts&rdquo; directory. Different systems require different methods to
+ensure that any files in the Python &ldquo;Scripts&rdquo; directory are on your system
path.</p>
<ul>
<li>
<p><strong>Windows</strong>:</p>
-<p>Assuming a default install of Python on Windows, your "Scripts" directory
+<p>Assuming a default install of Python on Windows, your &ldquo;Scripts&rdquo; directory
is most likely something like <code>C:\\Python26\Scripts</code>. Verify the location
-of your "Scripts" directory and add it to you system path.</p>
+of your &ldquo;Scripts&rdquo; directory and add it to you system path.</p>
<p>Calling <code>markdown_py</code> from the command line will call the wrapper batch
-file <code>markdown_py.bat</code> in the "Scripts" directory created during install.</p>
+file <code>markdown_py.bat</code> in the &ldquo;Scripts&rdquo; directory created during install.</p>
</li>
<li>
<p><strong>*nix</strong> (Linux, OSX, BSD, Unix, etc.):</p>
-<p>As each *nix distribution is different and we can't possibly document all
-of them here, we'll provide a few helpful pointers:</p>
+<p>As each *nix distribution is different and we can&rsquo;t possibly document all
+of them here, we&rsquo;ll provide a few helpful pointers:</p>
<ul>
<li>
<p>Some systems will automatically install the script on your path. Try it
and see if it works. Just run <code>markdown_py</code> from the command line.</p>
</li>
<li>
-<p>Other systems may maintain a separate "Scripts" ("bin") directory which
+<p>Other systems may maintain a separate &ldquo;Scripts&rdquo; (&ldquo;bin&rdquo;) directory which
you need to add to your path. Find it (check with your distribution) and
either add it to your path or make a symbolic link to it from your path.</p>
</li>
<li>
-<p>If you are sure <code>markdown_py</code> is on your path, but it still isn't being
+<p>If you are sure <code>markdown_py</code> is on your path, but it still isn&rsquo;t being
found, check the permissions of the file and make sure it is executable.</p>
</li>
</ul>
@@ -104,11 +104,11 @@ more convenient to have <code>markdown_py</code> on your path.</p>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
-<p>Python-Markdown uses "markdown_py" as a script name because
-the Perl implementation has already taken the more obvious name "markdown".
+<p>Python-Markdown uses &ldquo;markdown_py&rdquo; as a script name because
+the Perl implementation has already taken the more obvious name &ldquo;markdown&rdquo;.
Additionally, the default Python configuration on some systems would cause a
-script named "markdown.py" to fail by importing itself rather than the markdown
-library. Therefore, the script has been named "markdown_py" as a compromise. If
+script named &ldquo;markdown.py&rdquo; to fail by importing itself rather than the markdown
+library. Therefore, the script has been named &ldquo;markdown_py&rdquo; as a compromise. If
you prefer a different name for the script on your system, it is suggested that
you create a symbolic link to <code>markdown_py</code> with your preferred name.</p>
</div>
diff --git a/build/docs/extensions/abbreviations.html b/build/docs/extensions/abbreviations.html
index c536b24..c776877 100644
--- a/build/docs/extensions/abbreviations.html
+++ b/build/docs/extensions/abbreviations.html
@@ -62,7 +62,7 @@ is maintained by the &lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&
<p>To use with other extensions, just add them to the list, like this:</p>
<pre><code>&gt;&gt;&gt; html = markdown.markdown(text, ['abbr', 'footnotes'])
</code></pre>
-<p>Abbreviations can also be called from the command line using Markdown's <code>-x</code>
+<p>Abbreviations can also be called from the command line using Markdown&rsquo;s <code>-x</code>
parameter, like so:</p>
<pre><code>python -m markdown -x abbr source.txt &gt; output.html
</code></pre>
diff --git a/build/docs/extensions/admonition.html b/build/docs/extensions/admonition.html
index cc7b8b9..cc9947b 100644
--- a/build/docs/extensions/admonition.html
+++ b/build/docs/extensions/admonition.html
@@ -67,7 +67,7 @@ single word. So, for instance:</p>
&lt;p&gt;...&lt;/p&gt;
&lt;/div&gt;
</code></pre>
-<p>If you don't want a title, use a blank string <code>""</code>:</p>
+<p>If you don&rsquo;t want a title, use a blank string <code>""</code>:</p>
<pre><code>!!! important ""
This is a admonition box without a title.
</code></pre>
@@ -76,7 +76,7 @@ single word. So, for instance:</p>
&lt;p&gt;This is a admonition box without a title.&lt;/p&gt;
&lt;/div&gt;
</code></pre>
-<p>rST suggests the following <code>types</code>, but you're free to use whatever you want:
+<p>rST suggests the following <code>types</code>, but you&rsquo;re free to use whatever you want:
attention, caution, danger, error, hint, important, note, tip, warning.</p>
<h2 id="styling">Styling</h2>
<p>There is no CSS included as part of this extension. Look up the default
diff --git a/build/docs/extensions/api.html b/build/docs/extensions/api.html
index 30d83fd..b2f83f8 100644
--- a/build/docs/extensions/api.html
+++ b/build/docs/extensions/api.html
@@ -113,7 +113,7 @@ emphasis = EmphasisPattern(MYPATTERN)
<p>Actually it would not be necessary to create that pattern (and not just because
a more sophisticated emphasis pattern already exists in Markdown). The fact is,
that example pattern is not very DRY. A pattern for <code>**strong**</code> text would
-be almost identical, with the exception that it would create a 'strong' element.
+be almost identical, with the exception that it would create a &lsquo;strong&rsquo; element.
Therefore, Markdown provides a number of generic pattern classes that can
provide some common functionality. For example, both emphasis and strong are
implemented with separate instances of the <code>SimpleTagPattern</code> listed below.
@@ -126,12 +126,12 @@ Feel free to use or extend any of the Pattern classes found at <code>markdown.in
</li>
<li>
<p><strong><code>SimpleTagPattern(pattern, tag)</code></strong>:</p>
-<p>Returns an element of type "<code>tag</code>" with a text attribute of <code>group(3)</code>
-of a <code>pattern</code>. <code>tag</code> should be a string of a HTML element (i.e.: 'em').</p>
+<p>Returns an element of type &rdquo;<code>tag</code>&rdquo; with a text attribute of <code>group(3)</code>
+of a <code>pattern</code>. <code>tag</code> should be a string of a HTML element (i.e.: &lsquo;em&rsquo;).</p>
</li>
<li>
<p><strong><code>SubstituteTagPattern(pattern, tag)</code></strong>:</p>
-<p>Returns an element of type "<code>tag</code>" with no children or text (i.e.: 'br').</p>
+<p>Returns an element of type &rdquo;<code>tag</code>&rdquo; with no children or text (i.e.: &lsquo;br&rsquo;).</p>
</li>
</ul>
<p>There may be other Pattern classes in the Markdown source that you could extend
@@ -173,7 +173,7 @@ class TocPostprocessor(Postprocessor):
return MYMARKERRE.sub(MyToc, text)
</code></pre>
<h2 id="blockparser">BlockParser</h2>
-<p>Sometimes, pre/tree/postprocessors and Inline Patterns aren't going to do what
+<p>Sometimes, pre/tree/postprocessors and Inline Patterns aren&rsquo;t going to do what
you need. Perhaps you want a new type of block type that needs to be integrated
into the core parsing. In such a situation, you can add/change/remove
functionality of the core <code>BlockParser</code>. The BlockParser is composed of a
@@ -186,7 +186,7 @@ adds/modifies Blockprocessors.</p>
and implement both the <code>test</code> and <code>run</code> methods.</p>
<p>The <code>test</code> method is used by BlockParser to identify the type of block.
Therefore the <code>test</code> method must return a boolean value. If the test returns
-<code>True</code>, then the BlockParser will call that Blockprocessor's <code>run</code> method.
+<code>True</code>, then the BlockParser will call that Blockprocessor&rsquo;s <code>run</code> method.
If it returns <code>False</code>, the BlockParser will move on to the next
BlockProcessor.</p>
<p>The <strong><code>test</code></strong> method takes two arguments:</p>
@@ -241,14 +241,14 @@ line of the given text string.</p>
</li>
<li>
<p><strong><code>looseDetab(text, level)</code></strong>: </p>
-<p>Removes "level" levels of indent (defaults to 1) from the front of each line
+<p>Removes &ldquo;level&rdquo; levels of indent (defaults to 1) from the front of each line
of the given text string. However, this methods allows secondary lines to
not be indented as does some parts of the Markdown syntax.</p>
</li>
</ul>
<p>Each BlockProcessor also has a pointer to the containing BlockParser instance at
<code>self.parser</code>, which can be used to check or alter the state of the parser.
-The BlockParser tracks it's state in a stack at <code>parser.state</code>. The state
+The BlockParser tracks it&lsquo;s state in a stack at <code>parser.state</code>. The state
stack is an instance of the <code>State</code> class.</p>
<p><strong><code>State</code></strong> is a subclass of <code>list</code> and has the additional methods:</p>
<ul>
@@ -268,7 +268,7 @@ the stack.</p>
<code>state</code>.</p>
</li>
</ul>
-<p>Note that to ensure that the state stack doesn't become corrupted, each time a
+<p>Note that to ensure that the state stack doesn&rsquo;t become corrupted, each time a
state is set for a block, that state <em>must</em> be reset when the parser finishes
parsing that block.</p>
<p>An instance of the <strong><code>BlockParser</code></strong> is found at <code>Markdown.parser</code>.
@@ -323,7 +323,7 @@ then insert the text as an <code>AtomicString</code>.</p>
<pre><code>from markdown.util import AtomicString
some_element.text = AtomicString(some_text)
</code></pre>
-<p>Here's a basic example which creates an HTML table (note that the contents of
+<p>Here&rsquo;s a basic example which creates an HTML table (note that the contents of
the second cell (<code>td2</code>) will be run through InlinePatterns latter):</p>
<pre><code>table = etree.Element("table")
table.set("cellpadding", "2") # Set cellpadding to 2
@@ -415,7 +415,7 @@ class MyExtension(Extension):
md.inlinePatterns.add('mypattern', MyPattern(md), '&lt;references')
</code></pre>
<h3 id="ordereddict">OrderedDict</h3>
-<p>An OrderedDict is a dictionary like object that retains the order of it's
+<p>An OrderedDict is a dictionary like object that retains the order of it&lsquo;s
items. The items are ordered in the order in which they were appended to
the OrderedDict. However, an item can also be inserted into the OrderedDict
in a specific location in relation to the existing items.</p>
@@ -465,23 +465,23 @@ helper method <code>add()</code> to add additional items to an existing OrderedD
</code></pre>
<p>Note that when building an OrderedDict in order, the extra features of the
<code>add</code> method offer no real value and are not necessary. However, when
-manipulating an existing OrderedDict, <code>add</code> can be very helpful. So let's
+manipulating an existing OrderedDict, <code>add</code> can be very helpful. So let&lsquo;s
insert another item into the OrderedDict.</p>
<pre><code>&gt;&gt;&gt; od.add('two', 2, '&gt;one') # Insert after 'one'
&gt;&gt;&gt; od.values()
[1, 2, 3, 4]
</code></pre>
-<p>Now let's insert another item.</p>
+<p>Now let&lsquo;s insert another item.</p>
<pre><code>&gt;&gt;&gt; od.add('twohalf', 2.5, '&lt;three') # Insert before 'three'
&gt;&gt;&gt; od.keys()
["one", "two", "twohalf", "three", "four"]
</code></pre>
-<p>Note that we also could have set the location of "twohalf" to be 'after two'
-(i.e.: <code>'&gt;two'</code>). However, it's unlikely that you will have control over the
+<p>Note that we also could have set the location of &ldquo;twohalf&rdquo; to be &lsquo;after two&rsquo;
+(i.e.: <code>'&gt;two'</code>). However, it&lsquo;s unlikely that you will have control over the
order in which extensions will be loaded, and this could affect the final
sorted order of an OrderedDict. For example, suppose an extension adding
-'twohalf' in the above examples was loaded before a separate extension which
-adds 'two'. You may need to take this into consideration when adding your
+&lsquo;twohalf&rsquo; in the above examples was loaded before a separate extension which
+adds &lsquo;two&rsquo;. You may need to take this into consideration when adding your
extension components to the various markdown OrderedDicts.</p>
<p>Once an OrderedDict is created, the items are available via key:</p>
<pre><code>MyNode = od['somekey']
@@ -519,7 +519,7 @@ called on extensions that are registered.</p>
<p>Then, each time <code>reset</code> is called on the Markdown instance, the <code>reset</code>
method of each registered extension will be called as well. You should also
note that <code>reset</code> will be called on each registered extension after it is
-initialized the first time. Keep that in mind when over-riding the extension's
+initialized the first time. Keep that in mind when over-riding the extension&rsquo;s
<code>reset</code> method.</p>
<h3 id="configsettings">Config Settings</h3>
<p>If an extension uses any parameters that the user may want to change,
@@ -549,7 +549,7 @@ md = markdown.Markdown(extensions=[myext])
</code></pre>
<p>This is especially useful if you need to implement a large number of extensions
with more than one residing in a module.</p>
-<p>However, for historical reasons, Markdown also accepts "named" third party
+<p>However, for historical reasons, Markdown also accepts &ldquo;named&rdquo; third party
extensions. In that case, only one extension can be defined per module
and that extension must define a module-level function called
<code>makeExtension</code> that takes an optional parameter consisting of a dictionary
@@ -560,19 +560,19 @@ of configuration over-rides and returns an instance of the extension. For examp
def makeExtension(configs=None):
return MyExtension(configs=configs)
</code></pre>
-<p>When Markdown is passed the "name" of your extension as a string, it will import
+<p>When Markdown is passed the &ldquo;name&rdquo; of your extension as a string, it will import
the module and call the <code>makeExtension</code> function to initiate your extension.</p>
-<p>The "name" of your extension must be a string consisting of the importable path to
-your module using Python's dot notation. Therefore, if you are providing a library
+<p>The &ldquo;name&rdquo; of your extension must be a string consisting of the importable path to
+your module using Python&rsquo;s dot notation. Therefore, if you are providing a library
to your users and would like to include a custom markdown extensions within your
library, that extension would be named <code>"mylib.mdext.myext"</code> where <code>mylib/mdext/myext.py</code>
contains the <code>makeExtension</code> function and the <code>mylib</code> directory is on the PYTHONPATH.</p>
<p>You may have noted that the extensions packaged with Python-Markdown do not
-use Python's dot notation in their names. This is because they are
-all part of the <code>markdown.extensions</code> package. If a "name" contains any dots
+use Python&rsquo;s dot notation in their names. This is because they are
+all part of the <code>markdown.extensions</code> package. If a &ldquo;name&rdquo; contains any dots
(<code>.</code>), then it will be imported as-is. Otherwise, Markdown will first try to
import from <code>markdown.extensions.extname</code> and upon failure, <code>mdx_extname</code> where
-<code>"extname"</code> is the "name" passed to Markdown.</p>
+<code>"extname"</code> is the &ldquo;name&rdquo; passed to Markdown.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>While the <code>mdx_extname</code> method of naming extensions is still supported, it
diff --git a/build/docs/extensions/attr_list.html b/build/docs/extensions/attr_list.html
index c68f1c7..bffefad 100644
--- a/build/docs/extensions/attr_list.html
+++ b/build/docs/extensions/attr_list.html
@@ -33,10 +33,10 @@
<h1 id="attribute-lists">Attribute Lists</h1>
<h2 id="summary">Summary</h2>
<p>An extension to Python-Markdown that adds a syntax to define attributes on
-the various HTML elements in markdown's output.</p>
+the various HTML elements in markdown&rsquo;s output.</p>
<p>This extension is included in the standard Markdown library.</p>
<h2 id="syntax">Syntax</h2>
-<p>The basic syntax was inspired by <a href="http://maruku.rubyforge.org/proposal.html#attribute_lists">Maruku</a>'s Attribute List feature.</p>
+<p>The basic syntax was inspired by <a href="http://maruku.rubyforge.org/proposal.html#attribute_lists">Maruku</a>&lsquo;s Attribute List feature.</p>
<h3 id="the-list">The List</h3>
<p>An example attribute list might look like this:</p>
<pre><code>{: #someid .someclass somekey='some value' }
diff --git a/build/docs/extensions/code_hilite.html b/build/docs/extensions/code_hilite.html
index 68d5e4d..423844b 100644
--- a/build/docs/extensions/code_hilite.html
+++ b/build/docs/extensions/code_hilite.html
@@ -57,7 +57,7 @@ block contains and each one has a different result.</p>
<p>The format of the language identifier only effects the display of line numbers
if <code>linenums</code> is set to <code>None</code> (the default). If set to <code>True</code> or <code>False</code>
(see <a href="#usage">Usage</a> below) the format of the identifier has no effect on the
-display of line numbers -- it only serves as a means to define the language
+display of line numbers &ndash; it only serves as a means to define the language
of the code block.</p>
</div>
<ul>
@@ -141,8 +141,8 @@ blocks when you explicitly request it) set the <code>guess_lang</code> setting t
... extensions=['codehilite(guess_lang=False)']
... )
</code></pre>
-<p>To assign a CSS class differant than the default ('codehilite') on the
-code's wrapping div, define a custom class with the <code>css_class</code> setting.</p>
+<p>To assign a CSS class differant than the default (&lsquo;codehilite&rsquo;) on the
+code&rsquo;s wrapping div, define a custom class with the <code>css_class</code> setting.</p>
<pre><code>&gt;&gt;&gt; html = markdown.markdown(text,
... extensions=['codehilite(css_class=myclass)']
... )
diff --git a/build/docs/extensions/definition_lists.html b/build/docs/extensions/definition_lists.html
index 7d9a6d2..24a336b 100644
--- a/build/docs/extensions/definition_lists.html
+++ b/build/docs/extensions/definition_lists.html
@@ -63,7 +63,7 @@ the family Rosaceae.&lt;/dd&gt;
<p>To use with other extensions, just add them to the list, like this:</p>
<pre><code>&gt;&gt;&gt; html = markdown.markdown(text, ['def_list', 'footnotes'])
</code></pre>
-<p>The extension can also be called from the command line using Markdown's <code>-x</code>
+<p>The extension can also be called from the command line using Markdown&rsquo;s <code>-x</code>
parameter:</p>
<pre><code>python -m markdown -x def_list source.txt &gt; output.html
</code></pre>
diff --git a/build/docs/extensions/fenced_code_blocks.html b/build/docs/extensions/fenced_code_blocks.html
index f815ea9..9fb1ea3 100644
--- a/build/docs/extensions/fenced_code_blocks.html
+++ b/build/docs/extensions/fenced_code_blocks.html
@@ -48,7 +48,7 @@ a one-line code block
<p>Fenced code blocks can have a blank line as the first and/or last line of a
code block and they can also come immediately after a list item without becoming
part of the list.</p>
-<p>In addition to PHP Extra's syntax, you can define the language of the code
+<p>In addition to PHP Extra&rsquo;s syntax, you can define the language of the code
block for use by syntax highlighters etc. The language will be assigned as a
class attribute of the <code>&lt;code&gt;</code> element in the output. Therefore, you should
define the language as you would a css class - <code>.language</code>. For consistency
@@ -69,7 +69,7 @@ brackets:</p>
&lt;pre&gt;&lt;code class="html"&gt;&amp;lt;p&amp;gt;HTML Document&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</code></pre>
-<p><a href="http://github.github.com/github-flavored-markdown/">Github</a>'s tilde (```) syntax is also supported:</p>
+<p><a href="http://github.github.com/github-flavored-markdown/">Github</a>&lsquo;s tilde (```) syntax is also supported:</p>
<pre><code>```python
# more python code
```
diff --git a/build/docs/extensions/footnotes.html b/build/docs/extensions/footnotes.html
index 19f094d..9564fa4 100644
--- a/build/docs/extensions/footnotes.html
+++ b/build/docs/extensions/footnotes.html
@@ -36,8 +36,8 @@
been included with Python-Markdown since 1.7 and should be available to anyone
who has a typical install of Python-Markdown.</p>
<h2 id="syntax">Syntax</h2>
-<p>Python-Markdown's Footnote syntax follows the generally accepted syntax of the
-Markdown community at large and almost exactly matches <a href="http://michelf.com/projects/php-markdown/extra/#footnotes">PHP Markdown Extra</a>'s
+<p>Python-Markdown&rsquo;s Footnote syntax follows the generally accepted syntax of the
+Markdown community at large and almost exactly matches <a href="http://michelf.com/projects/php-markdown/extra/#footnotes">PHP Markdown Extra</a>&lsquo;s
implementation of footnotes. The only differences involve a few subtleties in
the output.</p>
<p>Example:</p>
diff --git a/build/docs/extensions/header_id.html b/build/docs/extensions/header_id.html
index 5b850df..f7a43d2 100644
--- a/build/docs/extensions/header_id.html
+++ b/build/docs/extensions/header_id.html
@@ -32,13 +32,13 @@
<div class="body">
<h1 id="headerid">HeaderId</h1>
<h2 id="summary">Summary</h2>
-<p>An extension to Python-Markdown that automatically generates 'id' attributes
-for HTML header elements (h1-h6) in markdown's output.</p>
+<p>An extension to Python-Markdown that automatically generates &lsquo;id&rsquo; attributes
+for HTML header elements (h1-h6) in markdown&rsquo;s output.</p>
<p>This extension is included in the standard Markdown library.</p>
<h2 id="syntax">Syntax</h2>
-<p>By default, all headers will automatically have unique "id" attributes
+<p>By default, all headers will automatically have unique &ldquo;id&rdquo; attributes
generated based upon the text of the header (See below to turn this off).
-Note this example in which all three headers would have the same "id":</p>
+Note this example in which all three headers would have the same &ldquo;id&rdquo;:</p>
<pre><code>#Header
#Header
#Header
diff --git a/build/docs/extensions/index.html b/build/docs/extensions/index.html
index eeacb26..a8412e7 100644
--- a/build/docs/extensions/index.html
+++ b/build/docs/extensions/index.html
@@ -51,12 +51,12 @@ actual source files.</p>
and are officially supported by Python-Markdown. Any documentation is
maintained here and all bug reports should be made to the project. If you
have a typical install of Python-Markdown, these extensions are already
-available to you using the "name" listed in the second column below.</p>
+available to you using the &ldquo;name&rdquo; listed in the second column below.</p>
<table>
<thead>
<tr>
<th>Extension</th>
-<th>"Name"</th>
+<th>&ldquo;Name&rdquo;</th>
</tr>
</thead>
<tbody>
diff --git a/build/docs/extensions/sane_lists.html b/build/docs/extensions/sane_lists.html
index 5f4a2e5..ffed241 100644
--- a/build/docs/extensions/sane_lists.html
+++ b/build/docs/extensions/sane_lists.html
@@ -83,7 +83,7 @@ This corresponds to the behavior of paragraphs. For example:</p>
<p>To use with other extensions, just add them to the list, like this:</p>
<pre><code>&gt;&gt;&gt; html = markdown.markdown(text, ['def_list', 'sane_lists'])
</code></pre>
-<p>The extension can also be called from the command line using Markdown's <code>-x</code>
+<p>The extension can also be called from the command line using Markdown&rsquo;s <code>-x</code>
parameter:</p>
<pre><code>python -m markdown -x sane_lists source.txt &gt; output.html
</code></pre>
diff --git a/build/docs/extensions/smart_strong.html b/build/docs/extensions/smart_strong.html
index 8064e17..40d2f5c 100644
--- a/build/docs/extensions/smart_strong.html
+++ b/build/docs/extensions/smart_strong.html
@@ -49,7 +49,7 @@ u'&lt;p&gt;&lt;strong&gt;Strong&lt;/strong&gt; still works.&lt;/p&gt;'
u'&lt;p&gt;&lt;strong&gt;this__works__too&lt;/strong&gt;.&lt;/p&gt;'
</code></pre>
<p>This extension is also included with the <a href="extra.html">Extra</a> Extension. You may
-call that extension to get this behavior with all the other features of 'Extra'.</p>
+call that extension to get this behavior with all the other features of &lsquo;Extra&rsquo;.</p>
<pre><code>&gt;&gt;&gt; markdown.markdown(text, extensions=['extra'])
</code></pre>
</div> <!-- .body -->
diff --git a/build/docs/extensions/smarty.html b/build/docs/extensions/smarty.html
index fcc6bf2..468da5e 100644
--- a/build/docs/extensions/smarty.html
+++ b/build/docs/extensions/smarty.html
@@ -101,7 +101,7 @@ their HTML entity equivalents.</p>
</code></pre>
<h2 id="further-reading">Further reading</h2>
<p>SmartyPants extension is based on the original SmartyPants implementation
-by John Gruber. Please read it's <a href="http://daringfireball.net/projects/smartypants/">documentation</a> for details.</p>
+by John Gruber. Please read it&lsquo;s <a href="http://daringfireball.net/projects/smartypants/">documentation</a> for details.</p>
</div> <!-- .body -->
</div> <!-- .bodywrapper -->
</div> <!-- .documentwrapper -->
diff --git a/build/docs/extensions/toc.html b/build/docs/extensions/toc.html
index efc1491..e72286b 100644
--- a/build/docs/extensions/toc.html
+++ b/build/docs/extensions/toc.html
@@ -72,7 +72,7 @@ marker. The marker defaults to <code>[TOC]</code> so the following document:</p>
<li><strong>anchorlink</strong>: Set to <code>True</code> to have the headers link to themselves.
Default is <code>False</code>.</li>
</ul>
-<p>If a 'marker' is not found in the document, then the toc is available as an
+<p>If a &lsquo;marker&rsquo; is not found in the document, then the toc is available as an
attribute of the Markdown class. This allows one to insert the toc elsewhere
in their page template. For example:</p>
<pre><code>&gt;&gt;&gt; text = '''
diff --git a/build/docs/extensions/wikilinks.html b/build/docs/extensions/wikilinks.html
index 9ea6409..a5b5552 100644
--- a/build/docs/extensions/wikilinks.html
+++ b/build/docs/extensions/wikilinks.html
@@ -78,7 +78,7 @@ change the default behavior:</p>
<p>Default: <code>'wikilink'</code></p>
</li>
<li>
-<p><strong>build_url</strong>: Callable which formats the URL from it's parts.</p>
+<p><strong>build_url</strong>: Callable which formats the URL from it&lsquo;s parts.</p>
</li>
</ol>
<p>For an example, let us suppose links should always point to the subdirectory
@@ -92,7 +92,7 @@ change the default behavior:</p>
</code></pre>
<p>If you want to do more that just alter the base and/or end of the URL, you
could also pass in a callable which must accept three arguments (<code>label</code>,
-<code>base</code>, and <code>end</code>). The callable must return the URL in it's entirety.</p>
+<code>base</code>, and <code>end</code>). The callable must return the URL in it&lsquo;s entirety.</p>
<pre><code>def my_url_builder(label, base, end):
# do stuff
return url
diff --git a/build/docs/index.html b/build/docs/index.html
index a4f197a..d5b5522 100644
--- a/build/docs/index.html
+++ b/build/docs/index.html
@@ -30,10 +30,10 @@
<div class="bodywrapper">
<div class="body">
<h1 id="python-markdown">Python-Markdown</h1>
-<p>This is a Python implementation of John Gruber's
+<p>This is a Python implementation of John Gruber&rsquo;s
<a href="http://daringfireball.net/projects/markdown/">Markdown</a>.
It is almost completely compliant with the reference implementation,
-though there are a few very minor <a href="#differences">differences</a>. See John's
+though there are a few very minor <a href="#differences">differences</a>. See John&rsquo;s
<a href="http://daringfireball.net/projects/markdown/syntax">Syntax Documentation</a>
for the syntax rules.</p>
<p>See the <a href="install.html">installation instructions</a> to get started.</p>
@@ -76,7 +76,7 @@ to write your own extensions.</p>
<a href="reference.html#output_format">Library Reference</a> for details.</p>
</li>
<li>
-<p><strong>"Safe Mode"</strong></p>
+<p><strong>&rdquo;Safe Mode&rdquo;</strong></p>
<p>When using Python-Markdown to parse input from untrusted users on the web,
the handling of raw HTML can be controlled in various ways to prevent
harmful code from being injected into your site. See the
@@ -107,9 +107,9 @@ This can be switched off if desired. See the
<li>
<p><strong>Indentation/Tab Length</strong></p>
<p>The <a href="http://daringfireball.net/projects/markdown/syntax#list">syntax rules</a>
-clearly state that when a list item consists of multiple paragraphs, "each
+clearly state that when a list item consists of multiple paragraphs, &ldquo;each
subsequent paragraph in a list item <strong>must</strong> be indented by either 4 spaces
-or one tab" (emphasis added). However, many implementations do not enforce
+or one tab&rdquo; (emphasis added). However, many implementations do not enforce
this rule and allow less than 4 spaces of indentation. The implementers of
Python-Markdown consider it a bug to not enforce this rule. </p>
<p>This applies to any block level elements nested in a list, including
diff --git a/build/docs/install.html b/build/docs/install.html
index 30649d1..3f3f6e4 100644
--- a/build/docs/install.html
+++ b/build/docs/install.html
@@ -38,7 +38,7 @@ following commands from the command line as an Admin/Root user:</p>
<p>or</p>
<pre><code>easy_install markdown
</code></pre>
-<p>That's it! Your ready to <a href="reference.html">use</a> Python-Markdown. Enjoy!</p>
+<p>That&lsquo;s it! Your ready to <a href="reference.html">use</a> Python-Markdown. Enjoy!</p>
<h2 id="windows">Installing on Windows</h2>
<p>Download the Windows installer (.exe) from
<a href="http://pypi.python.org/pypi/Markdown">PyPI</a></p>
@@ -50,8 +50,8 @@ run the following command:</p>
</code></pre>
<p>If you plan to use the provided command line script, you need to make sure your
script directory is on your system path. On a typical Python install of Windows
-the Scripts directory is <code>C:\PythonXX\Scripts\</code> (were "XX" is the Python version
-number, i.e., "27"). Adjust the path according to your system and add to your
+the Scripts directory is <code>C:\PythonXX\Scripts\</code> (were &ldquo;XX&rdquo; is the Python version
+number, i.e., &ldquo;27&rdquo;). Adjust the path according to your system and add to your
system path.</p>
<h2 id="linux">Installing on *nix Systems</h2>
<p>From the command line do the following (where 2.x is the version number):</p>
@@ -62,7 +62,7 @@ sudo python setup.py install
</code></pre>
<p>See <a href="http://pypi.python.org/pypi/Markdown">PyPI</a> for all available versions.</p>
<h2 id="git">Using the Git Repository</h2>
-<p>If you're the type that likes to live on the edge, you may want to keep up with
+<p>If you&rsquo;re the type that likes to live on the edge, you may want to keep up with
the latest additions and bug fixes in the repository between releases.
Python-Markdown is maintained in a Git repository on github.com. To
get a copy of Python-Markdown from the repository do the following from the
diff --git a/build/docs/reference.html b/build/docs/reference.html
index 438bcf5..bcdc911 100644
--- a/build/docs/reference.html
+++ b/build/docs/reference.html
@@ -40,7 +40,7 @@ html = markdown.markdown(your_text_string)
<h2 id="the-details">The Details</h2>
<p>Python-Markdown provides two public functions (<a href="#markdown"><code>markdown.markdown</code></a>
and <a href="#markdownFromFile"><code>markdown.markdownFromFile</code></a>) both of which wrap the
-public class <a href="#Markdown"><code>markdown.Markdown</code></a>. If you're processing one
+public class <a href="#Markdown"><code>markdown.Markdown</code></a>. If you&rsquo;re processing one
document at a time, the functions will serve your needs. However, if you need
to process multiple documents, it may be advantageous to create a single
instance of the <code>markdown.Markdown</code> class and pass multiple documents through
@@ -91,12 +91,12 @@ class MyExtension(Extension):
markdown.markdown(text, extensions=[MyExtension(configs={'option': 'value'}))
</code></pre>
<p>If an extension name is provided as a string, the extension must be
-importable as a python module on your PYTHONPATH. Python's dot notation is
-supported. Therefore, to import the 'extra' extension, one could do
+importable as a python module on your PYTHONPATH. Python&rsquo;s dot notation is
+supported. Therefore, to import the &lsquo;extra&rsquo; extension, one could do
<code>extensions=['markdown.extensions.extra']</code> However, if no dots are provided
in the string (<code>extensions=['extra']</code>) Markdown will first look for the
module <code>markdown.extensions.extra</code> (the built-in extension), then a module
-named <code>mdx_extra</code> ('mdx_' will be appended to the beginning of the string)
+named <code>mdx_extra</code> (&lsquo;mdx_&rsquo; will be appended to the beginning of the string)
at the root of your PYTHONPATH. </p>
<p>When loading an extension by name (as a sting), you may either pass in
configuration settings to the extension using the
@@ -149,16 +149,16 @@ specifying configuration settings for that extension.</p>
<p>The values can be in either lowercase or uppercase.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
-<p>It is suggested that the more specific formats ("xhtml1", "html5", &amp;
-"html4") be used as the more general formats ("xhtml" or "html") may
+<p>It is suggested that the more specific formats (&ldquo;xhtml1&rdquo;, &ldquo;html5&rdquo;, &amp;
+&ldquo;html4&rdquo;) be used as the more general formats (&ldquo;xhtml&rdquo; or &ldquo;html&rdquo;) may
change in the future if it makes sense at that time. </p>
</div>
</li>
<li>
<p><strong id="safe_mode"><code>safe_mode</code></strong>: Disallow raw html.</p>
<p>If you are using Markdown on a web system which will transform text
-provided by untrusted users, you may want to use the "safe_mode"
-option which ensures that the user's HTML tags are either replaced,
+provided by untrusted users, you may want to use the &ldquo;safe_mode&rdquo;
+option which ensures that the user&rsquo;s HTML tags are either replaced,
removed or escaped. (They can still create links using Markdown syntax.)</p>
<p>The following values are accepted:</p>
<ul>
@@ -190,7 +190,7 @@ removed or escaped. (They can still create links using Markdown syntax.)</p>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
-<p>"safe_mode" also alters the default value for the
+<p>&ldquo;safe_mode&rdquo; also alters the default value for the
<a href="#enable_attributes"><code>enable_attributes</code></a> option.</p>
</div>
<div class="admonition seealso">
@@ -237,7 +237,7 @@ JavaScript into your documents.</p>
6. Pears
</code></pre>
<p>By default markdown will ignore the fact the the first line started
-with item number "4" and the HTML list will start with a number "1".
+with item number &ldquo;4&rdquo; and the HTML list will start with a number &ldquo;1&rdquo;.
If <code>lazy_ol</code> is set to <code>True</code>, then markdown will output the following
HTML:</p>
<pre><code>&lt;ol&gt;
@@ -273,8 +273,8 @@ Instead, it accepts the following required options:</p>
</li>
<li>
<p><strong id="encoding"><code>encoding</code></strong>: The encoding of the source text file. Defaults
- to "utf-8". The same encoding will always be used for input and output.
- The 'xmlcharrefreplace' error handler is used when encoding the output.</p>
+ to &ldquo;utf-8&rdquo;. The same encoding will always be used for input and output.
+ The &lsquo;xmlcharrefreplace&rsquo; error handler is used when encoding the output.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This is the only place that decoding and encoding of unicode
diff --git a/build/docs/release-2.0.1.html b/build/docs/release-2.0.1.html
index 5f20503..c835aba 100644
--- a/build/docs/release-2.0.1.html
+++ b/build/docs/release-2.0.1.html
@@ -37,7 +37,7 @@ For a full list of changes, see the git log.</p>
<h2 id="backwards-incompatible-changes">Backwards-incompatible Changes</h2>
<p>Due to various complications in how Python handles command line scripts in
differance systems and with differant installation tools, we were forced to
-rename the commandline script to <code>markdown</code> (no ".py"). A matching batch
+rename the commandline script to <code>markdown</code> (no &rdquo;.py&rdquo;). A matching batch
script will get installed on Windows. Any shell scripts which call
<code>markdown.py</code> will need to be altered to call <code>markdown</code> instead.</p>
</div> <!-- .body -->
diff --git a/build/docs/release-2.0.html b/build/docs/release-2.0.html
index 09e47dd..6dfe7bd 100644
--- a/build/docs/release-2.0.html
+++ b/build/docs/release-2.0.html
@@ -36,7 +36,7 @@ extending the extension API, increased performance, and added numerous
extensions to the distribution (including an extension that mimics PHP Markdown
Extra), all while maintaining backward compatibility with the end user API in
version 1.7.</p>
-<p>Python-Markdown supports Python versions 2.3, 2.4, 2.5, and 2.6. We've even
+<p>Python-Markdown supports Python versions 2.3, 2.4, 2.5, and 2.6. We&rsquo;ve even
released a version converted to Python 3.0!</p>
<h2 id="backwards-incompatible-changes">Backwards-incompatible Changes</h2>
<p>While Python-Markdown has experienced numerous internal changes, those changes
@@ -55,13 +55,13 @@ Below is a summary of the significant changes:</p>
<li>The various types of processors available have been either combined, added,
or removed. Ensure that your processors match the currently supported types.</li>
</ul>
-<h2 id="whats-new-in-python-markdown-20">What's New in Python-Markdown 2.0</h2>
+<h2 id="whatwzxhzdk1s-new-in-python-markdown-20">What&lsquo;s New in Python-Markdown 2.0</h2>
<p>Thanks to the work of Artem Yunusov as part of GSoC 2008, Python-Markdown uses
ElementTree internally to build the (X)HTML document from markdown source text.
This has resolved various issues with the older home-grown NanoDOM and made
notable increases in performance.</p>
<p>Artem also refactored the Inline Patterns to better support nested patterns
-which has resolved many inconsistencies in Python-Markdown's parsing of the
+which has resolved many inconsistencies in Python-Markdown&rsquo;s parsing of the
markdown syntax.</p>
<p>The core parser had been completely rewritten, increasing performance and, for
the first time, making it possible to override/add/change the way block level
@@ -73,7 +73,7 @@ considered a bug, rather than a limitation of the parser.</p>
<p>The option to return HTML4 output as apposed to XHTML has been added. In
addition, extensions should be able to easily add additional output formats.</p>
<p>As part of implementing markdown in the Dr. Project project (a Trac fork), among
-other things, David Wolever refactored the "extension" keyword so that it
+other things, David Wolever refactored the &ldquo;extension&rdquo; keyword so that it
accepts either the extension names as strings or instances of extensions. This
makes it possible to include multiple extensions in a single module.</p>
<p>Numerous extensions are included in the distribution by default. See
@@ -90,7 +90,7 @@ makes it possible to include multiple extensions in a single module.</p>
<ul>
<li><a href="#python-markdown-20-release-notes">Python-Markdown 2.0 Release Notes</a><ul>
<li><a href="#backwards-incompatible-changes">Backwards-incompatible Changes</a></li>
-<li><a href="#whats-new-in-python-markdown-20">What's New in Python-Markdown 2.0</a></li>
+<li><a href="#whatwzxhzdk1s-new-in-python-markdown-20">What&lsquo;s New in Python-Markdown 2.0</a></li>
</ul>
</li>
</ul>
diff --git a/build/docs/release-2.1.0.html b/build/docs/release-2.1.0.html
index dec6eec..dd2fe66 100644
--- a/build/docs/release-2.1.0.html
+++ b/build/docs/release-2.1.0.html
@@ -49,7 +49,7 @@ the library had been tested with Python 2.4, consider Python 2.4 support to be
depreciated. It is not likely that any future versions will continue to support
any version of Python less than 2.5. Note that Python 3.0 is not supported due
to a bug in its 2to3 tool. If you must use Python-Markdown with Python 3.0, it
-is suggested you manually use Python 3.1's 2to3 tool to do a conversion.</p>
+is suggested you manually use Python 3.1&rsquo;s 2to3 tool to do a conversion.</p>
</li>
<li>
<p>Python-Markdown previously accepted positional arguments on its class and
@@ -84,15 +84,15 @@ import statements in their extensions to work with the changes.</p>
<li>
<p>The commandline script name was changed to <code>markdown_py</code>. The previous name
(<code>markdown</code>) was conflicting with people (and Linux package systems) who also
-had markdown.pl installed on there system as markdown.pl's commandline script
+had markdown.pl installed on there system as markdown.pl&rsquo;s commandline script
was also named <code>markdown</code>. Be aware that installing Python-Markdown 2.1
will not remove the old versions of the script with different names. You
may want to remove them yourself as they are unlikely to work properly.</p>
</li>
</ul>
-<h2 id="whats-new-in-python-markdown-21">What's New in Python-Markdown 2.1</h2>
+<h2 id="whatwzxhzdk0s-new-in-python-markdown-21">What&lsquo;s New in Python-Markdown 2.1</h2>
<p>Three new extensions were added. <a href="extensions/attr_list.html">Attribute Lists</a>,
-which was inspired by Maruku's feature of the same name,
+which was inspired by Maruku&rsquo;s feature of the same name,
<a href="extensions/nl2br.html">Newline to Break</a>, which was inspired by Github
Flavored Markdown, and <a href="extensions/smart_strong.html">Smart Strong</a>, which
fills a hole in the Extra extension.</p>
@@ -101,25 +101,25 @@ introduced in the HTML5 spec are now properly recognized as raw HTML. As
valid HTML5 can consist of either HTML4 or XHTML1, there is no need to add a
new HTML5 searializers. That said, <code>html5</code> and <code>xhtml5</code> have been added as
aliases of the <code>html4</code> and <code>xhtml1</code> searializers respectively.</p>
-<p>An XHTML searializer has been added. Previously, ElementTree's XML searializer
+<p>An XHTML searializer has been added. Previously, ElementTree&rsquo;s XML searializer
was being used for XHTML output. With the new searliazer we are able to avoid
more invalid output like empty elements (i.e., <code>&lt;p /&gt;</code>) which can choke
browsers.</p>
<p>Improved support for Python 3.x. Now when running <code>setupy.py install</code> in
Python 3.1 or greater the 2to3 tool is run automatically. Note that Python 3.0
is not supported due to a bug in its 2to3 tool. If you must use Python-Markdown
-with Python 3.0, it is suggested you manually use Python 3.1's 2to3 tool to
+with Python 3.0, it is suggested you manually use Python 3.1&rsquo;s 2to3 tool to
do a conversion.</p>
<p>Methods on instances of the Markdown class that do not return results can now
be changed allowing one to do <code>md.reset().convert(moretext)</code>.</p>
-<p>The Markdown class was refactored so that a subclass could define it's own
+<p>The Markdown class was refactored so that a subclass could define it&lsquo;s own
<code>build_parser</code> method which would build a completely different parser. In
other words, one could use the basic machinery in the markdown library to
build a parser of a different markup language without the overhead of building
the markdown parser and throwing it away.</p>
<p>Import statements within markdown have been improved so that third party
libraries can embed the markdown library if they desire (licencing permitting).</p>
-<p>Added support for Python's <code>-m</code> command line option. You can run the markdown
+<p>Added support for Python&rsquo;s <code>-m</code> command line option. You can run the markdown
package as a command line script. Do <code>python -m markdown [options] [args]</code>.
Note that this is only fully supported in Python 2.7+. Python 2.5 &amp; 2.6
require you to call the module directly (<code>markdown.__main__</code>) rather than
@@ -145,7 +145,7 @@ complete history of the changes.</p>
<ul>
<li><a href="#python-markdown-210-release-notes">Python-Markdown 2.1.0 Release Notes</a><ul>
<li><a href="#backwards-incompatible-changes">Backwards-incompatible Changes</a></li>
-<li><a href="#whats-new-in-python-markdown-21">What's New in Python-Markdown 2.1</a></li>
+<li><a href="#whatwzxhzdk0s-new-in-python-markdown-21">What&lsquo;s New in Python-Markdown 2.1</a></li>
</ul>
</li>
</ul>
diff --git a/build/docs/release-2.2.0.html b/build/docs/release-2.2.0.html
index e7450a1..19a994b 100644
--- a/build/docs/release-2.2.0.html
+++ b/build/docs/release-2.2.0.html
@@ -63,7 +63,7 @@ potentially harmful JavaScript in documents. This change had no effect when
not in <code>safe_mode</code>.</p>
</li>
</ul>
-<h2 id="whats-new-in-python-markdown-21">What's New in Python-Markdown 2.1</h2>
+<h2 id="whatwzxhzdk0s-new-in-python-markdown-21">What&lsquo;s New in Python-Markdown 2.1</h2>
<p>The docs were refactored and can now be found at
<a href="http://packages.python.org/Markdown/">http://packages.python.org/Markdown/</a>. The docs are now maintained in the
Repo and are generated by the <code>setup.py build_docs</code> command.</p>
@@ -94,7 +94,7 @@ for a complete history of the changes.</p>
<ul>
<li><a href="#python-markdown-220-release-notes">Python-Markdown 2.2.0 Release Notes</a><ul>
<li><a href="#backwards-incompatible-changes">Backwards-incompatible Changes</a></li>
-<li><a href="#whats-new-in-python-markdown-21">What's New in Python-Markdown 2.1</a></li>
+<li><a href="#whatwzxhzdk0s-new-in-python-markdown-21">What&lsquo;s New in Python-Markdown 2.1</a></li>
</ul>
</li>
</ul>
diff --git a/build/docs/release-2.3.html b/build/docs/release-2.3.html
index 38d8ff9..ebbe685 100644
--- a/build/docs/release-2.3.html
+++ b/build/docs/release-2.3.html
@@ -44,39 +44,39 @@ Python versions include the ElementTree library, Python-Markdown will no
longer try to import a third-party installation of ElementTree.</p>
</li>
<li>
-<p>All classes are now "new-style" classes. In other words, all classes
-subclass from 'object'. While this is not likely to affect most users,
+<p>All classes are now &ldquo;new-style&rdquo; classes. In other words, all classes
+subclass from &lsquo;object&lsquo;. While this is not likely to affect most users,
extension authors may need to make a few minor adjustments to their code.</p>
</li>
<li>
-<p>"safe_mode" has been further restricted. Markdown formated links must be
-of a known whitelisted scheme when in "safe_mode" or the url is discarded.
-The whitelisted schemes are: 'http', 'https', 'ftp', 'ftps', 'mailto', and
-'news'. Schemeless urls are also permitted, but are checked in other ways -
+<p>&ldquo;safe_mode&rdquo; has been further restricted. Markdown formated links must be
+of a known whitelisted scheme when in &ldquo;safe_mode&rdquo; or the url is discarded.
+The whitelisted schemes are: &lsquo;http&rsquo;, &lsquo;https&rsquo;, &lsquo;ftp&rsquo;, &lsquo;ftps&rsquo;, &lsquo;mailto&rsquo;, and
+&lsquo;news&rsquo;. Schemeless urls are also permitted, but are checked in other ways -
as they have been for some time.</p>
</li>
<li>
<p>The ids assigned to footnotes now contain a dash (<code>-</code>) rather than a colon
-(<code>:</code>) when <code>output_format</code> it set to "html5" or "xhtml5". If you are making
+(<code>:</code>) when <code>output_format</code> it set to &ldquo;html5&rdquo; or &ldquo;xhtml5&rdquo;. If you are making
reference to those ids in your JavaScript or CSS and using the HTML5 output,
you will need to update your code accordingly. No changes are necessary if
you are outputing XHTML (the default) or HTML4.</p>
</li>
<li>
-<p>The "force_linenos" config setting of the CodeHilite extension has been
-marked as <strong>Pending Deprecation</strong> and a new setting "linenums" has been added to
+<p>The &ldquo;force_linenos&rdquo; config setting of the CodeHilite extension has been
+marked as <strong>Pending Deprecation</strong> and a new setting &ldquo;linenums&rdquo; has been added to
replace it. See documentation for the <a href="extensions/codehilite.html">CodeHilite Extension</a> for an explanation
-of the new "linenums" setting. The new setting will honor the old
-"force_linenos" if it is set, but it will raise a PendingDeprecationWarning
+of the new &ldquo;linenums&rdquo; setting. The new setting will honor the old
+&ldquo;force_linenos&rdquo; if it is set, but it will raise a PendingDeprecationWarning
and will likely be removed in a future version of Python-Markdown.</p>
</li>
<li>
-<p>The "RSS" extension has been removed and no longer ships with Python-Markdown.
+<p>The &ldquo;RSS&rdquo; extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recomended), it is
archived on <a href="https://gist.github.com/waylan/4773365">Github</a>.</p>
</li>
<li>
-<p>The "HTML Tidy" Extension has been removed and no longer ships with Python-Markdown.
+<p>The &ldquo;HTML Tidy&rdquo; Extension has been removed and no longer ships with Python-Markdown.
If you would like to continue using the extension (not recomended), it is
archived on <a href="https://gist.github.com/waylan/5152650">Github</a>. Note that the
underlying library, uTidylib, is not Python 3 compatable. Instead, it is
@@ -87,7 +87,7 @@ wrapped in a call to PyTidyLib rather than using an extension (for example:
<code>tidylib.tidy_fragment(markdown.markdown(source), options={...})</code>).</p>
</li>
</ul>
-<h2 id="whats-new-in-python-markdown-23">What's New in Python-Markdown 2.3</h2>
+<h2 id="whatwzxhzdk0s-new-in-python-markdown-23">What&lsquo;s New in Python-Markdown 2.3</h2>
<ul>
<li>
<p>The entire code base now universally runs in Python 2 and Python 3 without
@@ -96,7 +96,7 @@ but by using unicode_literals, results in more consistent behavior across
Python versions. Additionally, the relative imports (made possible in Python 2
via absolute_import) allows the entire library to more easily be embedded in a
subdirectory of another project. The various files within the library will
-still import each other properly even though 'markdown' may not be in Python's
+still import each other properly even though &lsquo;markdown&rsquo; may not be in Python&rsquo;s
root namespace.</p>
</li>
<li>
@@ -122,7 +122,7 @@ for a complete history of the changes.</p>
<ul>
<li><a href="#python-markdown-23-release-notes">Python-Markdown 2.3 Release Notes</a><ul>
<li><a href="#backwards-incompatible-changes">Backwards-incompatible Changes</a></li>
-<li><a href="#whats-new-in-python-markdown-23">What's New in Python-Markdown 2.3</a></li>
+<li><a href="#whatwzxhzdk0s-new-in-python-markdown-23">What&lsquo;s New in Python-Markdown 2.3</a></li>
</ul>
</li>
</ul>
diff --git a/build/docs/test_suite.html b/build/docs/test_suite.html
index 498dea6..4d25677 100644
--- a/build/docs/test_suite.html
+++ b/build/docs/test_suite.html
@@ -34,7 +34,7 @@
framework.The test suite primarily serves to ensure that new bugs are not
introduced as existing bugs are patched or new features are added. It also
allows Python-Markdown to be tested with the tests from other implementations
-such as John Gruber's <a href="http://daringfireball.net/projects/markdown/">Perl</a> implementation or Michel Fortin's <a href="http://michelf.com/projects/php-markdown/">PHP</a>
+such as John Gruber&rsquo;s <a href="http://daringfireball.net/projects/markdown/">Perl</a> implementation or Michel Fortin&rsquo;s <a href="http://michelf.com/projects/php-markdown/">PHP</a>
implementation.</p>
<p>The test suite can be run by calling the <code>run_tests.py</code> command at the root of
the distribution tarball or by calling the <code>nosetests</code> command directly. Either
@@ -50,7 +50,7 @@ the wiki for instructions on <a href="https://github.com/waylan/Python-Markdown/
<p>The test suite contains two kinds of tests: Markdown Syntax Tests and Unit
Tests.</p>
<h2 id="markdown-syntax-tests">Markdown Syntax Tests</h2>
-<p>The Syntax Tests are in the various directories contained within the 'tests'
+<p>The Syntax Tests are in the various directories contained within the &lsquo;tests&rsquo;
directory of the packaged tarball. Each test consists of a matching pair of txt
and html files. The txt file contains a snippet of Markdown source text
formated for a specific syntax feature and the html file contains the expected
@@ -127,11 +127,11 @@ are not explicitly set.</p>
from other implementations.</li>
<li><code>output_ext</code>: Extension of output file. Defaults to <code>.html</code>. Useful for tests
from other implementations.</li>
-<li>Any keyword arguement accepted by the Markdown class. If not set, Markdown's
+<li>Any keyword arguement accepted by the Markdown class. If not set, Markdown&rsquo;s
defaults are used. </li>
</ul>
<h2 id="unit-tests">Unit Tests</h2>
-<p>Unit Tests are used as regression tests for Python-Markdown's API.
+<p>Unit Tests are used as regression tests for Python-Markdown&rsquo;s API.
All Unit Tests shipped with Python-Markdown are standard Python Unit Tests and
are all contained in <code>tests/test_apis.py</code> and <code>tests/test_extensions.py</code>.
Standard discovery methods are used to find and run the tests. Therefore, when
diff --git a/setup.py b/setup.py
index a205c49..826de9d 100755
--- a/setup.py
+++ b/setup.py
@@ -144,7 +144,7 @@ class build_docs(Command):
else:
with codecs.open('docs/_template.html', encoding='utf-8') as f:
template = f.read()
- self.md = markdown.Markdown(extensions=['extra', 'toc', 'meta', 'admonition'])
+ self.md = markdown.Markdown(extensions=['extra', 'toc', 'meta', 'admonition', 'smarty'])
for infile in self.docs:
outfile, ext = os.path.splitext(infile)
if ext == '.txt':
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment