Skip to content

cmaurini/cmaurini.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal website

This repository contains the source for Corrado Maurini's personal website. It is a Jekyll site with layouts in _layouts, reusable partials in _includes, styles in css/ and _sass/, posts in _posts, and bibliography data in _bibliography.

Local development

Install Ruby dependencies:

bundle install

Run a local preview server:

./preview.sh

preview.sh is a thin wrapper around scripts/preview.sh. The preview script serves the site with both _config.yml and _config.local.yml. The local override keeps preview URLs rooted at http://127.0.0.1:4000/ (empty baseurl) so links and assets work locally without production path prefixes.

If port 4000 is already in use, stop the previous server process and rerun ./preview.sh.

You can override preview behavior with environment variables:

OPEN_BROWSER=0 PREVIEW_PORT=4001 ./preview.sh

Content Editing

Most routine site updates are centralized in data files:

  • _data/home.yml: homepage text, links, programs, research/teaching bullets.
  • _data/navigation.yml: top navbar labels and order.
  • _data/contacts.yml: contacts page content.

For a quick map of what to edit, see CONTENT_EDITING.md.

Build the site once:

bundle exec jekyll build

For a local-config one-shot build matching preview behavior:

bundle exec jekyll build --config _config.yml,_config.local.yml

Deployment

GitHub Pages (automatic)

A workflow is available at .github/workflows/publish.yml. It builds the site on each push to source (and supports manual trigger from the Actions tab), then:

  • deploys to GitHub Pages
  • deploys to the LMM host via rsync over SSH (when LMM secrets are configured)

To enable it:

  1. In repository settings, open Pages.
  2. Set Source to GitHub Actions.
  3. Push to source (or run the workflow manually).

To enable LMM deployment from Actions, set repository secrets:

  • LMM_SSH_PRIVATE_KEY: private key allowed to deploy on LMM host
  • LMM_HOST: remote host (for example bipbip)
  • LMM_USER: remote user
  • LMM_SITE_PATH: destination path on remote host
  • LMM_SSH_PORT (optional): SSH port, default 22
  • LMM_SSH_JUMP_HOST (optional): jump host (for example chagall)
  • LMM_SSH_JUMP_USER (optional): user on jump host
  • LMM_SSH_JUMP_PORT (optional): jump host SSH port, default 22

Remote host via rsync (manual)

publish.sh is a thin wrapper around scripts/publish.sh. The publish script builds the site and uploads _site/ with rsync. It accepts environment overrides for destination and dry-run mode:

REMOTE_SITE_DEST=example:~/public_html/_site DRY_RUN=1 ./publish.sh

Useful overrides:

  • REMOTE_SSH_PORT (default: 22)
  • REMOTE_SSH_OPTS (extra SSH options, for example -o ProxyJump=...)
  • REMOTE_SSH_JUMP_HOST (optional): jump host, for example chagall
  • REMOTE_SSH_JUMP_USER (optional): jump host user
  • REMOTE_SSH_JUMP_PORT (optional): jump host SSH port, default 22

Example with custom SSH port:

REMOTE_SITE_DEST=user@example.org:~/public_html/_site REMOTE_SSH_PORT=2222 ./publish.sh

Example via chagall jump host:

REMOTE_SITE_DEST=user@bipbip:~/public_html/_site REMOTE_SSH_JUMP_HOST=chagall REMOTE_SSH_JUMP_USER=user ./publish.sh

If ../articles/ exists, it is synced as well (to REMOTE_ARTICLES_DEST). This repository is intended to track source files only; generated output and local dependency caches should stay untracked.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors