bdarcus / csln

Reimagining CSL
Mozilla Public License 2.0
13 stars 0 forks source link

refactor: merge crates #110

Closed bdarcus closed 1 year ago

bdarcus commented 1 year ago

Rather than adding yet another crate for common types, merge the key existing ones.

The processor one will remain independent.

Todo:

Want to add #106 #20, to make sure this all works as intended (since I settled on this trying to implement that feature, and had a circular dependency). This itself is not straightforward, given my use of distinct enums for reference types.

See Hayagriva for a different approach; seems they use an enum just for the main reference only, and parents can be untyped. They have other ways to determine "types" on parents:

https://github.com/typst/hayagriva/blob/5f77bfb6dd3ada3db57d308d134908ee7245f77d/src/types.rs#L41 https://github.com/typst/hayagriva/blob/5f77bfb6dd3ada3db57d308d134908ee7245f77d/src/style/mla.rs#L208

Selectors:

https://github.com/typst/hayagriva/blob/5f77bfb6dd3ada3db57d308d134908ee7245f77d/docs/selectors.md