A library to parse shortcodes as used in Hugo and Nikola
Roberto Alsina
c0f4da86fe
* Create a sc_result struct that can contain errors as well as the parse results. * Use sccount to report the found shortcodes instead of checking values * Various Makefile and test-running fixes Reviewed-on: #1 Co-authored-by: Roberto Alsina <roberto.alsina@gmail.com> Co-committed-by: Roberto Alsina <roberto.alsina@gmail.com> |
||
---|---|---|
.vscode | ||
.gitignore | ||
Makefile | ||
README.md | ||
shortcodes.h | ||
shortcodes.rl | ||
tests.c | ||
TODO.md |
Shortcodes
This is a parser for the shortcode spec as explained in the Hugo docs and used in Hugo and Nikola. Approximately.
I am implementing this for Nicolino.
It probably won't be 100% identical, but I'll try to make it as close as practical.
- Implemented in Ragel + C for performance
- Allocates no memory, because all strings are references to pieces of input.
What works:
- Detect shortcodes with names
- Standalone and matched shortcodes
- Capture data between tags in matched shortcodes
- Capture arguments with and without names
- Capture values with and without quotes (with details, see TODO above)