diff --git a/README.md b/README.md
index 50a55a2..04ce7a3 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-NOTE -- Showdown on GitHub
-==========================
+# NOTE -- Showdown on GitHub
**Please note** that I, Corey, am not the author of Showdown. Rather, I found it
some time back at
@@ -20,8 +19,7 @@ Cheers,
Corey
-Showdown -- A JavaScript port of Markdown
-=========================================
+# Showdown -- A JavaScript port of Markdown
Showdown Copyright (c) 2007 John Fraser.
@@ -33,32 +31,29 @@ Redistributable under a BSD-style open source license.
See license.txt for more information.
-Quick Example
--------------
+## Quick Example
-``` js
+```js
var Showdown = require('showdown');
var converter = new Showdown.converter();
converter.makeHtml('#hello markdown!');
//
hello, markdown
-
```
-What's it for?
---------------
+## What's it for?
Developers can use Showdown to:
- * Add in-browser preview to existing Markdown apps
+ * Add in-browser preview to existing Markdown apps
Showdown's output is (almost always) identical to
markdown.pl's, so the server can reproduce exactly
the output that the user saw. (See below for
exceptions.)
- * Add Markdown input to programs that don't support it
+ * Add Markdown input to programs that don't support it
Any app that accepts HTML input can now be made to speak
Markdown by modifying the input pages's HTML. If your
@@ -68,7 +63,7 @@ Developers can use Showdown to:
uses -- and you can do it with just a two-line
`onsubmit` function!
- * Add Markdown input to closed-source web apps
+ * Add Markdown input to closed-source web apps
You can write bookmarklets or userscripts to extend
any standard textarea on the web so that it accepts
@@ -76,7 +71,7 @@ Developers can use Showdown to:
the same can probably be done with many rich edit
controls.
- * Build new web apps from scratch
+ * Build new web apps from scratch
A Showdown front-end can send back text in Markdown,
HTML or both, so you can trade bandwidth for server
@@ -89,23 +84,21 @@ Developers can use Showdown to:
Markdown.)
-Browser Compatibility
----------------------
+## Browser Compatibility
Showdown has been tested successfully with:
- - Firefox 1.5 and 2.0
- - Internet Explorer 6 and 7
- - Safari 2.0.4
- - Opera 8.54 and 9.10
- - Netscape 8.1.2
- - Konqueror 3.5.4
+ * Firefox 1.5 and 2.0
+ * Internet Explorer 6 and 7
+ * Safari 2.0.4
+ * Opera 8.54 and 9.10
+ * Netscape 8.1.2
+ * Konqueror 3.5.4
In theory, Showdown will work in any browser that supports ECMA 262 3rd Edition (JavaScript 1.5). The converter itself might even work in things that aren't web browsers, like Acrobat. No promises.
-Extensions
-----------
+## Extensions
Showdown allows additional functionality to be loaded via extensions.
@@ -131,14 +124,11 @@ var converter = new Showdown().converter({ extensions: ['twitter', mine] });
```
+## Known Differences in Output
-Known Differences in Output
----------------------------
+In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7. What follows is a list of all known deviations. Please file an issue if you find more.
-In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7. What follows is a list of all known deviations. Please email me if you find more.
-
-
- * This release uses the HTML parser from Markdown 1.0.2b2,
+ * This release uses the HTML parser from Markdown 1.0.2b2,
which means it fails `Inline HTML (Advanced).text` from
the Markdown test suite:
@@ -148,8 +138,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
-
- * Showdown doesn't support the markdown="1" attribute:
+ * Showdown doesn't support the markdown="1" attribute:
Markdown does *not* work in here.
@@ -162,7 +151,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
way to make markdown="1" the default.
- * You can only nest square brackets in link titles to a
+ * You can only nest square brackets in link titles to a
depth of two levels:
[[fine]](http://www.attacklab.net/)
@@ -171,7 +160,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
If you need more, you can escape them with backslashes.
- * When sublists have paragraphs, Showdown produces equivalent
+ * When sublists have paragraphs, Showdown produces equivalent
HTML with a slightly different arrangement of newlines:
+ item
@@ -192,7 +181,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
- * Markdown.pl creates empty title attributes for
+ * Markdown.pl creates empty title attributes for
inline-style images:
Here's an empty title on an inline-style
@@ -208,7 +197,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
[images]: http://w3.org/Icons/valid-xhtml10
- * With crazy input, Markdown will mistakenly put
+ * With crazy input, Markdown will mistakenly put
`
` or `` tags in URLs:
@@ -218,8 +207,7 @@ In most cases, Showdown's output is identical to that of Perl Markdown v1.0.2b7.
Showdown won't. But still, don't do that.
-Tests
----------------------------
+## Tests
A suite of tests is available which require node.js. Once node is installed, run the following command from the project root to install the development dependencies:
npm install --dev
@@ -231,21 +219,20 @@ Once installed the tests can be run from the project root using:
New test cases can easily be added. Create a markdown file (ending in `.md`) which contains the markdown to test. Create a `.html` file of the exact same name. It will automatically be tested when the tests are executed with `mocha`.
-Creating Markdown Extensions
-----------------------------
+## Creating Markdown Extensions
A showdown extension is simply a function which returns an array of extensions. Each single extension can be one of two types:
- - Language Extension -- Language extensions are ones that that add new markdown syntax to showdown. For example, say you wanted `^^youtube http://www.youtube.com/watch?v=oHg5SJYRHA0` to automatically render as an embedded YouTube video, that would be a language extension.
- - Output Modifiers -- After showdown has run, and generated HTML, an output modifier would change that HTML. For example, say you wanted to change `