Noah Hellman
79b5119209
parse: add Parser::into_offset_iter
...
resolves #3
2023-05-15 19:05:22 +02:00
Noah Hellman
b6b3a6f40b
parse: only get block span content when needed
2023-05-15 19:05:22 +02:00
Noah Hellman
f5c87f32f9
inline: include attribute in end event span
2023-05-15 19:05:22 +02:00
Noah Hellman
42ce9a3670
block: include attributes in open event span
2023-05-15 19:05:22 +02:00
Noah Hellman
b0f88230aa
parse: do not attach block attributes to outer blocks
...
e.g.
- {.inner}
this paragraph would get the inner class previously
2023-05-15 19:05:22 +02:00
Noah Hellman
c377aa9998
block: ensure section span end before attrs
...
e.g
# sec1
<-- end sec1 here
{.sec2-class0}
{.sec2-class1} <-- instead of here
# sec2
2023-05-15 19:05:22 +02:00
Noah Hellman
edd89f2b20
block: expand parse_attr test
2023-05-15 19:05:22 +02:00
Noah Hellman
e84385c2db
block: replace tree with event vec
...
a lot simpler to use and reason about
should also make it easier to move to streaming
2023-05-15 19:05:22 +02:00
Noah Hellman
5e99d98f4f
block: use separate spans for start/end events
2023-05-15 19:05:22 +02:00
Noah Hellman
631c9eff42
block: extend parse_description_list
2023-05-15 19:05:22 +02:00
Noah Hellman
8d1381144e
block: extend parse_code_block
2023-05-15 19:05:22 +02:00
Noah Hellman
c21138d5b9
block: extend parse_table_align
2023-05-15 19:05:22 +02:00
Noah Hellman
4f863f91d5
block: add test parse_description_list_empty
2023-05-15 19:05:22 +02:00
Noah Hellman
d9804d963c
block: add parse_table_empty
2023-05-15 19:05:22 +02:00
Noah Hellman
ee9ea2e023
block: specify heading pos in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
898ed90a24
block: specify div class in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
6cebdfcc0c
block: specify footnote label in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
116245367a
block: specify task check in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
6200b07287
block: specify list marker in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
dbedeeb5ee
block: specify lang in code block event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
e90594f2b7
block: specify link def label in event
...
instead of using span
2023-05-15 19:05:22 +02:00
Noah Hellman
bc4dd794bc
block: store level in event
...
do not use span length as level
2023-05-15 19:05:22 +02:00
Noah Hellman
6abe9e44c7
inline: mv symbol from span to event field
2023-05-15 19:05:22 +02:00
Noah Hellman
9676d9e5d6
inline: mv footnote label from span to event field
2023-05-15 19:05:22 +02:00
Noah Hellman
0a144574f4
inline: mv autolink url from span to event field
2023-05-15 19:05:22 +02:00
Noah Hellman
657b47df12
inline: mv raw format spec from span to event field
2023-05-15 19:05:22 +02:00
Noah Hellman
8be7c4c840
block: replace int literals with byte chars
2023-05-15 19:05:22 +02:00
Noah Hellman
c29b926d16
block: rm redundant block scope
2023-05-15 19:05:22 +02:00
Noah Hellman
0484ee2011
lib: make code block language non option
...
no distinction between empty language and None
2023-05-15 19:05:22 +02:00
Noah Hellman
e79f767604
lib: code block lang -> language
2023-05-15 19:05:22 +02:00
Noah Hellman
924a3c35bb
lib: make div class non option
...
there is no distinction between an empty class and a None
2023-05-15 19:05:22 +02:00
Noah Hellman
116fb04725
lex: remove DollarBacktick token
...
can now read src to check dollar before backticks, so simpler to always
use backtick token
fixes several bugs, e.g.
| $`abc` | (previously did not get closed)
`$abc$` (previously did not get closed)
2023-05-15 19:05:22 +02:00
Noah Hellman
b2d15383e7
inline: allow empty span when followed by url/label/attrs
...
allow e.g. images without alt text ![](url)
2023-05-10 22:12:07 +02:00
Noah Hellman
329207689b
prepass: fix lookup of headings
...
bug caused by confusing binary_search_by_key to be element instead of
index, both of which were usize
2023-05-10 22:04:01 +02:00
Noah Hellman
9efd4e4448
prepass: fix referenced headings with e.g. spaces
...
headings that did not exactly match their ids were previously not
matched with their reference
2023-05-10 22:04:01 +02:00
Noah Hellman
45c86da274
inline: fix unclosed attrs after cont/verb
2023-05-04 19:58:42 +02:00
Noah Hellman
9d9aded764
html: add doc comment to html::Renderer
2023-05-04 19:58:42 +02:00
Noah Hellman
d2a46663f1
html: fix initial newline when hr first element
2023-04-29 14:21:11 +02:00
Noah Hellman
99f4691e52
lib: emit footnotes as they are encountered
...
Previously, footnotes and their children events were skipped (stored in
block tree) and inline parsed at the end. Now, they are emitted by the
parser immediately and the responsibility to aggregate them has been
moved to the renderer.
resolves #31
2023-04-25 21:03:18 +02:00
Noah Hellman
c4ecd0c677
Revert "lib: add Render::render_{event, prologue, epilogue}"
...
This reverts commit e8503e28fd
.
This imposed too many limitations on the renderer implementation. E.g.
making it impossible to store `Event<'s>`'s in the renderer struct.
Revert back to having the renderer struct separate from the implementor
of the Render trait. The implementor may instead create a renderer
struct without any restrictions.
2023-04-25 21:03:18 +02:00
Noah Hellman
8e48021f7a
lib: emit LinkDefinition event
...
resolves #14
2023-04-25 21:03:18 +02:00
Noah Hellman
17b166867f
html: derive Renderer::default
...
setting defaults manually mostly causes rebase conflicts
2023-04-25 21:03:18 +02:00
Noah Hellman
bdab4f021b
lex: eat non special chars separately
...
let tight loop work as long as there no special characters
2023-04-25 20:26:47 +02:00
Noah Hellman
3701d282ac
lex: separate escaped/non-escaped
2023-04-25 20:26:47 +02:00
Noah Hellman
e877fdbde8
inline: rm resolved TODO
...
resolved by a846477cea
2023-04-25 18:35:13 +02:00
Noah Hellman
ab33adc799
lib: cfg guard doctests using html renderer
...
docs do not compile when html feature is off otherwise
2023-04-25 18:35:10 +02:00
Noah Hellman
d2d7f5d474
lib: fix url in autolink/email end event
...
was constant ">" instead of actual url
2023-04-10 18:50:22 +02:00
Noah Hellman
1202160a88
inline: resume attr parsing when new lines received
...
instead of starting over for each new line
2023-04-05 21:17:33 +02:00
Noah Hellman
50205573d0
inline: store attributes in vec
2023-04-05 21:17:33 +02:00
Noah Hellman
62d33effc4
inline: parse multiline attributes
...
reimplement after broken by "take str per line instead of full inline
iter" commit
also resolves #18 and #34
2023-04-05 21:17:33 +02:00