Skip to content

adelevett/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portfolio

A professional development log built as a static site. Each engagement lives as a folder containing a Typst slide deck; metadata is extracted automatically and published to GitHub Pages.

Structure

portfolio/
  {year}/
    {Term}/
      {VENUE}/
        slides.typ        ← source of truth (slides + metadata)
        assets/           ← images referenced in slides
        engagement.json   ← generated by CI (do not edit by hand)
        slides.pdf        ← generated by CI

Adding an engagement

  1. Create the folder: mkdir -p 2026/Fall/MYCONF/assets
  2. Copy your slides.typ in, add the metadata block (see below)
  3. Add any images to assets/
  4. Push — CI handles the rest

Metadata block

Add this near the top of slides.typ, after your imports:

#metadata((
  title: "Your Talk Title",
  event: "Conference Name and Theme",
  year: "2026",
  term: "Fall",        // Spring | Fall
  venue: "MYCONF",     // short slug matching folder name
  location: "City, Country",
  date: "2026-09-15",  // ISO 8601
  collaborators: (),   // ("Name One", "Name Two") or ()
  tags: ("topic", "another-topic"),
  blurb: "One or two sentences for the site card.",
  hero: "assets/your-hero-image.png",   // wide, used on leaf page
  thumb: "assets/your-thumb-image.png", // square-ish, used on landing card
)) <engagement>

Local development

npm install
npm start        # serves at http://localhost:8080

The engagement.json files are committed alongside slides.typ so you can develop the site locally without running Typst. When you push, CI regenerates them from source.

How CI works

On every push to main, GitHub Actions:

  1. Installs Typst
  2. Finds every slides.typ in the tree
  3. Runs typst query to write engagement.json
  4. Runs typst compile to produce slides.pdf
  5. Builds the Eleventy site
  6. Deploys to GitHub Pages

Enable Pages in your repo settings: Settings → Pages → Source → GitHub Actions.

Tech

About

key information handouts - representative projects (e.g., workshops, tutorials, etc.) - evidence of professional development activities

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors