Skip to content

Replace external fonts with self-hosted - #10

Merged
ElektrikAkar merged 6 commits into
mainfrom
font-update
Sep 3, 2026
Merged

Replace external fonts with self-hosted#10
ElektrikAkar merged 6 commits into
mainfrom
font-update

Conversation

@dclovell

@dclovell dclovell commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Replace external Adobe fonts with self-hosted Google fonts. Update deprecated SCSS.

Replace external Adobe fonts with self-hosted Google fonts. Update deprecated SCSS.
@dclovell
dclovell requested review from a team and ElektrikAkar September 2, 2026 20:18
@ElektrikAkar ElektrikAkar self-assigned this Sep 3, 2026
ElektrikAkar and others added 5 commits September 3, 2026 16:31
The classic GitHub Pages build pins jekyll-sass-converter 1.5.2 and Ruby
Sass 3.7.4, which cannot parse the Sass module system (@use, color.adjust)
introduced in the previous commit. Adding front matter to style.scss also
made Jekyll compile the stylesheets for the first time, so the pinned
toolchain would have failed the build outright.

Replace the branch-based Pages build with an Actions workflow running
Jekyll 4 (jekyll-sass-converter 3.x / sass-embedded), and fix the issues
that surfaced once the stylesheets are actually compiled:

- Gemfile pinning jekyll ~> 4.4.
- .github/workflows/pages.yml: build on every push and pull request,
  deploy only from main. Includes a check that each @font-face URL in the
  generated CSS resolves to a file in the built site.
- _config.yml: set sass_dir, which otherwise defaults to the
  non-existent docs/_sass and leaves the import path empty.
- Rename _style.scss to _main.scss. With both _style.scss and style.scss
  in the same directory, `@import "style"` is ambiguous and Dart Sass
  refuses to resolve it.
- Fix @font-face URLs: the fonts are at docs/fonts, not docs/assets/fonts,
  so from /styles/css/style.css the correct prefix is ../../fonts/.
- Remove the committed docs/styles/css/*.css. They are now generated at
  build time, and two sources writing the same destination is a Jekyll
  conflict. Ignore the output directory.

Requires Settings > Pages > Source to be changed to "GitHub Actions".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PR #11 re-added the entry at column 0, making it a top-level sequence
item whose following keys are indented by 4. YAML cannot parse this:

  docs/_data/people.yml:26 bad indentation of a mapping entry

Jekyll therefore fails to build, so the site has been serving the last
successful build from 7 July and none of the alumni changes are live.
Indent the entry by two spaces so it is again a member of the
"Post-doctoral researchers" people list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The malformed people.yml merged in PR #11 reached main because nothing
checked it. Jekyll does abort on the error, but only with a Psych
backtrace; this step names the offending file and line first.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
psych does not require "date" eagerly; it is loaded lazily only when a
date-like scalar is parsed, and no file under docs/_data contains one.
So `permitted_classes: [Date, Time]` raised NameError before any file was
read, which the Psych::SyntaxError rescue did not catch, and the step
failed on valid data.

Use YAML.unsafe_load_file, which needs no permitted_classes, and rescue
StandardError while reporting the exception class so a future failure
here is legible rather than silent.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ElektrikAkar
ElektrikAkar merged commit c419571 into main Sep 3, 2026
2 checks passed
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.

2 participants