We have run into some problems with our use of SCSS in Pressbooks, in part because we're using SCSS in ways it wasn't ever intended to be used. Rather than refactoring our themes so that we can update to latest version of SCSSPHP, it might make more sense to explore replacing SCSS variables and SCSS more generally with CSS custom properties, now that they're widely support by all modern browsers.
Notes
See https://youtu.be/1FB7oZ47r2k for context and brief explanation. Ned has started experimenting with a prototype to see how feasible this would be for PDF/EPUB exports, in particular. See https://github.com/greatislander/buckram-custom-props
Next steps
We may want to work through Buckram and develop a schema
- easy $variables ->
--var
- harder/more complex (blocks, etc.) that need context block switching, etc.
- look at API that turns theme options -> SASS and how to turn this into custom properties
- look at export routine and replace SCSSPHP processing into ‘combine CSS properties’. For example, :root {
--base-font-size: var(--custom-base-font-size, 14px);
}
- update themes → replace variables with root variable declarations (e.g. :root {
--custom-base-font-size: 12px;
}
Ned’s idea – he could potentially work through Buckram and produce a well-documented schema and migration map. Could even be a Buckram PR. Comprehensive proposal would probably be ~25-30 hours of work for Ned (2-3 months).
We have run into some problems with our use of SCSS in Pressbooks, in part because we're using SCSS in ways it wasn't ever intended to be used. Rather than refactoring our themes so that we can update to latest version of SCSSPHP, it might make more sense to explore replacing SCSS variables and SCSS more generally with CSS custom properties, now that they're widely support by all modern browsers.
Notes
See https://youtu.be/1FB7oZ47r2k for context and brief explanation. Ned has started experimenting with a prototype to see how feasible this would be for PDF/EPUB exports, in particular. See https://github.com/greatislander/buckram-custom-props
Next steps
We may want to work through Buckram and develop a schema
--var--base-font-size: var(--custom-base-font-size, 14px);
}
--custom-base-font-size: 12px;
}
Ned’s idea – he could potentially work through Buckram and produce a well-documented schema and migration map. Could even be a Buckram PR. Comprehensive proposal would probably be ~25-30 hours of work for Ned (2-3 months).