I didn't even realize footnotes were part of the spec, and had I known, there would probably be way more of them
One other solution to this that came up in the RST discussion was having a custom URI scheme for addressing dynamic links.
This is really cool, do you think you could spend a few minutes writing some sort of post about your experience with Rust and writing this parser? I would love to hear from someone with as much experience as you about how you feel about the language.
Also, jgm seems to think that this is a faster implementation than the C reference implementation!
I'll probably write something. Overall it was a good experience. Since I was going for performance (it is faster than the cmark reference implementation), I had to go fairly low level, most of my scanning methods deal directly with byte arrays of utf-8. Other than that, I felt that the language and libraries (especially iterators) helped get this done in a clean way. It's all pure safe Rust 1.0, and I didn't feel a strong need to step outside that, even in the pursuit of performance.
I think the combination of safety and performance really is a big deal. While I was researching edge cases, I came across an undefined behavior bug in cmark. This is in spite of the library being "extensively fuzz-tested using american fuzzy lop".
Anyway, glad you like it!
License is MIT now: https://github.com/google/pulldown-cmark/commit/dd7054e625022128455aac5c2d8cec2f244afadf
Just need to wait for a new release.
Holy shit yesssss
So hype to clean up rustdoc