aboutsummaryrefslogtreecommitdiffstats
path: root/readme.md
diff options
context:
space:
mode:
authorLibravatar Titus Wormer <tituswormer@gmail.com>2022-06-24 17:57:10 +0200
committerLibravatar Titus Wormer <tituswormer@gmail.com>2022-06-24 17:57:10 +0200
commita3dd207e3b1ebcbcb6cec0f703a695e51ae4ece0 (patch)
tree7b4bf040da23a03f38efe92a252e187a630a14f6 /readme.md
parente7b3761c8cd6f0f902dd9927e4fbf2589465ed57 (diff)
downloadmarkdown-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 'readme.md')
-rw-r--r--readme.md33
1 files changed, 25 insertions, 8 deletions
diff --git a/readme.md b/readme.md
index e5bc638..6dd8cc5 100644
--- a/readme.md
+++ b/readme.md
@@ -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)