1
0
mirror of https://github.com/erusev/parsedown.git synced 2023-08-10 21:13:06 +03:00
Commit Graph

402 Commits

Author SHA1 Message Date
Emanuil Rusev
5be4491943 make parser class more extensible 2014-04-17 10:59:35 +03:00
Emanuil Rusev
159c3cede6 move deprecated methods to the bottom of the class 2014-04-17 01:11:30 +03:00
Won-Kyu Park
9bf64d2e31 resolve #125 using strpos() 2014-02-27 23:58:24 +09:00
Emanuil Rusev
886c620440 Merge pull request #122 from wkpark/marker_index
use $closestMarkerIndex
2014-02-27 14:14:14 +02:00
Won-Kyu Park
e156c418d6 fixup regression due to commit 59907ff7 "simplify em/strong routine"
use $closestMarkerIndex correctly
2014-02-26 14:14:56 +09:00
Haralan Dobrev
d8650cd77c Add set_breaks_enabled() as an alias for BC
Backwards-compatibility is kept with versions before PSR-2 naming.

See http://git.io/SsTarw
2014-02-25 00:43:09 +02:00
Emanuil Rusev
3fa9d62572 psr-2 names 2014-02-24 01:38:58 +02:00
Emanuil Rusev
4f851205a7 simplify content types 2014-02-24 00:55:34 +02:00
Emanuil Rusev
0985c2ef29 fix [0] reference labels 2014-02-23 23:43:18 +02:00
Emanuil Rusev
9fd9262f16 implement tables 2014-02-23 18:55:34 +02:00
Emanuil Rusev
a6756fd4fa resolve #117 2014-02-22 12:35:54 +02:00
Emanuil Rusev
1e8d917f7a replace synopsis with a more appropriate word 2014-02-21 02:26:23 +02:00
Emanuil Rusev
324eaf7c15 move synopsis to the top 2014-02-21 02:23:17 +02:00
Emanuil Rusev
f972f7f15d arrange methods 2014-02-21 02:22:31 +02:00
Emanuil Rusev
688b761d32 remove obsolete variables 2014-02-21 02:02:36 +02:00
Emanuil Rusev
b8bd12f565 parser should be less dependent on compiler 2014-02-21 01:54:23 +02:00
Won-Kyu Park
6fed312d3c fixup internal reference labling to make code more readable 2014-02-19 13:30:46 +09:00
Won-Kyu Park
ccbdfabaff support HR and headings as block markups 2014-02-17 23:31:08 +09:00
Emanuil Rusev
d29ff18299 resolve #92 2014-02-06 14:16:14 +02:00
Emanuil Rusev
611aed179d simplify reference 2014-02-06 02:36:22 +02:00
Emanuil Rusev
abb88d59fa fix reference 2014-02-06 02:36:11 +02:00
Emanuil Rusev
14ab6d46fe resolve #82 2014-02-06 00:10:18 +02:00
Emanuil Rusev
ebfdace4c6 reference labels should be case insensitive 2014-02-05 14:18:05 +02:00
Emanuil Rusev
ba7f377290 resolve #88, resolve #81 2014-02-05 14:03:43 +02:00
Emanuil Rusev
548a6f7945 resolve #89 2014-02-05 14:03:43 +02:00
Won-Kyu Park
59907ff757 simplify em/strong routine
retry to search em/strong markers to fix nested em/strong correctly
2014-02-03 16:48:28 +09:00
Emanuil Rusev
6e93b68692 outdented is shorter and probably more accurate 2014-02-02 23:41:58 +02:00
Emanuil Rusev
f5f1706e58 improve consistency of list item 2014-02-02 22:27:22 +02:00
Emanuil Rusev
a7510b97e7 dense list items that follow sparse ones should not be rendered as sparse ones 2014-01-31 03:03:52 +02:00
Emanuil Rusev
e9098aebfa improve parsing of list item and code block by measuring line indentation 2014-01-31 02:19:18 +02:00
Kane Cohen
07b738b1c8 Remove one unnecessary /u flag. 2014-01-29 23:05:05 +00:00
Kane Cohen
f7181ee9b6 Remove /u flag from '*' chars. Add /u to urls. 2014-01-29 22:57:29 +00:00
Kane Cohen
55f360a591 Add unicode support for strong/em regex. 2014-01-29 10:30:21 +00:00
Emanuil Rusev
215ff63594 improve comments 2014-01-29 02:14:59 +02:00
Emanuil Rusev
3d581dcaa9 simplify names of block types 2014-01-27 22:21:58 +02:00
Emanuil Rusev
bbce965a9a read-only fields should be static 2014-01-27 00:58:18 +02:00
Emanuil Rusev
6069fdac81 refactor parsing of html 2014-01-27 00:10:24 +02:00
Emanuil Rusev
0f090e1a6e remove trailing line break 2014-01-27 00:08:55 +02:00
Emanuil Rusev
618ab4e156 improve layout of class members 2014-01-26 19:53:24 +02:00
Emanuil Rusev
7661b7c8f9 simplify comments 2014-01-26 19:14:44 +02:00
Emanuil Rusev
8f6495ce86 ternaries should not do more than assign a value 2014-01-26 19:13:08 +02:00
Emanuil Rusev
250ba80356 expression assignments should be separate 2014-01-26 19:05:24 +02:00
Emanuil Rusev
3ac9b96e57 element » block 2014-01-26 13:47:56 +02:00
Emanuil Rusev
b764deca66 improve comments 2014-01-26 03:36:25 +02:00
Emanuil Rusev
65ef541fda improve comments 2014-01-25 18:47:44 +02:00
Emanuil Rusev
c7b6d0235d unset brackets should not be separated 2014-01-25 14:53:39 +02:00
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
Emanuil Rusev
69a620110a Merge pull request #10 from hkdobrev/emphasis
Better parsing of emphasis and strong elements
2013-07-23 00:52:41 -07:00
hkdobrev
7ace421f6d Better parsing of emphasis and strong elements
- Regex is based on original Perl regex.
 - Added more tests.
2013-07-23 01:03:18 +03:00
hkdobrev
41bf9733b0 Fixed performance check for quick blocks and lines 2013-07-22 21:54:18 +03:00
Emanuil
5bbbabe8aa paragraph blocks preceded by a list block should not produce exceptions 2013-07-21 18:44:44 +03:00
Emanuil
7b091b8915 link definitions should not tolerate space between ] and ( 2013-07-18 10:07:13 +03:00
Emanuil
cbc76e5c31 first commit 2013-07-10 23:22:16 +03:00