The theme is based off of al-folio, so please refer to their repo (particularly INSTALL.md and CUSTOMIZE.md) for more information.
I recommend setting this up as it is very helpful if you want to quicklu test out your local changes before pushing them to the live site. You can either use Docker containers as outlined here or install Ruby and Jekyll locally. I describe the steps to do the latter below.
- Install rbenv via brew, as described here.
- Install the latest ruby version as shown on the official Ruby website.
- Run
rbenv global <the version you installed>
. - Run
ruby -v
to confirm you have the new ruby installed. If not, you might want to dorbenv rehash
. cd
into the local directory containing the website code, which you'll have cloned from this repo.- Create a new conda env and inside it install imagemagick with conda (see here) and jupyter with pip (as shown on PyPI).
- In this conda env, run
which ruby
to confirm the ruby version is the one you installed in step 3. - Run
gem install bundler
thenbundle install
. - Run
gem install jekyll
. - Run
bundle exec jekyll serve --watch
. You might want to dobundle exec jekyll clean
before. - It should populate the _site directory at the root of the repo, and also show you the localhost link where to access the site. If it does not, you might need to explicitly provide an open local port, e.g.,
bundle exec jekyll serve --port 5000 --watch
. - You can now edit local files and see the changes reflected on the local site.
- If you change the
_config.yml
file, you need to re-runbundle exec jekyll serve
, and also might want to runbundle exec jekyll clean
before that.
- Make sure you have the latest version of the repo.
- Create a new branch with
git checkout -b <your branch name>
. - Make your changes locally and preferably preview them locally (see below).
- Commit changes and push to your branch.
- Open a pull request to the main branch of the repo.
- Be sure that all PR checks pass. Once that is done, merge the PR.
- You may find that the "Prettier" check often fails. For this, I highly recommend installing prettier locally and running
prettier --write .
in the root of the repo. This will automatically format all files in the repo, and you can then commit and push those changes.
- You may find that the "Prettier" check often fails. For this, I highly recommend installing prettier locally and running
- The deployment GitHub action is automatically triggered upon push to main and your changes will be live on the website once the action finishes running successfully.
- Create a new
about_<person>.md
file in the_pages/profiles
directory, following the template specified in_pages/profiles/template.md
. - Add a profile picture under
assets/img/profile_pics
. - Edit
_pages/profiles.md
to add the new profile to the list of profiles. Like so:
profiles:
<other profiles...>
- align: left
image: <profile pic name>.jpg
content: profiles/about\_<person>.md
Create a new markdown file in the _posts
directory. There are several blog post templates and examples here. Make sure to preview your changes as described above before pushing them to the live site.
Edit _bibliography/papers.bib
.