aboutsummaryrefslogtreecommitdiffstats
path: root/home_page.txt
diff options
context:
space:
mode:
authorYuri Takhteyev <yuri@freewisdom.org>2006-03-11 19:10:44 +0000
committerYuri Takhteyev <yuri@freewisdom.org>2006-03-11 19:10:44 +0000
commitffa9ecc21ccfad36f7a6f98fc2715af83ce4d24b (patch)
tree33fe16a172ce72f562784f04240146eb70e8f550 /home_page.txt
parent3c38fcb04308c8515a9f530045034575eabe059e (diff)
downloadmarkdown-ffa9ecc21ccfad36f7a6f98fc2715af83ce4d24b.tar.gz
markdown-ffa9ecc21ccfad36f7a6f98fc2715af83ce4d24b.tar.bz2
markdown-ffa9ecc21ccfad36f7a6f98fc2715af83ce4d24b.zip
Markdown source of the home page as of March 9, 2006
Diffstat (limited to 'home_page.txt')
-rw-r--r--home_page.txt198
1 files changed, 198 insertions, 0 deletions
diff --git a/home_page.txt b/home_page.txt
new file mode 100644
index 0000000..d24c176
--- /dev/null
+++ b/home_page.txt
@@ -0,0 +1,198 @@
+<?php include("markdown-header.php");?>
+ <div id="blog_entry">
+ <div class="blogbody">
+
+<a name="Summary"></a>
+<h3 class="title">Summary</h3>
+
+This is a Python implementation of John Gruber's
+[Markdown](http://daringfireball.net/projects/markdown/).
+The current version of python-markdown implements all Markdown syntax
+features and fully passes [Markdown Test Suite
+1.0](http://six.pairlist.net/pipermail/markdown-discuss/2004-December/000909.html). It also supports footnotes (see [this
+thread](http://six.pairlist.net/pipermail/markdown-discuss/2005-August/001480.html))
+and attributes (see [this
+thread](http://six.pairlist.net/pipermail/markdown-discuss/2005-August/001486.html)).
+
+<!--Python-Markdown defaults to ignoring middle-word emphasis through
+underscore, but this it can be switched to on. (See [this
+thread](http://six.pairlist.net/pipermail/markdown-discuss/2005-October/001610.html)
+for discussion.)-->
+
+If you find something missing, [submit a bug report](http://sourceforge.net/tracker/?func=add&group_id=153041&atid=790198) or send me an email (qaramazov-at-gmail.com). Better yet, send me a patch.
+
+<a name="Installation"></a>
+<h3 class="title">Installation and Usage</h3>
+
+If you want to install the module into your python tree, get
+[setup.py](setup.py) and run "python setup.py install" from a
+directory where you put markdown.py.
+
+To use markdown.py by itself, run it as
+
+ python markdown.py <input_file>
+
+or
+
+ python markdown.py <input_file> <output_file>
+
+To get footnotes, add a "-footnotes" option:
+
+ python markdown.py -footnotes <input_file> <output_file>
+
+To use it as a module:
+
+ import markdown
+ html = markdown.markdown(your_text_string)
+
+<a name="Extending"></a>
+<h3 class="title">Extending</h3>
+
+The functionality of the script can be extended without changing the
+code, by inserting additional pre-processors, post-processors or
+inline patterns into Markdown's pipeline.
+
+**Pre-processors** operate on lines of source text and are run in the
+beginning. It is sufficient to write a class with a run() method that
+takes a list of text lines as a parameter and returns the same or a new
+list. An instance of the preprocessor can then be inserted into
+the markdown pipeline.
+
+
+ class SamplePreprocessor :
+ def run(self, lines) :
+ for i in range(len(lines)) :
+ if lines[i].startswith(SOMETHING) :
+ lines[i] = do_something(lines[i])
+
+ return lines
+
+ md_instance.preprocessors.insert(SOME_INDEX, SamplePreprocessor())
+
+**Post-processors** operate on a NanoDom tree and run at the very end.
+They need to implement a "run" method that takes a pointer to a NanoDom
+document.
+
+ class SamplePostprocessor :
+ def run(self, doc) :
+ doc.documentElement.appendChild(doc.createElement("new"))
+
+
+ md_instance.postprocessors.insert(SOME_INDEX, SamplePostprocessor())
+
+Finally, **inline patterns** can be added. Each inline pattern
+includes a regular expression pattern and a method for turning a match
+object into a DOM fragment
+
+ class MyCustomPattern (BasePattern) :
+ def handleMatch(self, m, doc) :
+ el = doc.createElement('custom')
+ el.setAttribute('stuff', m.group(3))
+ return el
+
+ new_pattern = MyCustomPattern(r'your regular expression here')
+ md_instance.inlinePatterns.insert(SOME_INDEX, new_pattern)
+
+See the implementation of footnote support inside markdown.py for an
+example of using all three in combination to provide reasonably
+complex additional functionality. (I use a pre-processor to collect
+footnote definitions, an inline pattern to handle uses of footnotes
+inside the text and a post-processor to attach the HTML of the actual
+footnotes at the end of the document)
+
+Other extensions:
+
+* [Table-of-contents extension](extensions/markdown_with_toc.py) by Chris Clark (inserts a "title" element and a table of contents).
+
+<a name="Credits"></a>
+<h3 class="title">Credits</h3>
+
+* The first version of this script was written by [Manfred
+ Stienstra](http://www.dwerg.net/), who is responsible for about
+ a quarter of the code.
+* Daniel Krech provided the setup.py script.
+* G. Clark Haynes submitted a patch for indented lists.
+* Tiago Cogumbreiro submitted an email autolink fix.
+* Sergej Chodarev submitted a patch for treatment of `<hr/>` tags.
+* Chris Clark submitted a patch to handle `<mailto:...>` syntax and a reg ex for "smart" emphasis (ignoring underscores within a word).
+* Steward Midwinter wrote command-line parser and cleaned up comments.
+* Many other people helped by reporting bugs.
+
+<a name="License"></a>
+<h3 class="title">License</h3>
+
+The code is dual-licensed under
+[GPL](http://www.gnu.org/copyleft/gpl.html) and [BSD
+License](http://www.opensource.org/licenses/bsd-license.php). Other
+licensing arrangements can be discussed.
+
+<a name="Contact"></a>
+<h3 class="title">Contact Info</h3>
+
+Email qaramazov [at] gmail.com if you have any questions or spot any
+bugs. (Feel free to write in English, Russian, Portuguese or
+Spanish.)
+
+Or subscribe to [python-markdown-discuss](http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss).
+
+
+<a name="Change"></a>
+<h3 class="title">Change Log</h3>
+
+*Feb. 28, 2006:* Clean-up and command-line handling by Stewart
+Midwinter. ([version 1.3](markdown-1.3.py))
+
+*Feb. 24, 2006:* Fixed a bug with the last line of the list appearing
+again as a separate paragraph. Incorporated Chris Clark's "mailto"
+patch. Added support for `<br />` at the end of lines ending in two or
+more spaces. Fixed a crashing bug when using ImageReferencePattern.
+Added "hr" and "hr/" to BLOCK\_LEVEL\_ELEMENTS and changed
+`<hr/>` to `<hr />`. (Thanks to Sergej Chodarev.)
+Added several utility methods to Nanodom.
+([version 1.2](markdown-1.2.py))
+
+*Nov. 30, 2005:* Fixed a bug with certain tabbed lines inside lists
+getting wrapped in `<pre><code>`. Made "\<!...", "\<?...", etc. behave
+like block-level HTML tags. ([version 1.1](markdown-1.1.py))
+
+*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. Added an unlink method for
+documents to aid with memory collection (per Doug Sauder's
+suggestion). Restricted a set of html tags that get treated as
+block-level elements. ([version 1.0](markdown-1.0.py))
+
+*Sept. 18, 2005:* Refactored the whole script to make it easier to
+customize it and made footnote functionality into an extension.
+([version 0.9](markdown-0.9.py))
+
+*Sept. 5, 2005:* Fixed a bug with multi-paragraph footnotes. Added
+attribute support.
+
+*Sept. 1, 2005:* Changed the way headers are handled to allow inline
+syntax in headers (e.g. links) and got the lists to use p-tags
+correctly. ([version 0.8](markdown-0.8.py))
+
+*Aug. 29, 2005:* Added flexible tabs, fixed a few small issues, added
+basic support for footnotes, got rid of xml.dom.minidom and added
+pretty-printing. ([version 0.7](markdown-0.7.py))
+
+*Aug. 13, 2005:* Fixed a number of small bugs in order to conform to
+the test suite. ([version 0.6](markdown-0.6.py))
+
+*Aug. 11, 2005:* Added support for inline html and entities, inline
+images, autolinks, underscore emphasis. Cleaned up and refactored the
+code, added some more comments. ([version 0.5](markdown-0.5.py))
+
+*Feb. 19, 2005:* Rewrote the handling of high-level elements to allow
+multi-line list items and all sorts of nesting. ([version 0.4](markdown-0.4.py))
+
+*Feb. 3, 2005:* Reference-style links, single-line lists, backticks,
+escape, emphasis in the beginning of the paragraph.
+
+*Nov. 2004:* Added links, block quotes, html blocks to Manfred Stienstra's code.
+
+
+
+
+<?php include("markdown-footer.php"); ?>