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

1011 Commits

Author SHA1 Message Date
fce09a702a Put reused code in a trait so boolean configurables are easy to make 2019-04-07 16:38:05 +01:00
8fe93f30ac Add easy way to remove Components from InlineTyes and BlockTypes 2019-04-07 16:38:05 +01:00
9f9ef78662 This should be slightly faster
Merge would honour changes, and removals
are equivalent to changing to default value.
2019-04-07 16:38:05 +01:00
57632f38fb More meaningful method name 2019-04-07 16:38:05 +01:00
5e7fb61879 More keyword fixes for pre-PHP7 2019-04-07 16:38:05 +01:00
2618509cc6 Now the class is a bit shorter we can remove these makeshift dividers 2019-04-07 16:38:04 +01:00
fce4633ff9 Inlines and Blocks as Configurables 2019-04-07 16:38:04 +01:00
eb90905d27 Default value is intrinsic to a configurable, we can just always
retrieve that.
2019-04-07 16:38:04 +01:00
5a50930cb0 Allow inlines to backtrack into characters that were suspected as
inlines but ruled out
This is required for backslash escaped Hard breaks to work:
Parsedown first checks to see if these are escape sequences,
however when they are ruled out they should not be assumed to be
plaintext since a later inline (Hardbreak) may backtrack into these
unconsumed characters.
2019-04-07 16:38:04 +01:00
1fd2e14b72 Add hard and soft breaks 2019-04-07 16:38:04 +01:00
714ae50211 Text variable isn't very useful inside the loop 2019-04-07 16:38:04 +01:00
14b3761687 Produce Blocks before converting to StateRenderables
(As we do with Inlines)
2019-04-07 16:38:04 +01:00
00821bd072 Don't remove right #'s too early (before dealing with whitesapce) 2019-04-07 16:38:03 +01:00
b8cdc6e9a5 Remove closing # sequence from header 2019-04-07 16:38:03 +01:00
9d97b8eb6a We should be using strict mode in commonmark benchmark 2019-04-07 16:38:03 +01:00
67231cbae1 Tabs are allowed after header delimiter 2019-04-07 16:38:03 +01:00
81a2050608 Headers can't start with more than three spaces 2019-04-07 16:38:03 +01:00
3d41f270c2 Better name for testing safe mode and strict mode state
Add a nice named constructor
2019-04-07 16:38:03 +01:00
bb424e606f Improve indent handling by lists 2019-04-07 16:38:03 +01:00
51c3d9d445 Make it clearer this is one backslash character 2019-04-07 16:38:02 +01:00
74bba0b2fa rtrim non hard breaking lines 2019-04-07 16:38:02 +01:00
fc37ad11ed Tabs shouldn't break thematic breaks 2019-04-07 16:38:02 +01:00
4e9a0113c3 Thematic breaks can't have an indent of more than 3 2019-04-07 16:38:02 +01:00
96d8a1f18c Add dead code test to composer test script 2019-04-07 16:38:02 +01:00
82c981657d Require Inlines to provide a best plaintext rendering
This allows markdown to be parsed "inside" the alt
attribute of an image, and then the best plaintext
can be used as the rest.
This improves CommonMark compliance.
2019-04-07 16:38:02 +01:00
576a2c4519 Generalise line parsing to return Inlines before applying state 2019-04-07 16:38:01 +01:00
083ad582c7 State management
Decouple state from final rendering
Restore initial state after parsing
2019-04-07 16:38:01 +01:00
c9388cb5c2 Make use of line name instead of lineElements 2019-04-07 16:38:01 +01:00
bb8a16ad81 Remove useless line method
This will be achievable by directly restricting enabled Components
2019-04-07 16:38:01 +01:00
2cfd05a00e Test for dead code in travis 2019-04-07 16:38:01 +01:00
7f526c07a0 Indent offset is encompassed in Lines object 2019-04-07 16:38:01 +01:00
366600034c This isn't used and is derivable from the indent 2019-04-07 16:38:01 +01:00
6add0ea877 Remove useless variables 2019-04-07 16:38:00 +01:00
dac6b01d1a Remove meaningless interrupt check
Interrupted implies previousEmptyLines > 0 in incoming Context
2019-04-07 16:38:00 +01:00
6f5780abfd Improve Link API 2019-04-07 16:38:00 +01:00
2757274854 Constant arrays to static vars for PHP 5.5 2019-04-07 16:38:00 +01:00
37895448ba Fix PHP 5.6 bug 2019-04-07 16:38:00 +01:00
6f1bc7db14 Fix pre PHP7 closure-as-property closure syntax 2019-04-07 16:38:00 +01:00
e4ed4da626 More keyword related fixes for pre PHP 7 2019-04-07 16:38:00 +01:00
351a68a14c Remove some return type hints that I missed 2019-04-07 16:37:59 +01:00
a9aa7e7aae Test on PHP 5.5 and 5.6
Issue on pre PHP 7 may be to do with method name and not call syntax as
suspected
2019-04-07 16:37:59 +01:00
f8003dcded Remove debug lines 2019-04-07 16:37:59 +01:00
ca008872ba Use latest PHP on non-unit test build staged 2019-04-07 16:37:59 +01:00
7188f49a71 7.3 was released, so make failure blocking 2019-04-07 16:37:59 +01:00
b3608829e5 Calling static functions on metatype class string is >=PHP7 only
🤷‍♂️
2019-04-07 16:37:59 +01:00
f420fad41f Remove ignore statement for core class :) 2019-04-07 16:37:59 +01:00
f58845c480 Bump Psalm version for new static analysis features 2019-04-07 16:37:58 +01:00
04816a9944 Adjust tests for new API
Remove tests that test old core and extension features
Comment out test for no markup independent of safe mode
2019-04-07 16:37:58 +01:00
e2c9b2fa2b Remap text-level elements retreival 2019-04-07 16:37:58 +01:00
799ced66fa Use Parsedown directly
Remove UrlsLinked adjustment--we'll have a better way
of doing that later
2019-04-07 16:37:58 +01:00