Noah Hellman
fbd8811c86
block: parse description list
2023-02-05 20:36:49 +01:00
Noah Hellman
768699d138
optionally use btree maps instead of hash maps
...
btree maps are deterministic which is useful for fuzzing. hash maps,
however have better performance in our case
2023-02-05 20:36:49 +01:00
Noah Hellman
82adc631d9
allow attributes on thematic breaks
2023-02-05 20:36:49 +01:00
Noah Hellman
ca7f3c7e89
do not treat \0 as EOF
...
may appear in input
2023-02-05 20:36:49 +01:00
Noah Hellman
1bbfd4a96a
prepass: avoid consecutive '-' in heading id
2023-02-05 20:36:49 +01:00
Noah Hellman
87d4f7c270
prepass: use hash set to avoid duplicate heading ids
...
linear lookup becomes problematic for large amount of headings with same
title
2023-02-05 20:36:40 +01:00
Noah Hellman
dc38076f50
block: limit ordered list number width
...
use 64-bit to not let limit be too low, 32-bit allows for only 6 alpha
digits, "zzzzzz".
2023-02-05 20:36:40 +01:00
Noah Hellman
de7404137e
parser: keep inlines of code blocks verbatim
2023-02-05 20:36:40 +01:00
Noah Hellman
60dcf09c1a
impl automatic heading identifiers
2023-02-05 20:36:40 +01:00
Noah Hellman
b726580724
parser: fix end section eating block attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
7b8157cb51
fixup! parse inline attrs
2023-02-05 20:36:40 +01:00
Noah Hellman
3e8b80059e
fixup! parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
493a9b3563
heading event: limit level to u16
2023-02-05 20:36:40 +01:00
Noah Hellman
1135cf7054
fixup! block: parse tables
2023-02-05 20:36:40 +01:00
Noah Hellman
dcb3b787a2
block: add MeteredBlock as intermediate struct
2023-02-05 20:36:40 +01:00
Noah Hellman
530820a04e
block: add hierarchical heading sections
2023-02-05 20:36:40 +01:00
Noah Hellman
1f47a1729e
parser: impl autolinks
2023-02-05 20:36:40 +01:00
Noah Hellman
2e992f5726
fixup! parser: allow linebreak in text of link tag refs
2023-02-05 20:36:40 +01:00
Noah Hellman
9fd10683c5
parser: throw away link-def/footnote attrs
...
prevent attributes on link definitions and footnotes from applying to
upcoming elements
2023-02-05 20:36:40 +01:00
Noah Hellman
2e4a9147aa
parser: apply link def attrs to link
2023-02-05 20:36:40 +01:00
Noah Hellman
9fdd402d07
parser: allow linebreak in text of link tag refs
...
e.g.
[my
link][]
will link to
[my link]: url
2023-02-05 20:36:40 +01:00
Noah Hellman
8b8ccd65bb
fixup! parse: merge enter / exit block events match branch
2023-02-05 20:36:40 +01:00
Noah Hellman
56718ef887
inline: impl smart quotation
2023-02-05 20:36:40 +01:00
Noah Hellman
8339befe2f
block: parse captions
2023-02-05 20:36:40 +01:00
Noah Hellman
c288264aee
block: parse tables
2023-02-05 20:36:40 +01:00
Noah Hellman
5714e72939
parser: parse roman numerals
2023-02-05 20:36:40 +01:00
Noah Hellman
a661a2febb
parser: parse AlphaLower/Upper numbers
2023-02-05 20:36:40 +01:00
Noah Hellman
e5c4ca5450
fixup! 238e445f3012485d96aba81ca01ee45d7ba97370
2023-02-05 20:36:40 +01:00
Noah Hellman
ec69d98c75
amend! parser: determine tight vs loose lists
...
block: determine tight vs loose lists
2023-02-05 20:36:40 +01:00
Noah Hellman
69d51a5032
fixup! parser: determine tight vs loose lists
2023-02-05 20:36:40 +01:00
Noah Hellman
845c56fd0b
parser: test nested list
2023-02-05 20:36:40 +01:00
Noah Hellman
70d29c65e4
parser: determine tight vs loose lists
2023-02-05 20:36:40 +01:00
Noah Hellman
36470af114
tmp remove this
2023-02-05 20:36:40 +01:00
Noah Hellman
7b018ef10c
todo: allow roman in alpha
2023-02-05 20:36:40 +01:00
Noah Hellman
83d569d09a
fixup! 1669f0e97379fe38e7df6206d1e6815c5e8730fb
2023-02-05 20:36:40 +01:00
Noah Hellman
4ad7e2bf3e
fixup! a931e71100663ece89f3c8dbfa67c02414d40436
2023-02-05 20:36:40 +01:00
Noah Hellman
2f616c41b7
parser: parse lists and list items
2023-02-05 20:36:40 +01:00
Noah Hellman
6befcad52a
parse: merge enter / exit block events match branch
2023-02-05 20:36:40 +01:00
Noah Hellman
50632204a3
block: emit list events around list items
2023-02-05 20:36:40 +01:00
Noah Hellman
5e8c683050
fixup! tree: add tree branch reference
2023-02-05 20:36:40 +01:00
Noah Hellman
a62eb3e1d8
fixup! e1843f1913dbbbc85414b05268ef554676168a6b
2023-02-05 20:36:40 +01:00
Noah Hellman
73baa48706
doc
2023-02-05 20:36:40 +01:00
Noah Hellman
d8aba07db3
fixup! wip
2023-02-05 20:36:40 +01:00
Noah Hellman
44a6961beb
block: parse list item
2023-02-05 20:36:40 +01:00
Noah Hellman
42ca801712
rm from_container_block
2023-02-05 20:36:40 +01:00
Noah Hellman
8ccfb4c603
render footnotes
2023-02-05 20:36:40 +01:00
Noah Hellman
cbead322ed
fixup! tree: add tree branch reference
2023-02-05 20:36:40 +01:00
Noah Hellman
726f1bc7b0
fixup! parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
56190c4b0d
fixup! parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
ce6447476c
fixup! parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
1dde9e57e2
borrow link def url if on single line
2023-02-05 20:36:40 +01:00
Noah Hellman
c7b3aa560b
tree: add tree branch reference
...
allow multiple independent iterators for the same underlying tree
safety: not very good, but should work because original tree is kept in
Parser and branches are only used during its lifetime
2023-02-05 20:36:40 +01:00
Noah Hellman
6af5c5c884
fixup! parse inline attrs
2023-02-05 20:36:40 +01:00
Noah Hellman
ecf49100f4
fixup! parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
6c5fcbf57d
parser: impl link references
2023-02-05 20:36:40 +01:00
Noah Hellman
064b4b1f88
inline: rename AttributesDummy -> Placeholder
...
allow general use
2023-02-05 20:36:40 +01:00
Noah Hellman
161dfec96d
inline: word attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
5f9a72545b
lib: raw blocks
2023-02-05 20:36:40 +01:00
Noah Hellman
b0565eb4c6
rm unused var
2023-02-05 20:36:40 +01:00
Noah Hellman
0816ab4dcb
mv inline span structs to span module
2023-02-05 20:36:40 +01:00
Noah Hellman
59664feaf3
fixup! parse inline attrs
2023-02-05 20:36:40 +01:00
Noah Hellman
8d676e1431
parse inline attrs
2023-02-05 20:36:40 +01:00
Noah Hellman
666e9cfd40
fixup! block attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
c0183d4524
inline: impl container attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
352be02ccf
block attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
be333b8715
stuufff
2023-02-05 20:36:40 +01:00
Noah Hellman
5ac05d1919
img
2023-02-05 20:36:40 +01:00
Noah Hellman
6fdbd09cd1
discontinuous spans
2023-02-05 20:36:40 +01:00
Noah Hellman
903578b04d
add cowstr
2023-02-05 20:36:40 +01:00
Noah Hellman
f6fa422e6b
refactorzzz
2023-02-05 20:36:40 +01:00
Noah Hellman
81a4edb884
inline: get rid of verbatim state
2023-02-05 20:36:40 +01:00
Noah Hellman
3339e785a7
maybe functional multi-line inline
2023-02-05 20:36:40 +01:00
Noah Hellman
946d88e5c0
pre remove atomic state
2023-02-05 20:36:40 +01:00
Noah Hellman
e798dc9c28
raw inline format
2023-02-05 20:36:39 +01:00
Noah Hellman
7c53d1a093
add inline State
2023-02-05 20:36:39 +01:00
Noah Hellman
c4e4be7bce
add block parser in addition to block tree parser
2023-02-05 20:36:39 +01:00
Noah Hellman
3a70cd8255
wipppp
2023-02-05 20:36:39 +01:00
Noah Hellman
2303cf3574
verbatim fix
2023-02-05 20:36:39 +01:00
Noah Hellman
a994228bb5
lib wip
2023-02-05 20:36:39 +01:00
Noah Hellman
4e1ada5836
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
75b13597da
fixup! e18f24b99d70338014ab8e4031fad9a17b167b8f
2023-02-05 20:36:39 +01:00
Noah Hellman
5755616870
fixup! 3b4b2e0259b2e84c8199c6f416e2c4f8d466e431
2023-02-05 20:36:39 +01:00
Noah Hellman
80911deb76
fixup! wip inlin passing
2023-02-05 20:36:39 +01:00
Noah Hellman
61dfa91db3
fixup! 37267afca9bb0d048643ae663ec4a9855ce2fff0
2023-02-05 20:36:39 +01:00
Noah Hellman
4aed9fa8e0
fixup! wip inlin passing
2023-02-05 20:36:39 +01:00
Noah Hellman
1c96e6f856
fixup! a7f6782bc13246e3c6f17ab31d58876ba614bb3c
2023-02-05 20:36:39 +01:00
Noah Hellman
15a94f0161
fixup! b1072d5d646f05f9b180d7cb1cd86ae805ed1f6d
2023-02-05 20:36:39 +01:00
Noah Hellman
1dc339403d
fixup! 72be61726056f2c5b1755fd19a8dc92663398158
2023-02-05 20:36:39 +01:00
Noah Hellman
3672a03a0c
fixup! 1878a26deb818a3283eba4d8db3278535cea298c
2023-02-05 20:36:39 +01:00
Noah Hellman
6f5829f686
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
78d6d502b6
fixup! 27d710969473894b59f23ad981fc50cbd3b78977
2023-02-05 20:36:39 +01:00
Noah Hellman
8ada539709
wip djot -> html
2023-02-05 20:36:39 +01:00
Noah Hellman
e84e7dd50b
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
2a2851178a
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
680e8ef65f
remove iter tree / parser
2023-02-05 20:36:39 +01:00
Noah Hellman
660e8041b0
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
82ad0dc93c
inline event span
2023-02-05 20:36:39 +01:00
Noah Hellman
3ca0002df8
wip
2023-02-05 20:36:39 +01:00
Noah Hellman
0d0183e75f
wip inlin passing
2023-02-05 20:36:39 +01:00
Noah Hellman
551a05ad63
cp
2023-02-05 20:36:39 +01:00