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

400 Commits

Author SHA1 Message Date
Emanuil Rusev
b9e5228e92 version 1.5.3 2015-04-29 23:22:24 +03:00
Gareth Evans
6736ba9a04 Fix check against $matches
Fixes inline reference links with int 0 as reference

The link [link][0] where [0] is set at the bottom of the md file current breaks and it's truthy value is false.
2015-04-20 16:24:11 +01:00
Jeff Standen
b828fe7c8d Fixes #283 2015-02-03 13:58:47 -08:00
Niklas Keller
cb8cc57742 Fixes #279 2015-02-02 00:58:24 +01:00
Emanuil Rusev
9da19c1108 version 1.5.1 2015-01-24 15:01:47 +02:00
Emanuil Rusev
e94ecf4adc resolve #277 2015-01-24 14:21:55 +02:00
Emanuil Rusev
4d3079b908 resolve #274 2015-01-24 14:03:05 +02:00
Emanuil Rusev
648419467a clean up 2015-01-21 01:32:20 +02:00
Emanuil Rusev
6ddb6b2b33 resolve #90 2015-01-19 17:11:13 +02:00
Emanuil Rusev
0008e69a83 clean up 2015-01-19 17:09:51 +02:00
Emanuil Rusev
c664785485 inline methods should be able to handle unmarked inline elements 2015-01-19 17:05:10 +02:00
Emanuil Rusev
bdf0ef024e setter variables should not be private 2015-01-18 19:38:57 +02:00
Emanuil Rusev
21a3e8790a no need for a separate method for every special character 2015-01-16 03:57:47 +02:00
Emanuil Rusev
e5e8d02934 improve order of methods 2015-01-16 03:18:07 +02:00
Emanuil Rusev
7ff0f97811 improve performance 2015-01-16 02:59:51 +02:00
Emanuil Rusev
596350d1f5 improve names of elements 2015-01-16 02:49:55 +02:00
Emanuil Rusev
2cbd3010e4 url elements should not be restricted to http 2015-01-16 02:31:58 +02:00
Emanuil Rusev
3b4aa6bff7 change the parsing order of tag elements to improve performance 2015-01-16 01:46:43 +02:00
Emanuil Rusev
05a8f16e95 improve CommonMark compliance 2015-01-16 01:44:35 +02:00
Emanuil Rusev
79d924040a improve CommonMark compliance 2015-01-16 01:24:02 +02:00
Emanuil Rusev
b4a8eb3315 resolve #156 2015-01-16 00:04:18 +02:00
Emanuil Rusev
4383cce85b resolve #143 2015-01-15 22:31:31 +02:00
Emanuil Rusev
ada39109e4 resolve #189 2015-01-15 22:04:02 +02:00
Emanuil Rusev
a06cdfb814 improve fix for #184 2015-01-15 21:32:18 +02:00
Emanuil Rusev
6bee326c92 resolve #184 2015-01-15 21:10:09 +02:00
Emanuil Rusev
f08d017bcb resolve #196 2015-01-15 02:45:45 +02:00
Emanuil Rusev
e61a6114b0 resolve #175 2015-01-15 02:37:20 +02:00
Emanuil Rusev
9ed72ccd09 resolve #126 2015-01-15 02:24:39 +02:00
Emanuil Rusev
09e1184d9f resolve #265 2015-01-15 00:56:12 +02:00
Emanuil Rusev
0d28808392 void markup blocks be marked 2015-01-12 23:24:13 +02:00
Emanuil Rusev
78960cf792 improve formatting 2015-01-12 18:53:24 +02:00
Emanuil Rusev
8f2e9c7cf6 definitions are blocks
in the old implementation it wasn’t possible to have multiline
definitions
2015-01-12 18:52:17 +02:00
Emanuil Rusev
3eb6d349f0 "src" and "alt" attributes should come first 2015-01-12 02:58:08 +02:00
Emanuil Rusev
08b01a1a29 blocks should be able to return markup 2015-01-12 02:55:00 +02:00
Emanuil Rusev
1686b2fbff we no longer call inline elements spans 2015-01-12 02:55:00 +02:00
Emanuil Rusev
15a32fcd0e no need to know the structure of markup blocks 2015-01-12 02:55:00 +02:00
Emanuil Rusev
9f58363e4b Merge pull request #260 from rhukster/master
Fix for Parsedown stripping classes on images supported by ParsedownExtra
2015-01-11 14:50:08 +02:00
naNuke
05bf198d26 breaksEnabled fix 2015-01-11 06:12:01 +01:00
Andy Miller
30234a58fa No longer needed in this solution 2015-01-10 19:44:30 -07:00
Andy Miller
03ff22c7df Attempted fix for stripped classes on images with ParsedownExtra - re: https://github.com/erusev/parsedown-extra/issues/32 2015-01-10 19:40:39 -07:00
Emanuil Rusev
e68a458105 improve consistency 2015-01-10 14:22:54 +02:00
Emanuil Rusev
06135cd75a improve CommonMark compliance 2015-01-10 02:45:51 +02:00
Emanuil Rusev
dfacf7a71a add urlsLinked setter 2015-01-08 16:13:55 +02:00
Emanuil Rusev
fd0d8125e7 introduce more structure to parsing of unmarked inlines 2015-01-08 15:19:43 +02:00
Emanuil Rusev
b1be886d65 improve names of protected members 2015-01-05 15:05:18 +02:00
Emanuil Rusev
19bc6a7083 update variable names to match updated member names 2015-01-05 14:22:06 +02:00
Emanuil Rusev
b5efe98e2f improve names of protected members 2015-01-05 14:22:06 +02:00
Emanuil Rusev
5639ef7d69 fix PHPDoc 2015-01-05 14:22:06 +02:00
Emanuil Rusev
d29d879ec6 separate parsing of inlines that don't have markers to improve simplicity 2015-01-04 18:37:24 +02:00
Emanuil Rusev
c9b4de3c9d resolve #253 2014-12-21 13:51:16 +02:00
Emanuil Rusev
38cc1ca7e0 resolve #251 2014-12-16 13:58:33 +02:00
Emanuil Rusev
23c4097fde restore support for PHP 5.2 2014-12-15 13:59:37 +02:00
Emanuil Rusev
ac68800717 improve extensibility 2014-12-15 01:07:29 +02:00
Emanuil Rusev
361febf7c6 improve CommonMark compliance 2014-12-15 00:52:03 +02:00
Emanuil Rusev
7ab3c60a77 improve CommonMark compliance 2014-12-02 22:23:43 +02:00
Emanuil Rusev
495e7ac73b resolve #247 2014-11-29 04:29:14 +02:00
Emanuil Rusev
5bc6d90f8b resolve #248 2014-11-28 14:03:12 +02:00
Emanuil Rusev
9816507a75 markup should preserve empty lines 2014-11-19 20:18:56 +02:00
Emanuil Rusev
da5d75e97e resolve #209 2014-10-29 22:29:46 +02:00
naNuke
68f3aea036 Ignore html comments as well with markupEscape option. 2014-10-10 19:07:25 +02:00
Emanuil Rusev
f64c1387f8 fix indents 2014-09-22 02:52:45 +03:00
Emanuil Rusev
59c77e706b improve consistency 2014-09-22 02:36:42 +03:00
Haralan Dobrev
0a3fde3774 Add noMarkup option to escape user HTML
Resolves #106.

