6.6 HTML Theming
One simple theme
fontsize: set base font size. Can be set in absolute units like 16px, 14pt, or relative units like 1.2em, 120%.
See HERE for an overview of CSS font-size units.
Enable dark and light modes
format:
html:
include-in-header: themes/mathjax.html
respect-user-color-scheme: true
theme:
dark: [cosmo, themes/cosmo-dark.scss]
light: [cosmo, themes/cosmo-light.scss]- See HTML basic yaml for basic option settings.
- See HTML format reference for a complete list of all available options.
respect-user-color-scheme: true honors the user’s operating system or browser preference for light or dark mode.
Otherwise, the order of light and dark elements in the theme or brand will determine the default appearance for your html output. For example, since the dark option appears first in the first example, a reader will see the light appearance by default, if respect-user-color-scheme is not enabled.
As of Quarto 1.7, respect-user-color-scheme requires JavaScript support: users with JavaScript disabled will see the author-preferred (first) brand or theme.
Custom Themes
Your custom.scss file might look something like this:
/*-- scss:defaults --*/
$h2-font-size: 1.6rem !default;
$headings-font-weight: 500 !default;
/*-- scss:rules --*/
h1, h2, h3, h4, h5, h6 {
text-shadow: -1px -1px 0 rgba(0, 0, 0, .3);
}Note that the variables section is denoted by
/*-- scss:defaults --*/: the defaults section (where Sass variables go)Used to define global variables that can be used throughout the theme.
/*-- scss:rules --*/: the rules section (where normal CSS rules go)Used to define more fine grained behavior of the theme, such as specific styles for headings, paragraphs, and other elements.
Theme Options
You can do extensive customization of themes using Sass variables. Bootstrap defines over 1,400 Sass variables that control fonts, colors, padding, borders, and much more.
The Sass Variables can be specified within SCSS files. These variables should always be prefixed with a $ and are specified within theme files rather than within YAML options
| Category | Variable | Description |
|---|---|---|
| Colors | $body-bg |
The page background color. |
$body-color |
The page text color. | |
$link-color |
The link color. | |
$input-bg |
The background color for HTML inputs. | |
$popover-bg |
The background color for popovers (for example, when a citation preview is shown). |
You can see all of the variables here:
https://github.com/twbs/bootstrap/blob/main/scss/_variables.scss
Note that when you make changes to your local .scss, the changes will be implemented in-time. That is, you don’t need to re-build your website to see the effects.
Ref:
Quarto document: https://quarto.org/docs/output-formats/html-themes.html
Check sass variables: https://bootswatch.com