The MD5 value for "+" is "+".
* Now convert escaped characters to their numeric character references equivalent. This fix an integration issue with SmartyPants and backslash escapes. Since Markdown and SmartyPants have some escapable characters in common, it was sometime necessary to escape them twice. Previously, two backslashes were sometime required to prevent Markdown from "eating" the backslash before SmartyPants sees it: Here are two hyphens: \\-- Now, only one backslash will do: Here are two hyphens: \-- 1.0.1f (7 Feb 2007): * Fixed an issue with WordPress where manually-entered excerpts, but not the auto-generated ones, would contain nested paragraphs. * Fixed an issue introduced in 1.0.1d where headers and blockquotes preceded too closely by a paragraph (not separated by a blank line) where incorrectly put inside the paragraph. * Fixed an issue introduced in 1.0.1d in the tokenizeHTML method where two consecutive code spans would be merged into one when together they form a valid tag in a multiline paragraph. * Fixed an long-prevailing issue where blank lines in code blocks would be doubled when the code block is in a list item. This was due to the list processing functions relying on artificially doubled blank lines to correctly determine when list items should contain block-level content. The list item processing model was thus changed to avoid the need for double blank lines. * Fixed an issue with `<% asp-style %>` instructions used as inline content where the opening `<` was encoded as `<`. * Fixed a parse error occuring when PHP is configured to accept ASP-style delimiters as boundaries for PHP scripts. * Fixed a bug introduced in 1.0.1d where underscores in automatic links got swapped with emphasis tags. 1.0.1e (28 Dec 2006) * Added support for internationalized domain names for email addresses in automatic link. Improved the speed at which email addresses are converted to entities. Thanks to Milian Wolff for his optimisations. * Made deterministic the conversion to entities of email addresses in automatic links. This means that a given email address will always be encoded the same way. * PHP Markdown will now use its own function to calculate the length of an UTF-8 string in `detab` when `mb_strlen` is not available instead of giving a fatal error. 1.0.1d (1 Dec 2006) * Fixed a bug where inline images always had an empty title attribute. The title attribute is now present only when explicitly defined. * Link references definitions can now have an empty title, previously if the title was defined but left empty the link definition was ignored. This can be useful if you want an empty title attribute in images to hide the tooltip in Internet Explorer. * Made `detab` aware of UTF-8 characters. UTF-8 multi-byte sequences are now correctly mapped to one character instead of the number of bytes. * Fixed a small bug with WordPress where WordPress' default filter `wpautop` was not properly deactivated on comment text, resulting in hard line breaks where Markdown do not prescribes them. * Added a `TextileRestrited` method to the textile compatibility mode. There is no restriction however, as Markdown does not have a restricted mode at this point. This should make PHP Markdown work again in the latest versions of TextPattern. * Converted PHP Markdown to a object-oriented design. * Changed span and block gamut methods so that they loop over a customizable list of methods. This makes subclassing the parser a more interesting option for creating syntax extensions. * Also added a "document" gamut loop which can be used to hook document-level methods (like for striping link definitions). * Changed all methods which were inserting HTML code so that they now return a hashed representation of the code. New methods `hashSpan` and `hashBlock` are used to hash respectivly span- and block-level generated content. This has a couple of significant effects: 1. It prevents invalid nesting of Markdown-generated elements which could occur occuring with constructs like `*something [link*][1]`. 2. It prevents problems occuring with deeply nested lists on which paragraphs were ill-formed. 3. It removes the need to call `hashHTMLBlocks` twice during the the block gamut. Hashes are turned back to HTML prior output. * Made the block-level HTML parser smarter using a specially-crafted regular expression capable of handling nested tags. * Solved backtick issues in tag attributes by rewriting the HTML tokenizer to be aware of code spans. All these lines should work correctly now: bar bar `` tags for something like this:
* this
* sub
that
* Fixed some incorrect behaviour with emphasis. This will now work
as it should:
*test **thing***
**test *thing***
***thing* test**
***thing** test*
Name: __________
Address: _______
* Correct a small bug in `_TokenizeHTML` where a Doctype declaration
was not seen as HTML.
* Major rewrite of the WordPress integration code that should
correct many problems by preventing default WordPress filters from
tampering with Markdown-formatted text. More details here:
` tag. * `_HashHTMLBlocks()` now tolerates trailing spaces and tabs following HTML comments and `
` tags. * Changed `_StripLinkDefinitions()` so that link definitions must occur within three spaces of the left margin. Thus if you indent a link definition by four spaces or a tab, it will now be a code block. * You can now write empty links: [like this]() and they'll be turned into anchor tags with empty href attributes. This should have worked before, but didn't. * `***this***` and `___this___` are now turned into this Instead of this which isn't valid. * Fixed problem for links defined with urls that include parens, e.g.: [1]: http://sources.wikipedia.org/wiki/Middle_East_Policy_(Chomsky) "Chomsky" was being erroneously treated as the URL's title. * Double quotes in the title of an inline link used to give strange results (incorrectly made entities). Fixed. * Tabs are now correctly changed into spaces. Previously, only the first tab was converted. In code blocks, the second one was too, but was not always correctly aligned. * Fixed a bug where a tab character inserted after a quote on the same line could add a slash before the quotes. This is "before" [tab] and "after" a tab. Previously gave this result:
This is \"before\" [tab] and "after" a tab.
* Removed a call to `htmlentities`. This fixes a bug where multibyte characters present in the title of a link reference could lead to invalid utf-8 characters. * Changed a regular expression in `_TokenizeHTML` that could lead to a segmentation fault with PHP 4.3.8 on Linux. * Fixed some notices that could show up if PHP error reporting E_NOTICE flag was set. Copyright and License --------------------- PHP Markdown Copyright (c) 2004-2007 Michel Fortin