/slides

Slides for various talks nipafx gives

Primary LanguageCSSOtherNOASSERTION

Slides

Slides for various talks I give and have given. They are written with the awesome Asciidoctor and visualized with reveal.js via asciidoctor-reveal.js. Thanks to GitHub Pages you can see them on slides.nipafx.dev.

Setup

Execute these commands in the repository's root directory (see Repository Structure for details):

# for folder `_reveal.js`
git submodule init
git submodule update
# for folder `_slides`
git worktree add _slides gh-pages

# select NodeJS version
# (if you don't use nvm, find the NodeJS version in the file `.nvmrc`)
nvm use
# install asciidoctor-reveal.js and other dependencies
npm install

Editing...

... slides

  • execute npm run generate to generate all slides decks
  • execute npm run observe to automatically regenerate a deck whenever a file changes
  • use your favorite way to launch a web server in the folder _slides to see the result
  • execute npm run permalink $talk-dir $date "$event-name" to generate permalinks for a talk

... themes

To edit the theme do a full setup for reveal.js in _reveal.js and check the guide on creating themes. To generate the distribution files, run npm run build in _reveal.js.

Repository Structure

An amalgam of submodules and worktrees...

Branch main:

  • _highlight.js (downloaded from highlightjs.org)
  • _reveal.js (submodule ~> nipafx/reveal.js; nipa-talks)
  • _shared (contains snippets that are shared among presentations)
  • _shared-images (contains images that are shared among presentations)
  • a subdirectory for each presentation, with all required files except shared ones
  • meta-information (LICENSE, README, ...)

Branch gh-pages:

  • _highlight.js (with copies of all used versions of HighlightJS)
  • _images (folder for all images)
  • _reveal.js (with copies of all used versions of RevealJS)
  • landing page (favicon, index.html, CNAME for GH Pages)