Commit graph

320 commits

Author SHA1 Message Date
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
412067a190 tree: add Branch::branch
will be used to defer inline parsing of footnotes
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
4a7967812e lex: fix buggy peek 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
4fad0e9050 fixup! block attributes 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
a4511db0a8 html: skip href attr when url empty 2023-02-05 20:36:40 +01:00
Noah Hellman
d3a98e6626 inline: impl empty link references tag
use text as tag
2023-02-05 20:36:40 +01:00
Noah Hellman
f80991d07a inline: hide empty attributes from output
allow comments
2023-02-05 20:36:40 +01:00
Noah Hellman
e6eb02ad03 fixup! inline: word attributes 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
b512c670e6 attr valid: return whether attrs non-empty 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
b3896908a3 inline: trim verbatim whitespace 2023-02-05 20:36:40 +01:00
Noah Hellman
6e28b0e162 html: ignore attrs on inline quotes 2023-02-05 20:36:40 +01:00
Noah Hellman
8024499069 html: output attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
eb6b58f2a9 fixup! block attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
b937b4f71e inline: span with attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
6bd30f1a58 fixup! mv spans to separate span file 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
1586c2947f fixup! block attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
a1bcc4277d fixup! inline: impl container attributes 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
73d3e05f0a fixup! wip fix span / typeset precedence 2023-02-05 20:36:40 +01:00
Noah Hellman
9dd10a558f fixup! block attributes 2023-02-05 20:36:40 +01:00
Noah Hellman
653bd59eb5 stuuoestnhunoestuh 2023-02-05 20:36:40 +01:00
Noah Hellman
d8d464902a wip fix span / typeset precedence 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
cd54416902 fixup! pre remove atomic state 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
f74ea7a138 span tag / url 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
8957907141 fix dbg print disp -> dbg 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
227c86f4f0 atomic state wip 2023-02-05 20:36:40 +01:00
Noah Hellman
463f146623 need_more -> ready 2023-02-05 20:36:39 +01:00
Noah Hellman
e798dc9c28 raw inline format 2023-02-05 20:36:39 +01:00
Noah Hellman
72bedb53b4 fixup! lexer peekable 2023-02-05 20:36:39 +01:00
Noah Hellman
7c53d1a093 add inline State 2023-02-05 20:36:39 +01:00
Noah Hellman
3c5093f4db lexer peekable 2023-02-05 20:36:39 +01:00
Noah Hellman
13850978c1 noeutnhoesntuh 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
5afc6a41a8 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
60927e7298 fixup! parse block elements 2023-02-05 20:36:39 +01:00
Noah Hellman
89390cf5f6 handle html escapes in html mod 2023-02-05 20:36:39 +01:00
Noah Hellman
564256f1b8 print tree 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
c53988cc47 block wip 2023-02-05 20:36:39 +01:00
Noah Hellman
8a525f753b wip 2023-02-05 20:36:39 +01:00
Noah Hellman
4e1ada5836 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
8bdb598e6c fixup! parse block elements 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
5e3d0e9666 fixup! 73917a033374a26c70dce571639e43ecfc09434d 2023-02-05 20:36:39 +01:00
Noah Hellman
c6e971d7e0 fixup! 1ef07886ce5f38074627ae016bb43dcc17e9eb46 2023-02-05 20:36:39 +01:00
Noah Hellman
6bda70bd09 fixup! bac7bc5c6b04c4697063833550d42fb639e9d994 2023-02-05 20:36:39 +01:00
Noah Hellman
dc689f976f fixup! test_parse, test_block 2023-02-05 20:36:39 +01:00
Noah Hellman
0d7b19c3d4 fixup! 8f3daefd9e69a6457cd20fdbcaa5189734d4e67b 2023-02-05 20:36:39 +01:00
Noah Hellman
7f540505a8 fixup! 6119d912876deec27ba2e97f160a044e3dc08819 2023-02-05 20:36:39 +01:00
Noah Hellman
6a0c1ca3f8 fixup! 21784e2a57450d4ca120f62c317331c6feb1cbbd 2023-02-05 20:36:39 +01:00
Noah Hellman
e080b16bf7 fixup! parse block elements 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
02fb0b6585 fixup! 9458c279b7cfa272420d3eede13459a4ca8c06f0 2023-02-05 20:36:39 +01:00
Noah Hellman
1c96e6f856 fixup! a7f6782bc13246e3c6f17ab31d58876ba614bb3c 2023-02-05 20:36:39 +01:00
Noah Hellman
8ed3c0021a fixup! wip parse inner 2023-02-05 20:36:39 +01:00
Noah Hellman
80804d5009 fixup! 55e92ce5fd6f5ce3ac4cf00445365508156f1f11 2023-02-05 20:36:39 +01:00
Noah Hellman
15a94f0161 fixup! b1072d5d646f05f9b180d7cb1cd86ae805ed1f6d 2023-02-05 20:36:39 +01:00
Noah Hellman
21099a301f fixup! 1f90bc1f72e8c6ed85c6ebcbf6bef9a319c7bee3 2023-02-05 20:36:39 +01:00
Noah Hellman
60372cda33 fixup! e15eb6a0955c5bc1f747738a03bd9fbe93f6ffb1 2023-02-05 20:36:39 +01:00
Noah Hellman
5fe724e873 fixup! 342bb6f78785cc3c7623345a9cabf05dfcd71975 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
d4214ce431 fixup! 37b213fdafacf85b84282d24112b30b80c78c42f 2023-02-05 20:36:39 +01:00
Noah Hellman
6717ed38f5 fixup! b23de9f1fd7da0532614c163344d985b9e34a8aa 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
217676d516 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
5d601c0fff 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
977cabd450 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
b1c6e22735 add html writer 2023-02-05 20:36:39 +01:00
Noah Hellman
ce980db209 inline merge str 2023-02-05 20:36:39 +01:00
Noah Hellman
82ad0dc93c inline event span 2023-02-05 20:36:39 +01:00
Noah Hellman
fb1950233a wip 2023-02-05 20:36:39 +01:00
Noah Hellman
eaea5cf95c inline cont 2023-02-05 20:36:39 +01:00
Noah Hellman
b2bc575e27 test_parse, test_block 2023-02-05 20:36:39 +01:00
Noah Hellman
d32519009e fixup! 5a33d9cae978e1e151d571c610b0f6584db00cc8 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
Noah Hellman
f3e6db018e wip block+inline 2023-02-05 20:36:39 +01:00
Noah Hellman
a41673a3b6 lex 2023-02-05 20:36:39 +01:00
Noah Hellman
8bd9323c48 wip parse inf loop 2023-02-05 20:36:39 +01:00
Noah Hellman
6c5fbc2af1 wip parse inner 2023-02-05 20:36:39 +01:00
Noah Hellman
cc59484086 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
fe45519ca9 wip 2023-02-05 20:36:39 +01:00
Noah Hellman
5aa6d337ff parse inline elements 2023-02-05 20:36:39 +01:00
Noah Hellman
40a612df95 parse block elements 2023-02-05 20:36:26 +01:00