Skip to content

Sync high-value al-folio features (theme/system, publications, charts, search, Docker) - #2

Merged
garygsw merged 8 commits into
masterfrom
feature/al-folio-features
Jul 11, 2026
Merged

Sync high-value al-folio features (theme/system, publications, charts, search, Docker)#2
garygsw merged 8 commits into
masterfrom
feature/al-folio-features

Conversation

@garygsw

@garygsw garygsw commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Ports five modern al-folio features onto the current (Bootstrap-4) fork by hand — no upstream merge — each as its own commit. Built and QA'd locally.

Features

  1. Docker dev env + cleanupDockerfile + docker-compose.yml pin Ruby 3.2 for reproducible local builds (fixes host Ruby 4.0 dropping ostruct etc.); Gemfile lists the stdlib shims for Ruby 4.x; removed obsolete .travis.yml and bin/ scripts. Deploy still via existing Actions.
  2. Light / Dark / System theme — the navbar toggle now cycles light → dark → system; "system" follows the OS prefers-color-scheme live.
  3. Publications: Google Scholar citations — a clean shields.io "Cited by N" badge per paper (linking to Scholar), counts in _data/citations.yml, auto-refreshed weekly by .github/workflows/update-citations.yml (bin/update_scholar_citations.py, using scholarly). Default venue badges, no stars/colors.
  4. Jupyter + charts in blog — per-page opt-in loaders for Chart.js, Plotly, Mermaid, pseudocode.js, TikZ, and a jupyter_notebook embed include. Demo post included (_posts/2024-06-01-visualizations-demo.md, safe to delete).
  5. Full-site search (ninja-keys) — command palette over pages/posts/projects, ⌘K / Ctrl-K. Shipped disabled (enable_search: false) for now — flip to true in _config.yml to enable.

Notes

  • Rebased on the merged WhiteCoat content (PR Update site to reflect current WhiteCoat role #1); no conflicts.
  • Merging deploys to the live site via deploy.yml.
  • _data/citations.yml was seeded with live Scholar counts (SmoothTaylor 63, etc.); the weekly Action keeps it current (may hit Scholar CAPTCHA in CI — counts persist between successful runs).

🤖 Generated with Claude Code

garygsw and others added 8 commits July 11, 2026 18:57
- Dockerfile + docker-compose.yml: reproducible local build on pinned Ruby 3.2
  (fixes host Ruby 4.0 dropping ostruct/bigdecimal/etc from default gems)
- Gemfile: explicitly list ostruct/bigdecimal/csv/logger/faraday-retry for
  Ruby 4.x local builds (harmless on 3.2); add jekyll-jupyter-notebook
- Remove obsolete .travis.yml and bin/cibuild, bin/deploy (deploy is via
  .github/workflows/deploy.yml)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The navbar toggle now cycles light -> dark -> system. In "system" mode the
palette follows the OS prefers-color-scheme and updates live when it changes.
The active setting drives which icon is shown (sun/moon/adjust).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Colored venue badges driven by _data/venues.yml (color: per venue)
- "Selected" star badge on selected publications
- Client-side Altmetric donut + Dimensions citation-count badges, rendered
  only for entries with a DOI; toggled via enable_publication_badges in config

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Per-page opt-in loaders (front matter flags) for Chart.js, Plotly, Mermaid,
  pseudocode.js (+KaTeX) and TikZJax, wired via _includes/scripts/diagrams.html
- jupyter_notebook include: embed pre-rendered notebook HTML or nbviewer in an
  iframe (works without a local Jupyter toolchain); native {% jupyter_notebook %}
  tag also available via jekyll-jupyter-notebook when Jupyter is installed
- Demo post + self-contained notebook asset for QA (safe to delete)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Cmd/Ctrl-K or a navbar search icon opens a command palette over pages,
  blog posts and projects
- Toggled via enable_search in config; palette accent matches the theme

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the Altmetric donut + Dimensions rectangle (inconsistent, sparse) with
a clean shields.io "Cited by N" badge that links to each paper on Google
Scholar — matching upstream al-folio's approach.

- Tag each indexed paper with its google_scholar_id in papers.bib
- _data/citations.yml holds the counts (seeded from the live Scholar profile)
- bin/update_scholar_citations.py + .github/workflows/update-citations.yml
  refresh the counts weekly via `scholarly` (reads scholar_userid from _config.yml)
- config flag enable_publication_badges.google_scholar

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Remove the "selected" star badge from publications
- Remove per-venue badge colors (revert to the default badge style)
- Mirror the resume in the WhiteCoat CV entry (labeled bullets: Business
  Impact, Data Architecture, AI Governance, Clinical GenAI, etc.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Keep the ninja-keys search feature in place but ship it disabled
(enable_search: false); flip to true in _config.yml to turn it back on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@garygsw
garygsw merged commit 1b98c1b into master Jul 11, 2026
1 check 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.

1 participant