Skip to content

Repo clean-up: single-source exercises, Julia 1.12, notes moved to private repo - #84

Merged
MichielStock merged 5 commits into
mainfrom
cleanup/2026
Sep 15, 2026
Merged

MichielStock merged 5 commits into
mainfrom
cleanup/2026

Conversation

@MichielStock

Copy link
Copy Markdown
Collaborator

Repository clean-up before the 2026–27 edition. Five commits, each self-contained — review commit by commit.

What changes

1. Hygiene (0cab54d)

  • .gitignore rewritten (703 → ~60 lines): no more blanket *.pdf/*.png/*.svg rules (assets no longer need git add -f), Manifests tracked on purpose, examen/ ignored, .vscode/ kept.
  • Removed the upstream template's Cloudflare/goatcounter analytics from src/_includes/layout.jlhtml and the dead homework/track code.
  • README / website_maintenance.md describe this repo (main → gh-pages, Julia 1.12, actual paths); malformed links fixed; installation.md no longer links a non-existent homework page.
  • CheckNotebooks.yml: runs on PRs + pushes to main only, with a paths filter, concurrency group, timeout and SHA-pinned actions (it used to run twice per PR commit).

2. Single source of truth for the exercises (e5862c6)

  • exercises/student_notebooks/ is now the only place to edit. notebook-checks/sync_exercises.jl generates src/exercises/*.jl (frontmatter + Pkg.activate path); the site build runs it with --check and fails on drift. See exercises/README.md.
  • The 9 files that differ from before only carry the student notebook's Pluto version stamp.

3. Julia 1.12 everywhere (e71a168)

  • pluto-deployment-environment re-resolved on 1.12.7 (Enzyme/LLVM toolchain and OpenSSH_jll had to move; site build verified clean, 0 errored cells). Root Manifest.toml is now tracked so students get a reproducible environment. solved_notebooks compat bumped.
  • Known: Pluto 0.20.13 prints an "unsupported Julia version" warning on 1.12; the build passes. Bumping Pluto is a follow-up.

4. Course notes moved out (32b818c)

  • The lecture notes (now Typst) and the notebooks that generate their figures (scripts/, makefigs.jl, course/figures_uncertainty/) live in the private repo Kermit-UGent/ModSim-course-notes.

5. Template leftovers removed (9bf0660)

  • src/mod1_setup_website, src/mod2_add_material, src/mod3_publish_website, src/homework, tracks.jl, netlify.toml, Procfile, requirements.txt, dead make.jls, "backup 1" notebook copies, a duplicate launch_pluto.jl, a stale solution in the student folder.

What to check

  • Open the PR preview site (previews/PR<n>/): the four sections (welcome, cheat sheets, exercises, project) should look unchanged; the old /mod1_setup_website/… and /homework/ pages are gone on purpose.
  • julia notebook-checks/sync_exercises.jl --check from a checkout should report "in sync".
  • If you maintain exercise notebooks: from now on edit only exercises/student_notebooks/, run julia notebook-checks/sync_exercises.jl, commit both.

Not in this PR (open questions)

  • src/_data/homepage.jl still has the template FIXME placeholders (office hours) and course_info.jl says '24-'25.
  • src/welcome/installation.md still says "homework" / "Canvas" in three places.
  • Pluto bump for official Julia 1.12 support.

🤖 Generated with Claude Code

https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB

MichielStock and others added 5 commits September 11, 2026 14:51
…ework code, fix docs and CI triggers

- .gitignore rewritten (703 → ~60 lines): no blanket *.pdf/*.png rules, Manifests tracked,
  examen/ and build outputs ignored, .vscode kept
- layout.jlhtml: remove upstream Cloudflare/goatcounter analytics and homework branches;
  sidebar.js/layout.css: drop dead track-chooser/homework rules
- PlutoDeployment.toml: drop nonexistent tools/* and hw*.jl exclusions
- README/website_maintenance: describe actual layout, main→gh-pages, Julia 1.12,
  fix malformed links; installation.md no longer links the removed homework page
- CheckNotebooks.yml: run on PRs + main only, paths filter, concurrency, timeout, SHA pins
- track project/project_assignment.pdf (student deliverable, was hidden by *.pdf)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB
… source)

notebook-checks/sync_exercises.jl injects the PlutoPages frontmatter and the
deployment-env Pkg.activate line; --check fails CI on drift. The 9 regenerated
files differ only in their Pluto version stamp (student copies are canonical).
ExportNotebooks.yml: Julia 1.12 and a sync check before generate.jl.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB
- pluto-deployment-environment re-resolved on 1.12.7 (Enzyme toolchain + OpenSSH_jll
  moved, forced by LLVM 18); site build verified clean
- root env: drop unused Interpolations; Manifest now tracked for reproducible student envs
- solved_notebooks compat julia = 1.12

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB
…urse-notes repo

The course notes (Typst sources, figures, LaTeX original) and the Pluto notebooks that
generate their figures (scripts/, makefigs.jl, formerly also course/figures_uncertainty/)
now live in the private repository ModSim-course-notes. This public repo keeps the website,
the exercise notebooks, the project and the examples. .gitignore and README updated.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB
src/mod1_setup_website, src/mod2_add_material, src/mod3_publish_website, src/homework,
src/_data/tracks.jl, src/netlify.toml, Procfile, requirements.txt (computational-thinking
template); make.jl and notebook-checks/make.jl (dead build scripts); backup/draft notebook
copies in project/ and examples/; exercises/launch_pluto.jl (duplicate of the root one);
a stale solution in the student folder; an unreferenced image in src/exercises.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W46ssXaK9EvSgdQpGaCJYB
@github-actions

Copy link
Copy Markdown

Once the build has completed, you can preview your PR at this URL: https://Kermit-UGent.github.io/ModSim/previews/PR84/

@MichielStock
MichielStock merged commit 15dc8c7 into main Sep 15, 2026
3 checks passed
@MichielStock
MichielStock deleted the cleanup/2026 branch September 15, 2026 13:16
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.

1 participant