Commit Graph

156 Commits

Author SHA1 Message Date
Haralan Dobrev bf6c9a6db2 Use imperative tense in comments 2014-01-24 01:47:44 +02:00
Emanuil Rusev 0494c6b274 improve comments 2014-01-24 01:28:03 +02:00
Emanuil Rusev 3e0c010c1f improve comments 2014-01-23 23:48:38 +02:00
Emanuil Rusev 3a5eecc23d replace logical operators with conditionals to improve readability 2014-01-23 22:46:49 +02:00
Emanuil Rusev c8c5ae9df8 control structures should use braces 2014-01-23 22:34:02 +02:00
Emanuil Rusev 843786c07c improve comments 2014-01-23 22:08:06 +02:00
Emanuil Rusev 0c61f71e3f rtrim » chop 2014-01-23 13:07:15 +02:00
Emanuil Rusev 01a147c574 replace tabs with spaces to improve compatibility with psr-2 2014-01-23 00:57:36 +02:00
Emanuil Rusev f0fbdaa6ca backtick within code span 2014-01-22 21:28:29 +02:00
Emanuil Rusev e20c0a29bd nested elements should render on a new line 2014-01-22 21:28:29 +02:00
Emanuil Rusev 712dd23d30 simplify parsing of list 2014-01-22 21:28:29 +02:00
Emanuil Rusev 68f2871996 resolve #3 2014-01-22 21:28:29 +02:00
Emanuil Rusev 7cb9646d98 simplify compiling of links 2014-01-22 21:28:29 +02:00
Emanuil Rusev 2a0700abda resolve #61 2014-01-20 22:19:23 +02:00
Emanuil Rusev 4e83d79d76 setters should know nothing 2014-01-20 09:26:25 +02:00
Emanuil Rusev 354842fd6e simplify compiling 2014-01-19 23:34:20 +02:00
Emanuil Rusev 2b73e94c6c simplify parsing of escaped characters 2014-01-19 22:49:43 +02:00
Emanuil Rusev 0182812d6c remove unnecessary blank lines 2014-01-19 15:37:05 +02:00
Emanuil Rusev f5dd3455f9 resolve #58 2014-01-19 00:52:07 +02:00
Emanuil Rusev 1017f22cdd fix paragraph list 2014-01-18 16:45:39 +02:00
Emanuil Rusev 88854955d6 take $inline_tags out of the method 2014-01-18 16:45:39 +02:00
Emanuil Rusev 654dd74074 lines that start with inline html should not get parsed as block-level markup, should resolve #54 and #57 2014-01-18 16:45:39 +02:00
Emanuil Rusev 98b17e3354 setext heading doesn't have to use regex 2014-01-17 01:23:25 +02:00
Emanuil Rusev da966b83f1 atx heading doesn't have to use regex 2014-01-17 00:36:11 +02:00
Emanuil Rusev b9ab495cb4 parse method doesn't have to use regex 2014-01-16 23:43:34 +02:00
Emanuil Rusev 408cb5c21f code block doesn't have to use regex 2014-01-16 23:43:12 +02:00
Emanuil Rusev 5dd0e8cb7b $deindented_line >= ... doesn't make sense 2014-01-16 23:39:56 +02:00
Emanuil Rusev 5521afde31 refactor $element 2014-01-13 23:45:31 +02:00
Emanuil Rusev 47d8a1382b implement automatic line breaks as an option 2013-12-26 23:43:25 +02:00
Emanuil Rusev c0b7155572 implement link titles 2013-12-26 21:53:48 +02:00
Emanuil Rusev be366b63ea improve parsing of emphasis
**strong** and *em* and **strong** and *em*
2013-12-24 23:40:12 +02:00
Emanuil Rusev 68484504ca separate compiling of link / image
there are 2 types of input that produce link / image
2013-12-24 16:05:13 +02:00
Emanuil Rusev 4fecd91f7d span elements should get parsed on a first-come, first-served basis 2013-12-24 03:17:23 +02:00
Emanuil Rusev 9dae844a6e post-increment operators should not be separated 2013-12-22 02:03:53 +02:00
kaamaru 576b0ea761 Fix HTML Bug
If you add markdown after HTML on the same line, all the remaining markdown will not be parsed.

Demo:
Add "<span></span> *test*" without quotes to the top of a markdown page on it's own line and then parse.
2013-12-18 12:32:49 +00:00
malorisdead 019a4af2af Added ability to specify link titles to inline and reference links.
Fixed whitespace bug with reference link regex.
Updated tests.
2013-12-14 02:13:53 -05:00
Emanuil Rusev 51a08fad85 improve parsing of emphasis 2013-12-07 17:21:36 +02:00
Emanuil Rusev 7fb08f334a improve comments 2013-12-07 10:54:05 +02:00
Emanuil Rusev 85ad014f74 parse code span after recursive types to resolve #44 2013-12-06 01:43:55 +02:00
Emanuil Rusev f713e380ee add comment for automatic link 2013-12-06 00:29:51 +02:00
Emanuil Rusev 5b01915a63 interrupted list items should not add nonexistent empty lines 2013-12-06 00:15:17 +02:00
Emanuil Rusev 8baf537c12 resolve #40 2013-12-02 23:26:43 +02:00
Emanuil Rusev 05823567bc simplify comments 2013-12-02 23:02:15 +02:00
Emanuil Rusev 3225c66863 ***strong em** inside of em* should produce valid markup 2013-11-23 13:19:06 +02:00
Haralan Dobrev 849a89b121 Use UTF-8 encoding for htmlspecialchars. See #36.
Prior to PHP 5.4.0 the default encoding for `htmlentities()`
and `htmlspecialchars` is "ISO-8859-1". For PHP 5.4+ is "UTF-8".

This ensures always the right encoding is used no matter the PHP version
and the locale settings.
2013-11-22 23:06:20 +02:00
Emanuil Rusev 28064a63b3 simplify encoding of special characters 2013-11-22 21:57:21 +02:00
josephok b15d40e8a3 Update Parsedown.php
Changes the htmlentities() to htmlspecialchars(). The htmlentities() has some problems encoding non-english words(like Chinese)
2013-11-22 23:05:26 +08:00
Emanuil Rusev ddc5b7e2dd implement URL auto-linking 2013-11-22 00:20:45 +02:00
Emanuil Rusev 5a563008aa implement GFM strikethrough 2013-11-21 13:39:00 +02:00
Emanuil Rusev b6f795962f resolve #21 2013-11-21 00:59:30 +02:00
Emanuil Rusev 96bf75bd91 remove goto to provide support for PHP 5.2 2013-11-18 21:42:00 +02:00
Emanuil Rusev 67b51794d8 implement fenced code block to resolve #2 2013-11-17 16:52:31 +02:00
Emanuil Rusev a9d6232705 array_shift » unset to simplify code base and improve performance 2013-11-17 13:21:49 +02:00
Emanuil Rusev b91629ad94 organize evaluation blocks into switch statements to improve code readability 2013-11-17 12:48:01 +02:00
Emanuil Rusev 24d300ea5d $pure_line » $deindented_line 2013-11-17 01:52:40 +02:00
Emanuil Rusev d54712b989 simplify comments 2013-11-17 01:52:40 +02:00
Emanuil Rusev 6ef043ba7d arrange compile cases 2013-11-17 01:52:40 +02:00
Emanuil Rusev fe27b70bdb block » markup 2013-11-17 01:52:40 +02:00
Emanuil Rusev 18d3dbf4f6 simplify comments 2013-11-17 01:52:40 +02:00
Emanuil Rusev 4758f58f73 remove double semicolons 2013-11-17 01:52:40 +02:00
Emanuil Rusev 5fa3eb1b2f parse_inline_elements » parse_span_elements to match the specs 2013-11-17 01:52:40 +02:00
Emanuil Rusev e497acb6dc escape sequences with double digit codes do not get decoded properly 2013-11-16 02:05:31 +02:00
Emanuil Rusev a4fb0651d5 resolve #27 2013-11-13 01:07:39 +02:00
Haralan Dobrev 1f347e17eb Allow multi-line emphasis. Fix #28. 2013-11-12 19:22:17 +02:00
Emanuil Rusev 8e6f4cf7b8 leading spaces should not get trimmed 2013-11-09 22:23:56 +02:00
Emanuil Rusev ee9a1e92c0 remove goto comment 2013-11-09 00:40:13 +02:00
Emanuil Rusev 689ef24cc5 strip trailing spaces 2013-11-08 23:40:00 +02:00
Emanuil Rusev 4403fe4d96 labels of reference links should be case insensitive 2013-11-08 21:59:26 +02:00
Emanuil Rusev 400c8f7d46 simplify regex for inline link in attempt to resolve #23 2013-11-08 00:24:40 +02:00
Emanuil Rusev 379cbf34b3 parse_block_elements doesn't have to use ltrim on lines with no indentation 2013-11-07 22:48:15 +02:00
Emanuil Rusev b6c8cac512 optimize quick paragraph 2013-11-07 22:46:01 +02:00
Emanuil Rusev 0e9202689e escaping of "<" breaks span-level html 2013-11-05 21:40:33 +02:00
Emanuil Rusev 7249d02cff code blocks get unwanted empty lines 2013-11-05 10:21:48 +02:00
Emanuil Rusev ecf86b073e error when last line consists of 1-3 spaces 2013-11-05 10:17:19 +02:00
Emanuil Rusev b12973415f parse link references as blocks to improve performance 2013-11-05 00:57:16 +02:00
Emanuil Rusev 6d113f47fb rearrange block types to optimize performance 2013-11-04 09:28:50 +02:00
Emanuil Rusev d4d3612710 escaping for special characters 2013-11-03 17:32:45 +02:00
Emanuil Rusev 2e314ad474 resolve #24 2013-11-02 21:42:55 +02:00
Emanuil Rusev e475602e2f simplify parsing of code blocks 2013-11-02 02:18:13 +02:00
Emanuil Rusev f43f54b877 remove redundant parse_inline_elements call 2013-10-23 00:50:32 +03:00
Emanuil Rusev 6a0695deb9 correct spelling of $link_definition 2013-10-13 22:52:36 +03:00
Emanuil b9808f23e0 setext underlines should not work on interrupted paragraphs 2013-09-24 22:36:24 +03:00
Emanuil 47b1789430 resolve #9 2013-09-24 02:32:58 +03:00
Emanuil f8119fa3cb separate compiling from parsing 2013-09-24 01:19:17 +03:00
Emanuil 7ab71ade06 optimize parsing of rule 2013-09-20 02:12:06 +03:00
Emanuil 64f82e1e2a inline links should get parsed before reference links 2013-09-20 01:12:40 +03:00
Emanuil f40dbdfb65 variable names should express what they represent rather than why they represent it 2013-09-19 23:54:28 +03:00
Emanuil 033c2b78c1 match blockquote comment 2013-09-19 23:28:12 +03:00
Emanuil 34035316df NULL » null 2013-09-19 23:12:48 +03:00
Emanuil f13214cfa7 single line blockquotes should also go through "parse_lines" 2013-09-18 19:53:44 +03:00
Emanuil 238b1029c0 remove "parse_blocks" method in favor of a more capable "parse_lines" 2013-09-18 00:27:35 +03:00
Emanuil 3afeee3b19 parse * and _ emphasis types separately to optimize performance and improve readability 2013-09-03 00:14:04 +03:00
Emanuil 4af89c5087 reference links should be able to have their names on the next line 2013-08-31 22:27:38 +03:00
Emanuil 0352f01c7e leading \n characters should not be parsed as part of first block 2013-08-31 21:44:23 +03:00
Emanuil 40c2dcfac7 resolve #20 2013-08-31 20:28:23 +03:00
Emanuil 8ac52a2f30 resolve #17 2013-08-31 19:55:07 +03:00
Emanuil 4a6bb88239 improve the code that removes \r characters 2013-08-31 19:54:14 +03:00
Emanuil 609ad47c38 resolve #16 2013-07-26 00:08:52 +03:00
Emanuil 5aad1d42d2 inline links should work with images 2013-07-25 01:33:40 +03:00
Emanuil 8954b94516 setext headings should support inline elements 2013-07-24 00:52:35 +03:00