Aidan Woods
c45e41950f
Use standard library over while loop
2018-04-09 18:09:44 +01:00
Aidan Woods
2faba6fef5
Remove unneeded complete function
2018-04-09 18:09:44 +01:00
Aidan Woods
b42add3762
Make some regexes possesive
2018-04-09 18:09:43 +01:00
Aidan Woods
107223d3a0
Avoid recomputation
2018-04-09 18:09:43 +01:00
Aidan Woods
d4f1ac465c
String interpolation is slightly faster than concat
2018-04-09 18:09:43 +01:00
Aidan Woods
d6e306d620
Optimise commonly used regexes to fail fast
2018-04-09 18:09:04 +01:00
Aidan Woods
dc5cf8770b
The AST has high complexity here (and so traversal is hard anyway)
...
We gain quite a bit of a speed boost by working with text here
since this is a very common function
2018-04-09 18:09:04 +01:00
Aidan Woods
70f5c02d47
Use non-nestable values as keys for O(1) lookup
2018-04-09 18:09:04 +01:00
Aidan Woods
90ad738933
General readability
2018-04-09 18:09:04 +01:00
Aidan Woods
f2327023c1
No need to unset if not set
2018-04-09 18:09:04 +01:00
Aidan Woods
6f13f97674
Use mutating loop instead of array_map
2018-04-09 18:08:58 +01:00
Aidan Woods
cb33daf0e6
Assert table header does not contain new lines
2018-04-09 16:38:03 +01:00
Aidan Woods
043c55e4c6
Give paragraph block semantics for overloading
2018-04-09 15:12:17 +01:00
Aidan Woods
e4cd13350b
Remove setLiteralBreaks
2018-04-09 15:11:45 +01:00
Aidan Woods
ae8067e862
Swap undefined type for type === 'Paragraph' for ease of reading
...
The way in which we use this assumes that it is a paragraph, for example
appending text into the handler argument — so there is no loss of
generality here, we're simply being explicit.
2018-04-09 14:48:48 +01:00
Aidan Woods
5353ebb524
Avoid needing two arrays
...
We only need to collect elements, we can discard finished blocks
2018-04-09 14:48:39 +01:00
Aidan Woods
39df7d4f8e
Swap 'hidden' blocks for empty elements
2018-04-09 14:46:24 +01:00
Aidan Woods
3f5b0ee781
Count number of interrupts
2018-04-09 14:13:10 +01:00
Aidan Woods
43d25a74fe
Fix function name
2018-04-08 18:40:50 +01:00
Aidan Woods
86940be224
Use mutating loop instead of creating new array
2018-04-08 17:49:36 +01:00
Aidan Woods
cdaf86b039
Add seperate depth-first function instead of replacing recursive method
2018-04-08 17:39:24 +01:00
Aidan Woods
1d65fb858a
Restore file permission to that of 1.7.1
2018-04-08 14:30:23 +01:00
Aidan Woods
600db7e4de
Bump version const to 1.8.0-beta-1
2018-04-08 02:46:30 +01:00
Aidan Woods
387ef63888
Replace array reduce with foreach loop for PHP 5.3 compat
2018-04-06 20:55:27 +01:00
Aidan Woods
68be90348c
Revert "Explicitly capture $this for PHP 5.3"
2018-04-06 20:50:34 +01:00
Aidan Woods
0039cd00f8
Explicitly capture $this for PHP 5.3
2018-04-06 20:40:25 +01:00
Aidan Woods
c6b717cc35
Merge pull request #604 from aidantwoods/fix/autobreak
...
Ensure autobreak false is honoured over empty name
2018-04-06 20:00:32 +01:00
Aidan Woods
8f3f61883d
Merge pull request #603 from aidantwoods/fix/recursion
...
Apply depth first
2018-04-06 19:57:55 +01:00
Aidan Woods
4c9ea94d0c
Apply depth first to avoid risk of segfault if closure creates subelements
2018-04-06 19:52:25 +01:00
Aidan Woods
32e69de014
Ensure autobreak false is honoured over empty name
2018-04-06 19:51:27 +01:00
Aidan Woods
201299ddc2
Merge pull request #602 from aidantwoods/enhancement/text-elements
...
Split some of `text` into `textElements`
2018-04-06 19:50:24 +01:00
Aidan Woods
557db7c179
Split some of text
into textElements
...
`process` is no longer needed
2018-04-06 18:11:27 +01:00
Aidan Woods
9b7b7348b4
Merge pull request #598 from aidantwoods/enhancement/set-literal-breaks
...
Add literalBreaks support
2018-04-06 15:06:45 +01:00
Aidan Woods
06b810cd4a
Fix fenced code block closer to match CommonMark rules
2018-04-05 16:55:14 +01:00
Aidan Woods
24e48e91c8
Add literalBreaks support
...
Line breaks will be converted to <br />
2018-04-05 01:01:52 +01:00
Aidan Woods
1c8f6bc253
Merge pull request #594 from aidantwoods/enhancement/ast-recursion-helper
...
Add recursive helper for AST
2018-04-02 19:53:58 +01:00
Aidan Woods
772c919b05
Fix bug where empty atx headings would not be recognised (CommonMark)
...
Fixes #595
2018-04-02 17:18:01 +01:00
Aidan Woods
cf6d23de55
Rename hashtags enabled to strict mode
...
We can use this to seperate any intentional spec deviations from
spec behaviour so users can pick between compatability and spec
implementations
2018-04-02 17:18:01 +01:00
Nathan Baulch
d0279cdd3b
Enable #hashtag support via setting
2018-04-02 17:18:01 +01:00
Nathan Baulch
8a90586218
Support #hashtag per CommonMark and GFM specs
2018-04-02 17:18:00 +01:00
Aidan Woods
390fa0da1b
This is probably faster than duplicating the closure
2018-04-01 17:55:32 +01:00
Aidan Woods
9026b1abdb
Add recursive helper for AST, use this for implementation of calling handler
...
recursively
2018-04-01 17:10:49 +01:00
Aidan Woods
535110c57e
Add process
method so extensions may process final AST without
...
copying implementation of `text`
2018-03-31 23:23:12 +01:00
Aidan Woods
ce073c9baa
Merge pull request #576 from aidantwoods/enhancement/moar-ast
...
Produce AST prior to render
2018-03-31 23:11:45 +01:00
Aidan Woods
e4d6c8f911
Add support for recursive handlers
2018-03-31 22:01:38 +01:00
Aidan Woods
aa90dd481a
Match CommonMark spec on HTML comments:
...
Start condition: line begins with the string `<!--`.
End condition: line contains the string `-->`.
2018-03-30 19:22:50 +01:00
Aidan Woods
9f1f5de387
Add recursive handle methods to generate entire AST for traversal
2018-03-28 20:59:56 +01:00
Aidan Woods
a9c21447ce
Only interrupt paragraph if starting with 1
2018-03-28 15:38:11 +01:00
Aidan Woods
40e797031e
Old handler compatability layer
2018-03-28 03:42:38 +01:00
Aidan Woods
92e426e0e8
Fix merging of adjacent blockquotes
2018-03-28 03:27:09 +01:00