This will make CompileWithVariables obsolete, as you can use InjectValues in combination with the normal Compile instead.
This also introduces a breaking change with CompileWithVariables, as now invalid identifiers will return an error.
- Allow multiple errors and warnings
- Remove ErrorWithPath, which is now replaced by Error
- Simplify parsing, allow multiple errors
- Add more tests for stderr parsing
- Typst dictionaries can use string literals as keys, which is more stable than using identifiers. This also means we don't have to use CleanIdentifier.
- Add more tests for corner cases.
- Arrays with a single entry need a trailing comma
- Add writeRune method
- Negative numbers need to be put in code brackets, otherwise the typst parser will complain in some cases
- Add/change unit tests
- Let TestVariableEncoder test compile generated markup
- Update README.md
- Make VariableEncoder write* methods private
- Add VariableEncoder method to write correctly escaped string literals
- Fix error handling in VariableEncoder
- Add support for time.Time and time.Duration
- Fix MarshalText usage in VariableEncoder
- Encode byte slice so that it is a valid typst bytes object
- Extend tests
- Add functions to clean and check typst identifiers
- Split Error into Error and ErrorWithPath
- Add CLIOptions