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

101 Commits

Author SHA1 Message Date
Aidan Woods
8764512c23 Add SlugRegister so IDs are not duplicated 2020-05-10 14:32:01 +01:00
Aidan Woods
e332b4710a Add HeaderSlug configurable
Adds HeaderSlug configurable, with the option for the slug function
to be customised.

Co-authored-by: netniV <netniv@hotmail.com>
2020-05-10 14:31:55 +01:00
Aidan Woods
c835535176 Implement DefinitionBook as MutableConfigurable
This is a slightly more correct implementation, but perhaps not worth
the headache.
2020-05-10 14:19:05 +01:00
Aidan Woods
a6c17f449e previousEmptyLines -> precedingEmptyLines 2020-01-19 17:15:02 +00:00
Aidan Woods
a2ea704a43 Use list type over int array 2020-01-19 15:23:58 +00:00
Aidan Woods
13932bca9a Simplify match logic 2020-01-19 15:09:44 +00:00
Aidan Woods
0a1e4bd802 Formatting fix 2019-09-09 23:33:06 +01:00
Aidan Woods
5db3687892 $matches is guarenteed to contain data for the full pattern 2019-09-09 23:26:21 +01:00
Aidan Woods
211a7eb5aa Tables always acquire previous 2019-07-25 16:18:00 +02:00
Aidan Woods
37f306c3a8 Utilise constant arrays over static vars 2019-07-25 00:45:53 +02:00
Aidan Woods
ea55a9ffb0 Integer keys aren't necessary 2019-07-25 00:33:15 +02:00
Aidan Woods
34902bc80c Account for type 7 HTML blocks
These differ from type 6 blocks in a few ways (other than the HTML
element names given in the spec).

1. Type 7 blocks cannot interrupt paragraphs
2. Type 7 block must contain ONLY whitespace on the rest of the
   line, whereas type 6 blocks need only be followed by whitespace
   after the tag name, or have the opening tag be complete.
2019-07-25 00:22:09 +02:00
Aidan Woods
7b1389b48b More specific return type 2019-06-16 21:32:37 +01:00
Aidan Woods
35d24d0b56 PHP < 7 patch 2019-04-07 16:38:46 +01:00
Aidan Woods
3f74fe8347 Port fix for https://github.com/erusev/parsedown/issues/699 into new
codebase
2019-04-07 16:38:46 +01:00
Aidan Woods
99525fdd76 Match GFM spec for extended autolinks
There is a small list of characters which may precede an autolink
2019-04-07 16:38:45 +01:00
Aidan Woods
33522f0aa4 Normalise link reference lookups
Ref: https://github.com/erusev/parsedown/pull/104
2019-04-07 16:38:19 +01:00
Aidan Woods
4adbd0b8a7 Backtracking capable inlines better expressed by interface 2019-04-07 16:38:19 +01:00
Aidan Woods
3ccd64a9a1 Expand public API of Components
Ref: https://github.com/erusev/parsedown/issues/694
2019-04-07 16:38:19 +01:00
Aidan Woods
3c0b528d54 Constructor shouldn't be part of public API 2019-04-07 16:38:18 +01:00
Aidan Woods
fc23ca5ef5 Remove more redundant checks 2019-04-07 16:38:17 +01:00
Aidan Woods
30613b2430 Ensure $startPosition is positive 2019-04-07 16:38:16 +01:00
Aidan Woods
3bb24c20a6 Assert marker is correct for hard and soft breaks 2019-04-07 16:38:16 +01:00
Aidan Woods
2b79d599fb Require State to build and advance blocks 2019-04-07 16:38:15 +01:00
Aidan Woods
36fac49ed8 Remove redundant checks
These don't appear to have a measurable positive impact on performance.
2019-04-07 16:38:15 +01:00
Aidan Woods
41fb6b0d43 Move url sanitisation out of Element class 2019-04-07 16:38:15 +01:00
Aidan Woods
a681cf631c Acquisition capable blocks as an interface 2019-04-07 16:38:15 +01:00
Aidan Woods
c2973100e0 Fix whitespace trimming for soft and hard breaks 2019-04-07 16:38:14 +01:00
Aidan Woods
2efae741bb Simplify expression 2019-04-07 16:38:14 +01:00
Aidan Woods
660c2e43a3 Paragraph would end itself and new one must start for header row to
exist
2019-04-07 16:38:13 +01:00
Aidan Woods
d9792bb12c Ensure markers are checked when beginning blocks 2019-04-07 16:38:13 +01:00
Aidan Woods
08c40afc16 Test against HTML block endings 2019-04-07 16:38:13 +01:00
Aidan Woods
c310625b93 Length not necessary 2019-04-07 16:38:13 +01:00
Aidan Woods
54f2c4eb4c Fix recovered spaces calculation 2019-04-07 16:38:12 +01:00
Aidan Woods
117912c373 Substr over indexing string 2019-04-07 16:38:12 +01:00
Aidan Woods
63a97a926b Remove leftover hackyness 2019-04-07 16:38:12 +01:00
Aidan Woods
a2bca78f7e Fix whitespace errors 2019-04-07 16:38:11 +01:00
Aidan Woods
f47ba7aa34 Track whitespace left on blank lines to match CommonMark
Test changes copy pasted to match CommonMark reference parser
2019-04-07 16:38:10 +01:00
Aidan Woods
49dd8b113d Make sure closing sequence is removed correctly 2019-04-07 16:38:10 +01:00
Aidan Woods
30763a0f38 HTML tags should have a name 2019-04-07 16:38:10 +01:00
Aidan Woods
3dd1326ded Trim paragraph contents 2019-04-07 16:38:10 +01:00
Aidan Woods
0f55cd5b26 Permit empty links 2019-04-07 16:38:10 +01:00
Aidan Woods
82d20d8ffe Markup like CommonMark 2019-04-07 16:38:09 +01:00
Aidan Woods
7fd6e0bb31 Backslash escape like CommonMark 2019-04-07 16:38:09 +01:00
Aidan Woods
62615f4fc5 Allow empty code spans 2019-04-07 16:38:08 +01:00
Aidan Woods
4563ee592d Don't assume marker type is correct 2019-04-07 16:38:07 +01:00
Aidan Woods
aab56cf8cc Fix strange formatting 2019-04-07 16:38:07 +01:00
Aidan Woods
d6f526d80f Return state after block parse instead of mutating the instance copy 2019-04-07 16:38:06 +01:00
Aidan Woods
b728f254b7 Ensure Url parsing is removed all the way down (not just edge) 2019-04-07 16:38:06 +01:00
Aidan Woods
d733c262c2 Cleanup logical operators 2019-04-07 16:38:06 +01:00