Updating the site
Updating the site
This website is a Jekyll site. The main editable content is Markdown; Jekyll turns it into the website when it builds.
Home page
Edit index.md. The biography is normal Markdown below the front matter; the
same file contains the profile photo, CV, address, social links, and contact
note used by the homepage layout.
Opportunities
Edit opportunities/index.md to describe PhD and postdoctoral opportunities,
funding, application material, and the preferred contact process.
Teaching
Edit teaching/index.md to maintain the list of courses and their links. Each
course is a normal Markdown section, so it is easy to add a term, a concise
description, and a link to its dedicated course website.
Blog
Each published blog post is a Markdown file in blog/. Copy
blog/blog-post-template.md to blog/your-post.md, then fill in its title,
date, summary, and Markdown body. Keep blog_post: true; the Blog page
automatically turns all such files into linked cards, newest first. The
template itself is excluded from the built website. The Blog link is hidden
from the main navigation until at least one published post exists.
Talks and slides
- Put a PDF in
assets/pdf/. - Open
talks/README.mdand copy one of the items in thetalks:list. - Fill in the title, date, event, location, and
slidesPDF path.topic,video,paper, andevent_urlare optional.
The talks page is automatically ordered newest first, with upcoming talks shown before the archive. A talk moves to the archive automatically after its date has passed.
Software
Edit software/README.md. Each entry has a title, short description, image,
and optional Code and ArXiv links. The Software page is generated automatically
from this file. Set projects: [anr], projects: [erc], or
projects: [anr, erc] on an entry to also show it on the corresponding project
page.
News
Edit news/README.md and add new entries at the top of its items: list.
Set a date and write the announcement in content; standard Markdown links
are supported. The homepage formats the date and displays the list
automatically.
Publications
assets/bibliography/bibliography.bib is the authoritative, curated record of
your publications. The weekly .github/workflows/update-publications.yml
workflow queries the official arXiv API for Michael Arbel’s records. It never
replaces or removes curated entries: it adds missing arXiv identifiers to
matching entries and appends only new arXiv preprints. It then regenerates
_data/publications.json, which Jekyll uses to render the publication list
without browser JavaScript. The workflow commits both files and can also be run
from the Actions tab with Run workflow.
To run the same update locally, use python scripts/update_publications.py.
To regenerate only the display data after editing BibTeX by hand, use
python scripts/update_publications.py --from-bib. If arXiv cannot be reached,
the workflow fails without changing the published bibliography.
The Publications page starts with the featured_work entries in
publications/index.html; update those deliberately when a contribution should
be highlighted. The complete bibliography is then grouped automatically into
peer-reviewed publications, preprints, and other research outputs based on the
BibTeX entry type and venue.
Curriculum vitae
The homepage links to cv/CV.pdf. Its editable source is cv/CV.tex, which
reads the same assets/bibliography/bibliography.bib as the website. Keep the
research profile, supervision, selected software, courses, and talks in sync
with the corresponding Markdown pages. Upcoming talks must remain labelled as
upcoming until they have taken place. Changes to the bibliography appear in
the PDF only after recompiling it.
This CV uses the existing multi-file ModernCV project and BibLaTeX/Biber. With
a TeX installation that provides latexmk and biber, rebuild from cv/:
latexmk -pdf -interaction=nonstopmode -halt-on-error -outdir=.build CV.tex
cp .build/CV.pdf CV.pdf
Check the generated PDF before publishing. Older packages are deliberately omitted from the selected software section; this is not a complete software archive.
Project pages
The ANR JCJC project is in projects/bonsai/; the ERC placeholders are in
projects/erc/. Each project has four Markdown pages:
index.md— overview and abstractpublications.mdsoftware.mdjobs.md
The shared project navigation is added automatically. BONSAI publications are
currently a clearly labelled time-window view, while project software is
selected by the optional projects field in software/README.md.
Preview and build
Use Ruby 3.0 or newer. On macOS, the system Ruby is too old; select the Homebrew Ruby before running Bundler:
export PATH="$(brew --prefix ruby)/bin:$PATH"
BUNDLE_PATH=vendor/bundle bundle install
BUNDLE_PATH=vendor/bundle bundle exec jekyll serve --livereload
Run BUNDLE_PATH=vendor/bundle bundle exec jekyll build for the production
build check.
After building, run python3 scripts/check_site.py to check the primary pages,
local links and assets, shared project headings, publication dates, and the
copied CV.