Skip to content

acm-uiuc/banks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banks of the Boneyard

The student-run publication of ACM @ UIUC, published at banks.acm.illinois.edu.

The site has two parts:

  • Current issue — the latest issue, published as web-native Markdown articles (a Medium-style reading experience). It is the homepage.
  • Archive — every back issue in its original typeset form (PDF / scan / PostScript / source), browsable by volume.

Repository layout

archive/                   # the ARCHIVE — typeset back issues (top-level)
  <volume>/<YYYY-MM-DD>-<slug>/   # folder names are shell/URL-safe, no spaces
    issue.md               # frontmatter only (volume, issue, date, label?, note?, print)
    <files>.pdf/.ps/…      # the print artifacts referenced by issue.md
website/                   # the Astro site
  content/current/         # the CURRENT issue — web articles
    <article>.md           # frontmatter: title, authors, … (see below)
    images/                # images referenced by the articles
  src/                     # site code (pages, components, collections)
  public/                  # static assets (+ generated public/files/, see below)
logo/                      # source logo files

The archive lives in the top-level archive/ folder — its files are static (served via the collector below), so it can sit anywhere. The current issue lives in website/content/current/; it has to be inside the project so Astro's dev server can render the article images. The site reads both through Astro content collections (archive, current), and website/scripts/collect-archive-assets.mjs publishes only the print files named in each issue.md (run automatically before dev/build).

Developing

cd website
npm install
npm run dev       # also runs the archive-asset collector first
npm run build

Adding an article to the current issue

Drop a Markdown file in website/content/current/. Minimal frontmatter:

---
title: "Banks of the Boneyard Rises from the Dead!"
authors:
  - "Yanni Zhuang"
---

Optional fields: subtitle, byline (overrides authors), date, order (lower sorts first), slug (defaults to the filename), and image ({ src, alt, attribution }) used as the article header and feed thumbnail. Put article images in website/content/current/images/ and reference them with relative paths, e.g. ![Career fair](images/career_fair.jpg).

Update the masthead in website/src/config.ts (currentIssue: { volume, number, date }) when the issue changes.

Adding an issue to the archive

Create a folder named archive/<volume>/<YYYY-MM-DD>-<slug>/ (no spaces or parentheses) with an issue.md:

---
volume: 16
issue: 3                        # number, or a name for un-numbered specials ("EOH")
date: "1997-11-01"
label: "Quad Day"               # optional special-edition label
note: "Only page 7 survives"    # optional editorial caveat
slug: 3-quad-day                # optional; defaults to the issue. Set when a label
                                # should appear in the URL, or to disambiguate.
print:
  pdf: Vol16Issue3-Nov.pdf      # final/built PDF
  pdf_scan: scan.pdf            # scanned PDF, if different
  source: Vol16Issue3-Nov.ps    # LaTeX/Typst/PostScript; zip if multiple files
  website: https://…            # external host (e.g. Internet Archive)
---

Put the referenced files alongside issue.md. The collector copies them to /files/<volume>/<slug>/…; anything not named in print: stays private. The issue's URL is /archive/<volume>/<slug> — slugs only need to be unique within a volume. credits (a list of { title, names }) is also supported.

Rolling over to a new issue (maintainers)

When a new issue is ready:

  1. Archive the outgoing issue. Add it under archive/… with its final typeset PDF (and source, if available), as above.
  2. Swap in the new articles. Replace the files in website/content/current/ (and website/content/current/images/) with the new issue's articles.
  3. Update the masthead. Bump currentIssue in website/src/config.ts.

Old /issues/* links redirect to /archive/* (see website/public/_redirects).

About

Banks of the Boneyard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors