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
df8846cdba
block: fix headings with first line empty
2023-02-05 20:36:40 +01:00
Noah Hellman
bfa58dfc0d
block: allow repeating '#' in headings
2023-02-05 20:36:40 +01:00
Noah Hellman
451b2360f4
fixup! parser: apply link def attrs to link
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
1c77b035b2
fixup! fixup! 27d710969473894b59f23ad981fc50cbd3b78977
2023-02-05 20:36:40 +01:00
Noah Hellman
25864fa467
fixup! block: add hierarchical heading sections
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
5347def13c
fixup! block: split parse_block function
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
6cf5aca1e3
fixup! stuuoestnhunoestuh
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
fee50d36fb
block: parse div fences
2023-02-05 20:36:40 +01:00
Noah Hellman
dc2647910c
block: remove code block indentation
2023-02-05 20:36:40 +01:00
Noah Hellman
a60e40e1f3
block: split parse_block function
2023-02-05 20:36:40 +01:00
Noah Hellman
a03d46dfaf
inline: impl smart em/endash
2023-02-05 20:36:40 +01:00
Noah Hellman
b10798b778
inline: impl smart ellipsis
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
8237384077
span: add empty_{before,after}, after, between
2023-02-05 20:36:40 +01:00
Noah Hellman
f7ead5a69f
fixup! mv spans to separate span file
2023-02-05 20:36:40 +01:00
Noah Hellman
d8d69b2488
fixup! inline: disallow containers of zero length
2023-02-05 20:36:40 +01:00
Noah Hellman
d0084b0d87
fixup! inline: disallow whitespace after/before emph
2023-02-05 20:36:40 +01:00
Noah Hellman
5827890055
lex: rm unused hash token
2023-02-05 20:36:40 +01:00
Noah Hellman
5ed30af34d
lex: rm unused colon token
2023-02-05 20:36:40 +01:00
Noah Hellman
c23dbf8e34
lex: rm unused plus token
2023-02-05 20:36:40 +01:00
Noah Hellman
961086dc5d
lex: rm unused percentage token
2023-02-05 20:36:40 +01:00
Noah Hellman
bc787a1553
lex: rm unused gt token
2023-02-05 20:36:40 +01:00
Noah Hellman
bdf35ca7d1
lex: rm unused equal token
2023-02-05 20:36:40 +01:00
Noah Hellman
da74f09de0
lex: allow brace symbol pair to have non symbol
2023-02-05 20:36:40 +01:00
Noah Hellman
d530ad6da5
lex: rm unused ampersand token
2023-02-05 20:36:40 +01:00
Noah Hellman
a0ff5594fc
lex: rm unused paren tokens
2023-02-05 20:36:40 +01:00
Noah Hellman
5209f8d271
lex: remove unused integer token
2023-02-05 20:36:40 +01:00
Noah Hellman
f03f905788
fixup! fixup! block: fix container indent trim on enter
2023-02-05 20:36:40 +01:00
Noah Hellman
7b632bf853
fixup! block: fix container indent trim on enter
2023-02-05 20:36:40 +01:00
Noah Hellman
7b6b2c0420
fixup! block: parse captions
2023-02-05 20:36:40 +01:00
Noah Hellman
e56f6b2e67
fixup! block: parse tables
2023-02-05 20:36:40 +01:00
Noah Hellman
373567a6dc
fixup! inline fixup
2023-02-05 20:36:40 +01:00
Noah Hellman
0605a0d901
fixup! inline: disallow whitespace after/before emph
2023-02-05 20:36:40 +01:00
Noah Hellman
d050c504ae
inline: disallow whitespace after/before emph
2023-02-05 20:36:40 +01:00
Noah Hellman
b78b2866a8
fixup! inline fixup
2023-02-05 20:36:40 +01:00
Noah Hellman
641e904074
inline: disallow containers of zero length
2023-02-05 20:36:40 +01:00
Noah Hellman
7ee1c7514d
inline fixup
2023-02-05 20:36:40 +01:00
Noah Hellman
8339befe2f
block: parse captions
2023-02-05 20:36:40 +01:00
Noah Hellman
99f10fda4c
tree: allow exiting empty containers
2023-02-05 20:36:40 +01:00
Noah Hellman
46fcb17108
html: write header tags
2023-02-05 20:36:40 +01:00
Noah Hellman
c288264aee
block: parse tables
2023-02-05 20:36:40 +01:00
Noah Hellman
6ec5b09367
tnoheu
2023-02-05 20:36:40 +01:00
Noah Hellman
50287ca9da
Revert "block: override roman list with alpha if encountered"
...
This reverts commit 7bdccbef65cf76da4cffaa3cac9b3f139f945036.
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
6fbea2f9b3
block: override roman list with alpha if encountered
...
i.e
i) a
j) b
where i) initially makes list RomanLower, but j) then overrides it to
AlphaLower
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
35beb18dad
fixup! block: fix container indent trim on enter
2023-02-05 20:36:40 +01:00
Noah Hellman
e5c4ca5450
fixup! 238e445f3012485d96aba81ca01ee45d7ba97370
2023-02-05 20:36:40 +01:00
Noah Hellman
fd977ca6c8
fixup! wipppp
2023-02-05 20:36:40 +01:00
Noah Hellman
c02b13327c
fixup! 68b47e4b64caec48783d8e001c5d58f6c9de9044
2023-02-05 20:36:40 +01:00
Noah Hellman
64c7678775
block: fix container indent trim on enter
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
c4a9a3e0b0
fixup! block: parse list item
2023-02-05 20:36:40 +01:00
Noah Hellman
a9ce70aae3
html: render tight 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
1f71df82ef
html: render lists, list items
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
3123bd1a57
fixup! fix dbg print disp -> dbg
2023-02-05 20:36:40 +01:00
Noah Hellman
fb8a4c4a55
fixup! 427f999d61542d21221da4626ebbabb3ded51d63
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
0f7ef85f6e
fixup! add block parser in addition to block tree parser
2023-02-05 20:36:40 +01:00
Noah Hellman
7a5ef1e695
fixup! 6a1fcf07cc01a64ab2665cbe249bc5b047869e37
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
7ce78f95fa
block: trim inline indentation
2023-02-05 20:36:40 +01:00
Noah Hellman
b2d39e3ded
lex: let closing BraceEqual have - after Hyphen seq
...
e.g. ---} -> -- + -} instead of --- + }
2023-02-05 20:36:40 +01:00
Noah Hellman
79e2eab107
fixup! inline: hide empty attributes from output
2023-02-05 20:36:40 +01:00
Noah Hellman
79dfd3be36
inline: do not merge discontinuous str
...
may appear when ignoring attributes
2023-02-05 20:36:40 +01:00
Noah Hellman
d3b2ee14cb
amend! inline: hide empty attributes from output
...
inline: hide empty attrs, whitespace attrs from output
in order to allow comments
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
0e171c2cf2
html: filter out blanklines, escape
...
These are not visible, but the blankline breaks the peek for
End(Footnote) to detect whether to append the last paragraph with a
backreference link. A peek will now find the end event instead of an
invisible blankline.
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
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