Package for running slidev presentations
  • CSS 45.5%
  • Vue 26%
  • TypeScript 18.2%
  • JavaScript 6.4%
  • TeX 3.9%
Find a file
2026-08-04 14:32:33 -04:00
components Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
public Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
setup Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
shims Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
.gitignore Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
CLAUDE.md Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
example.md Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
LICENSE Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
package-lock.json Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
package.json Bump version to 0.1.1 2026-08-04 14:32:33 -04:00
README.md Fix repository URL to actual Forgejo path (Templates org, ssh://...:443) 2026-08-04 14:32:22 -04:00
style.css Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
uno.config.ts Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00
vite.config.ts Initial extraction of Bonham Lab Slidev branding as a reusable addon 2026-08-04 12:03:57 -04:00

@bonhamlab/slidev-template

Bonham Lab branding as a reusable Slidev addon: fonts, colors/type-scale CSS vars + matching UnoCSS tokens, code-block theme, <LabLogo> and <ProseCite> components, the FooterBar component, and the slidev-addon-citations Vite workaround — shared across every lab talk deck instead of copy-pasted into each one.

Install

Not published to npm — installed as a git dependency:

"dependencies": {
  "@bonhamlab/slidev-template": "git+ssh://git@code.bonhamlab.bio:443/Templates/slidev-addon-bonhamlab.git#v0.1.0"
}

Then in your deck's frontmatter:

addons:
  - "@bonhamlab/slidev-template"

What this does NOT provide

Fonts and favicon are not bundled. Slidev's addon/theme static-copy mechanism does not reliably flatten an addon's public/ folder into a predictable URL (verified empirically — see this package's CLAUDE.md), so every consuming deck must keep its own copy of:

  • public/fonts/*.woff2 (15 IBM Plex Sans/Serif/Mono files)
  • public/favicon.png

Copy these from this package's own public/ folder (or from an existing talk repo) into your deck's public/. style.css in this package references them at root-relative paths (/fonts/..., matching where your own public/fonts/ gets served).

What you still need per-talk

  • slides.md (your actual content)

  • footer-info.ts (presenter/date/venue) + a thin global-bottom.vue wrapper:

    <script setup lang="ts">
    import { footerInfo } from './footer-info'
    </script>
    
    <template>
      <FooterBar :footer-info="footerInfo" />
    </template>
    
  • public/fonts/, public/favicon.png (see above)

  • public/biblio/<yourfile>.bib + a biblio: config block in your deck's frontmatter

Development

npm install
npm run dev    # runs example.md
npm run build

example.md is this package's own demo deck — also useful as a smoke test after changing anything here, since addon .vue/.ts files aren't compiled ahead of time (Slidev compiles them from source, same as slidev-addon-citations).

Versioning

Tag a new version (git tag vX.Y.Z && git push --tags) after any branding change, then bump the git ref in each consuming deck's package.json and reinstall.