Skip to content

feat: program details - #37

Open
jsubida wants to merge 27 commits into
USRSE:mainfrom
jsubida:program-details
Open

feat: program details#37
jsubida wants to merge 27 commits into
USRSE:mainfrom
jsubida:program-details

Conversation

@jsubida

@jsubida jsubida commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Description

Updates build script to support new columns and style

Checklist:

  • (Committee Chairs Only) I have posted the link for the PR to ask for content reviewers
  • I have previewed changes locally
  • I have updated the README.md if necessary

cc ADD GITHUB HANDLES HERE

@jsubida

jsubida commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@exoticDFT @ksbeattie @pained @hctorres

https://output.circle-artifacts.com/output/job/75edf0e2-696b-4342-8eea-261d948a9bd2/artifacts/0/usrse.github.io/usrse26/program/index.html

Old New
Screenshot 2026-08-03 at 09 26 20 Screenshot 2026-08-03 at 09 26 43

Visual Changes

  1. Scroll to top floating button
  2. "RAG Assistants": less purple, "nicer" styling
  3. "Case Studies...": no more bullet points

Google Sheet Changes

  1. Columns being used in latest version of build-program.js are highlighted in green
  2. Event Description and Session Description can process markdown

Other Notes

  1. No support for DOI (yet)
  2. Grid view in another PR

@pained

pained commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

From a quick glance this looks good to me so far

jsubida and others added 26 commits August 3, 2026 15:36
Requirements, design, and tasks for supporting the new Schedule sheet
columns (People, Format, Info_md, Title) in build-program.js, plus the
spec templates used by the spec workflow.
Repoints the Title alias from Session to a new title canonical, maps
People onto the existing speakers field, and adds format and infomd
canonicals. Fixture build output is byte-identical.
Seven page formats carry pill label, page title, permalink, and slug;
Other (and any unrecognized value) opts out of both. Empty cells
normalize to null. Fixture build output is byte-identical.
Events whose Format maps to an abstract page must carry a Title; the
build aborts with one error naming every offending row. Other, unknown,
and empty formats leave Title optional. Fixture output byte-identical.
Handles "A, B and C", Oxford-comma, and bare "A and B" forms without
empty or and-polluted entries; feeds program.json only — display keeps
the cell as typed. Fixture output byte-identical.
Talk entries gain displayed title (Title cell else Talk cell), parsed
people, format, and infoMd; JSON fields append only when non-empty.
A post-fold pass in schedule traversal order assigns page-format events
deduplicated slug anchors and deep-link hrefs; underscored internal keys
are stripped by the JSON writer. Fixture output byte-identical.
Page-format events get a .talk__format pill; with Info_md the title
wraps in a relative_url deep link to its abstract-page anchor. Rows
without new values render byte-identical markup (JSON conditionals
landed with fold in the previous commit).
One pages/program/abstracts/<slug>.md per active format: program.md
-style front matter, generator banner, entries in schedule traversal
order with pinned {#anchor} IALs, bold bylines, and HTML-escaped
Info_md. Stale banner-carrying pages are pruned; banner-less files
(.tbd placeholders, human pages) are never touched.
Emits _data/menus/program.yml (Full Program first, formats in
vocabulary order) whenever abstract pages exist; deletes the
banner-carrying file when none do, reverting the menu to its hidden
state. The hidden/ seed stays human-owned. Legacy fixture builds
create nothing and stay byte-identical.
.talk__format is a bordered accent pill sized like the session eyebrow;
.talk__link underlines the title in the accent color without changing
its weight — both visually distinct from the muted .talk__speakers.
Adds Title, People, Format, and Info_md with five page formats, both
and-variant People forms, Other rows with and without Title, an unknown
format, a legacy talk-cell-only row, and a multi-paragraph quoted
Info_md. Live-sheet artifacts stay untouched per decision 16 — the
daily Action regenerates them after merge.
Stages before the changed-check (plain git diff --quiet misses untracked
new pages) with git add -A so pruning deletions land too; directory
pathspecs avoid failing on a not-yet-generated menubar. Documents the
new sheet columns and script-managed artifacts in the README.
Entries now render an h2 title and italic byline (## Title {#anchor},
_Names_) as on us-rse.org/usrse25/program pages, instead of the h5 +
bold byline the spec originally guessed; spec docs updated to match.
Entries on generated format pages are now separated by ------ rules and
each page sets menubar_toc: true, completing the USRSE'25 page look;
spec docs updated to match.
The schedule grid stays compact: no speakers span (legacy Speakers
included), and the .talk__speakers CSS rule goes with it. People still
appear as abstract-page bylines and in program.json (speakers/people).
Spec docs amended.
Renames Session/Talk/Info/Info_md/Format to Session Topic, Event Title,
Session Description, Event Description, and Event Format (old headers
stay as aliases). classify() is gone: Session Format is used verbatim
(Break/Meal/Registration mute, Plenary highlights), the new Session
Chair renders next to it on the eyebrow, and Session Description renders
as Markdown via a Liquid-injection-safe markdownify capture. Event
Format gains Random Access Microtalk (program/microtalks/). The Title
column and its required-Title validation are retired — Event Title is
the clean display title. Fixture rewritten to the new schema.
The sheet value stays "Random Access Microtalk"; the schedule pill
shows RAM and the abstract page moves to program/rams/ (slug rams).
Also excludes specs/ from the Jekyll build alongside scripts/ and
fixtures/.
@ksbeattie

Copy link
Copy Markdown
Contributor

This looks much improved! A few small things:

  • There seems to be inconsistent presentation of the kind of event is happening within a session. Sometimes they are indented off like in the "RAG Assistants" session and elsewhere they in square brackets. Is it possible to make them more consistent?
  • I may be going back on what was decided earlier, but I think I like seeing authors or at least presenters listed with the event.

These are both minor points that shouldn't hold up the merging of this PR. They can either be done in another PR or discussed (and decided against) later.

@jsubida

jsubida commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author
  • There seems to be inconsistent presentation of the kind of event is happening within a session. Sometimes they are indented off like in the "RAG Assistants" session and elsewhere they in square brackets. Is it possible to make them more consistent?

I was testing it out on just a portion of the program. After filling out the people and format fields in the spreadsheet, e210712 I can safely say it looks better (though I think a few things could still be improved)

https://app.circleci.com/pipelines/github/USRSE/usrse26/123/workflows/70403cc4-03e7-4250-bfc2-e42e023f0acf/jobs/123/artifacts

https://output.circle-artifacts.com/output/job/d3cc7fc4-9176-4619-816f-2fc9efb07f39/artifacts/0/usrse.github.io/usrse26/program/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants