The training index of IQSS Data Science Services: every workshop and beginner's guide we have published, on one page, at https://iqss.github.io/dss-training/.
The page is built from one file, catalogue.yml. Each entry is a workshop or guide with its title, language, year, a one-sentence description, and links; the build draws the honeycomb, the card beside it, and the catalogue beneath from those entries.
- Add an entry under
itemsincatalogue.yml. The fields are described at the top of the file;iconis any Lucide icon name;hexis the label on the hexagon, with|where the line breaks. - Give it a hexagon: put its id in one of the
comb.rows(rows hold seven), or in a group'sitemsif it shares a hexagon with something else. - Put its id in
workshops(under the right language) or inguides. - Push to
main. The site rebuilds and deploys itself in about a minute.
The build fails with a message if an item is missing from the comb or the lists, or names an icon that does not exist.
Requires Quarto and Node 20 or later.
npm ci # once: the icon set and the YAML reader
npm run build # once: writes the generated parts to _includes/
quarto preview # builds, serves, and rebuilds on save
quarto render # builds to _site/quarto render runs node src/render.mjs itself before each render, but it looks for the included files before that step runs, so the first build on a fresh checkout needs npm run build once.
index.qmdholds the page's prose and includes the generated parts.src/render.mjsturnscatalogue.ymlinto the honeycomb (an inline SVG), the catalogue rows, and the link lists.assets/comb.jsfills the card when a hexagon is clicked and applies the language chips. Without JavaScript the page still lists everything.theme.scsscarries the look, matched to the IQSS site..github/workflows/publish.ymldeploys to GitHub Pages on every push tomain.
Icons are from Lucide (ISC license).
Code (templates, configuration, scripts): MIT, see LICENSE. Catalogue text and page prose: CC BY 4.0, see LICENSE-content. Linked workshop materials and guides keep the licences of their own repositories.