This change introduces a new option - `noMarkup`. You could set it the
`setNoMarkup()` method similar to the `setBreaksEnabled()` one.

Example usage:

``` php
<?php

$parsedown = new Parsedown();
$parsedown->setNoMarkup(true);
$parsedown->text('<div><strong>*Some text*</strong></div>');

// Outputs:
// <p>&lt;div>&lt;strong><em>Some text</em>&lts;/strong>&lt;/div></p>
```
2014-09-20 14:53:19 +03:00
Jannik Zschiesche
512cc1f065 Limit generated headlines to h6 2014-08-25 21:06:03 +02:00
Haralan Dobrev
1127681d56 Allow slashes in HTML attributes 2014-08-13 23:54:52 +03:00
Emanuil Rusev
1ae100beab improve comment 2014-05-17 17:37:17 +03:00
Emanuil Rusev
2da10d277b resolve #105 2014-05-14 13:14:49 +03:00
Emanuil Rusev
532b5ede35 resolve #129 2014-05-14 01:11:05 +03:00
Emanuil Rusev
2bd2f81f4f methods should not have more than one optional parameters 2014-05-12 16:18:00 +03:00
Emanuil Rusev
e318e66de5 improve consistency 2014-05-12 00:41:00 +03:00
Emanuil Rusev
0820d0a607 paragraph doesn't have to use a type 2014-05-12 00:34:47 +03:00
Emanuil Rusev
b8d1cfe91a improve extensibility 2014-05-11 22:31:02 +03:00
ScarWu
973d4a866d add array check 2014-05-11 23:36:01 +08:00
Emanuil Rusev
d19c2b6942 improve names 2014-05-10 16:28:00 +03:00
Emanuil Rusev
4dde57451d fix consecutive reference links 2014-05-06 17:05:49 +03:00
Emanuil Rusev
44686c4f1e improve extensibility 2014-05-06 01:12:27 +03:00
Emanuil Rusev
db02ecf259 "reference" is a definition 2014-05-05 14:43:31 +03:00
Emanuil Rusev
aa004d4595 improve code organisation 2014-05-05 14:39:40 +03:00
Emanuil Rusev
1bb65457ed remove unnecessary comments 2014-05-05 13:46:26 +03:00
Emanuil Rusev
0c9a4af8ab improve naming consistency 2014-05-03 18:02:06 +03:00
Emanuil Rusev
cc94c1b584 resolve #167 2014-05-02 18:21:10 +03:00
Emanuil Rusev
e8d8801db4 resolve #135 2014-05-01 02:44:35 +03:00
Emanuil Rusev
521803cdcd resolve #136 2014-05-01 02:42:01 +03:00
Emanuil Rusev
0eb480324c resolve #145 2014-05-01 02:02:14 +03:00
Emanuil Rusev
7c78aff578 resolve #163 2014-05-01 01:47:14 +03:00
Emanuil Rusev
2a5f99547c resolve #162 2014-05-01 01:05:31 +03:00
Emanuil Rusev
e373391e7d resolve #164 2014-05-01 00:29:21 +03:00
Emanuil Rusev
9fa415bcc5 resolve #160 2014-04-28 21:54:38 +03:00
Emanuil Rusev
83d3e3dbbf improve readability 2014-04-28 02:27:05 +03:00
Emanuil Rusev
307a987cb6 improve naming consistency 2014-04-28 02:14:46 +03:00
Emanuil Rusev
eab3cbf255 remove unnecessary nesting 2014-04-28 02:10:18 +03:00
Emanuil Rusev
cf7f32f891 definitions are not blocks 2014-04-27 01:54:52 +03:00
Emanuil Rusev
5e95242318 improve code consistency 2014-04-26 01:06:14 +03:00
Emanuil Rusev
4f027386b1 "complete" calls should be more consistent 2014-04-24 23:52:42 +03:00
Emanuil Rusev
6081954185 resolve #154 2014-04-18 00:19:22 +03:00
Emanuil Rusev
d841003c65 fenced code blocks should respect indnetation 2014-04-17 23:09:10 +03:00
Emanuil Rusev
f310bbe13f nested calls to lines should not reset reference definitions 2014-04-17 15:07:09 +03:00
Emanuil Rusev
2595f366d9 texts should not share reference definitions 2014-04-17 14:43:45 +03:00
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