diff options
author | Titus Wormer <tituswormer@gmail.com> | 2022-06-24 17:57:10 +0200 |
---|---|---|
committer | Titus Wormer <tituswormer@gmail.com> | 2022-06-24 17:57:10 +0200 |
commit | a3dd207e3b1ebcbcb6cec0f703a695e51ae4ece0 (patch) | |
tree | 7b4bf040da23a03f38efe92a252e187a630a14f6 /readme.md | |
parent | e7b3761c8cd6f0f902dd9927e4fbf2589465ed57 (diff) | |
download | markdown-rs-a3dd207e3b1ebcbcb6cec0f703a695e51ae4ece0.tar.gz markdown-rs-a3dd207e3b1ebcbcb6cec0f703a695e51ae4ece0.tar.bz2 markdown-rs-a3dd207e3b1ebcbcb6cec0f703a695e51ae4ece0.zip |
Add link, images (resource)
This is still some messy code that needs cleaning up, but it adds support for
links and images, of the resource kind (`[a](b)`).
References (`[a][b]`) are parsed and will soon be supported, but need matching.
* Fix bug to pad percent-encoded bytes when normalizing urls
* Fix bug with escapes counting as balancing in destination
* Add `space_or_tab_one_line_ending`, to parse whitespace including up to
one line ending (but not a blank line)
* Add `ParserState` to share codes, definitions, etc
Diffstat (limited to '')
-rw-r--r-- | readme.md | 33 |
1 files changed, 25 insertions, 8 deletions
@@ -82,9 +82,9 @@ cargo doc --document-private-items - [x] heading (setext) - [x] html (flow) - [x] html (text) -- [ ] (3) label end -- [ ] (3) label start (image) -- [ ] (3) label start (link) +- [x] label end +- [x] label start (image) +- [x] label start (link) - [ ] (8) list - [x] paragraph - [x] thematic break @@ -113,9 +113,9 @@ cargo doc --document-private-items - [x] hard break (escape) - [x] hard break (trailing) - [x] html (text) - - [ ] label end - - [ ] label start (image) - - [ ] label start (link) + - [x] label end + - [x] label start (image) + - [x] label start (link) - [x] string - [x] character escape - [x] character reference @@ -124,10 +124,28 @@ cargo doc --document-private-items #### Docs +- [ ] (1) Media in compiler (`Media`, `encode_opt`) +- [ ] (1) `LINK_RESOURCE_DESTINATION_BALANCE_MAX` in constants +- [ ] (1) `label_start_image`, `label_start_link` +- [ ] (1) `label_end` +- [ ] (1) `space_or_tab_one_line_ending` +- [ ] (1) `ParseState` +- [ ] (1) Image, Link, and other media token types; `LabelStart`, `Media` +- [ ] (1) Resolvers, push, feed, etc. - [ ] (1) Go through all bnf - [ ] (1) Go through all docs - [ ] (1) Add overview docs on how everything works +#### Refactor + +- [ ] (1) Move map handling from `resolve_media`, reuse in `subtokenize` +- [ ] (1) Clean shifting, assertions in the above helper +- [ ] (1) Clean `space_or_tab_one_line_ending` +- [ ] (1) Use `link_to` (and `space_or_tab_one_line_ending`) in more places? + It’s probably better +- [ ] (1) Force chunks in `link_to`, disallowing `LineEnding` and such +- [ ] (1) Clean feeding, resolving + #### Parse - [ ] (1) Parse initial and final space_or_tab of paragraphs (in text)\ @@ -136,8 +154,7 @@ cargo doc --document-private-items `misc_tabs`, `thematic_break`) - [ ] (3) Interrupting (html flow complete) - [ ] (5) labels\ - test (`character_escape`, `character_reference`, `definition`, - `misc_dangerous_protocol`, `misc_tabs`, `misc_url`, `thematic_break`)\ + test (`character_escape`, `character_reference`, `definition`)\ link link reference (definition)\ link label end (destination, label, title)\ link label start (label) |