70 | The MD5 value for "+" is "+".
376 | 377 | * Now convert escaped characters to their numeric character 378 | references equivalent. 379 | 380 | This fix an integration issue with SmartyPants and backslash escapes. 381 | Since Markdown and SmartyPants have some escapable characters in common, 382 | it was sometime necessary to escape them twice. Previously, two 383 | backslashes were sometime required to prevent Markdown from "eating" the 384 | backslash before SmartyPants sees it: 385 | 386 | Here are two hyphens: \\-- 387 | 388 | Now, only one backslash will do: 389 | 390 | Here are two hyphens: \-- 391 | 392 | 393 | 1.0.1f (7 Feb 2007): 394 | 395 | * Fixed an issue with WordPress where manually-entered excerpts, but 396 | not the auto-generated ones, would contain nested paragraphs. 397 | 398 | * Fixed an issue introduced in 1.0.1d where headers and blockquotes 399 | preceded too closely by a paragraph (not separated by a blank line) 400 | where incorrectly put inside the paragraph. 401 | 402 | * Fixed an issue introduced in 1.0.1d in the tokenizeHTML method where 403 | two consecutive code spans would be merged into one when together they 404 | form a valid tag in a multiline paragraph. 405 | 406 | * Fixed an long-prevailing issue where blank lines in code blocks would 407 | be doubled when the code block is in a list item. 408 | 409 | This was due to the list processing functions relying on artificially 410 | doubled blank lines to correctly determine when list items should 411 | contain block-level content. The list item processing model was thus 412 | changed to avoid the need for double blank lines. 413 | 414 | * Fixed an issue with `<% asp-style %>` instructions used as inline 415 | content where the opening `<` was encoded as `<`. 416 | 417 | * Fixed a parse error occuring when PHP is configured to accept 418 | ASP-style delimiters as boundaries for PHP scripts. 419 | 420 | * Fixed a bug introduced in 1.0.1d where underscores in automatic links 421 | got swapped with emphasis tags. 422 | 423 | 424 | 1.0.1e (28 Dec 2006) 425 | 426 | * Added support for internationalized domain names for email addresses in 427 | automatic link. Improved the speed at which email addresses are converted 428 | to entities. Thanks to Milian Wolff for his optimisations. 429 | 430 | * Made deterministic the conversion to entities of email addresses in 431 | automatic links. This means that a given email address will always be 432 | encoded the same way. 433 | 434 | * PHP Markdown will now use its own function to calculate the length of an 435 | UTF-8 string in `detab` when `mb_strlen` is not available instead of 436 | giving a fatal error. 437 | 438 | 439 | 1.0.1d (1 Dec 2006) 440 | 441 | * Fixed a bug where inline images always had an empty title attribute. The 442 | title attribute is now present only when explicitly defined. 443 | 444 | * Link references definitions can now have an empty title, previously if the 445 | title was defined but left empty the link definition was ignored. This can 446 | be useful if you want an empty title attribute in images to hide the 447 | tooltip in Internet Explorer. 448 | 449 | * Made `detab` aware of UTF-8 characters. UTF-8 multi-byte sequences are now 450 | correctly mapped to one character instead of the number of bytes. 451 | 452 | * Fixed a small bug with WordPress where WordPress' default filter `wpautop` 453 | was not properly deactivated on comment text, resulting in hard line breaks 454 | where Markdown do not prescribes them. 455 | 456 | * Added a `TextileRestrited` method to the textile compatibility mode. There 457 | is no restriction however, as Markdown does not have a restricted mode at 458 | this point. This should make PHP Markdown work again in the latest 459 | versions of TextPattern. 460 | 461 | * Converted PHP Markdown to a object-oriented design. 462 | 463 | * Changed span and block gamut methods so that they loop over a 464 | customizable list of methods. This makes subclassing the parser a more 465 | interesting option for creating syntax extensions. 466 | 467 | * Also added a "document" gamut loop which can be used to hook document-level 468 | methods (like for striping link definitions). 469 | 470 | * Changed all methods which were inserting HTML code so that they now return 471 | a hashed representation of the code. New methods `hashSpan` and `hashBlock` 472 | are used to hash respectivly span- and block-level generated content. This 473 | has a couple of significant effects: 474 | 475 | 1. It prevents invalid nesting of Markdown-generated elements which 476 | could occur occuring with constructs like `*something [link*][1]`. 477 | 2. It prevents problems occuring with deeply nested lists on which 478 | paragraphs were ill-formed. 479 | 3. It removes the need to call `hashHTMLBlocks` twice during the the 480 | block gamut. 481 | 482 | Hashes are turned back to HTML prior output. 483 | 484 | * Made the block-level HTML parser smarter using a specially-crafted regular 485 | expression capable of handling nested tags. 486 | 487 | * Solved backtick issues in tag attributes by rewriting the HTML tokenizer to 488 | be aware of code spans. All these lines should work correctly now: 489 | 490 | bar 491 | bar 492 | `` tags for something like this:
548 |
549 | * this
550 |
551 | * sub
552 |
553 | that
554 |
555 | * Fixed some incorrect behaviour with emphasis. This will now work
556 | as it should:
557 |
558 | *test **thing***
559 | **test *thing***
560 | ***thing* test**
561 | ***thing** test*
562 |
563 | Name: __________
564 | Address: _______
565 |
566 | * Correct a small bug in `_TokenizeHTML` where a Doctype declaration
567 | was not seen as HTML.
568 |
569 | * Major rewrite of the WordPress integration code that should
570 | correct many problems by preventing default WordPress filters from
571 | tampering with Markdown-formatted text. More details here:
572 |
` tag. 659 | 660 | * `_HashHTMLBlocks()` now tolerates trailing spaces and tabs following 661 | HTML comments and `
` tags. 676 | 677 | * Changed `_StripLinkDefinitions()` so that link definitions must 678 | occur within three spaces of the left margin. Thus if you indent 679 | a link definition by four spaces or a tab, it will now be a code 680 | block. 681 | 682 | * You can now write empty links: 683 | 684 | [like this]() 685 | 686 | and they'll be turned into anchor tags with empty href attributes. 687 | This should have worked before, but didn't. 688 | 689 | * `***this***` and `___this___` are now turned into 690 | 691 | this 692 | 693 | Instead of 694 | 695 | this 696 | 697 | which isn't valid. 698 | 699 | * Fixed problem for links defined with urls that include parens, e.g.: 700 | 701 | [1]: http://sources.wikipedia.org/wiki/Middle_East_Policy_(Chomsky) 702 | 703 | "Chomsky" was being erroneously treated as the URL's title. 704 | 705 | * Double quotes in the title of an inline link used to give strange 706 | results (incorrectly made entities). Fixed. 707 | 708 | * Tabs are now correctly changed into spaces. Previously, only 709 | the first tab was converted. In code blocks, the second one was too, 710 | but was not always correctly aligned. 711 | 712 | * Fixed a bug where a tab character inserted after a quote on the same 713 | line could add a slash before the quotes. 714 | 715 | This is "before" [tab] and "after" a tab. 716 | 717 | Previously gave this result: 718 | 719 |
This is \"before\" [tab] and "after" a tab.
720 | 721 | * Removed a call to `htmlentities`. This fixes a bug where multibyte 722 | characters present in the title of a link reference could lead to 723 | invalid utf-8 characters. 724 | 725 | * Changed a regular expression in `_TokenizeHTML` that could lead to 726 | a segmentation fault with PHP 4.3.8 on Linux. 727 | 728 | * Fixed some notices that could show up if PHP error reporting 729 | E_NOTICE flag was set. 730 | 731 | 732 | Copyright and License 733 | --------------------- 734 | 735 | PHP Markdown 736 | Copyright (c) 2004-2009 Michel Fortin 737 |