A Quarto extension that provides shared styling and infrastructure for Arcadia Science notebook publications.
- CSS styling: brand colors, typography, layout (navbar, footer, sidebar, article styling)
- Interactive components: Mini-title sticky header, author reveal with roles/ORCID, citation box modal, logo animation, version dropdown, etc.
- Filters:
abstract-sectionfilter that renders Summary sections with special styling - Shortcodes:
iconifyshortcode for icons in navbar and content - Assets: Arcadia citation style (CSL), logo files, etc.
quarto add Arcadia-Science/notebook-pub-themeOr clone/copy the extension into your project's _extensions/ directory.
After installing, update your _quarto.yml:
format: arcadia-science/arcadia-pub-theme-html
shortcodes:
- _extensions/arcadia-science/arcadia-pub-theme/iconify.lua
filters:
- _extensions/arcadia-science/arcadia-pub-theme/filters/abstract-section.luaYour publication also needs an assets/ directory with logo files:
logo_white.pnglogo_text.pnglogo_movie.mp4
These can be copied from the extension's assets/ directory.
To test changes to the theme extension, use the notebook-pub-template repo which includes a demo notebook that exercises various styling features:
-
Clone both repos:
git clone https://github.com/Arcadia-Science/notebook-pub-template.git git clone https://github.com/Arcadia-Science/notebook-pub-theme.git
-
Symlink the extension into the template:
cd notebook-pub-template rm -rf _extensions/arcadia-science mkdir -p _extensions/arcadia-science ln -s ../../../notebook-pub-theme/_extensions/arcadia-science/arcadia-pub-theme _extensions/arcadia-science/arcadia-pub-theme -
Run the preview:
make preview
-
Make changes to CSS, JS, or other extension files in
notebook-pub-theme- the preview will hot-reload
| Content | Location | Rationale |
|---|---|---|
| CSS, JS, filters | Extension | Shared across all pubs, updated centrally |
| Logo assets | Both extension and pub | Pubs need copies for build; extension has canonical versions |
| Demo notebook | Template (examples/) |
Used to test the theme during development |
_quarto.yml config |
Pub | Contains pub-specific settings |
authors.yml, _variables.yml |
Pub | Pub-specific metadata |
-
CSS changes: Edit files in
css/. Themain.cssimports all others. -
JavaScript changes: Edit HTML files in
includes/. These contain<script>tags with the JS. -
Filter changes: Edit
filters/abstract-section.lua. -
Adding new CSS variables: Add to
css/colors.cssfor colors orcss/main.cssfor other variables.