This repository contains the source code for my professional website. The website is implemented in Jekyll.
This project uses the standard Jekyll directory structure with a few additional project
metadata files (e.g., README.md).
├── README.md <- this file
├── RELEASE-NOTES.md <- release notes
├── COPYRIGHT <- license file
├── VERSION <- version file
├── Gemfile <- Ruby package dependency file
├── Gemfile.lock <- Gem lockfile
├── _config.yml <- Jekyll configuration
├── _bibliography/ <- directory containing BibTeX file of references
├── _spikes/ <- experimental code
├── _site/ <- Jekyll-generated website (deployable)
├── _tmp/ <- directory for temporary files
├── _* <- Jekyll directories containing format, style, data, etc. files
└── all other files <- website source files
and directories
-
Install Git.
-
Install Ruby.
-
Install the Ruby packages required for the project (listed in
Gemfile).$ bundler install
-
Use the following command to start a Jekyll server that (1) rebuilds the website after any source file modifications and (2) runs a local web server for viewing changes.
$ bundler exec jekyll serve
Data for the website is organized in the _data directory as follows.
├── _data/
└── last-updated.yml <- date that website was last modified
This website uses Jekyll-Scholar to create reference lists and citations for the web pages.
All of the citation data for publications is stored in the _bibliography/publications.bib
file. PDF versions of publications are stored in the research/publications/ directory.
Jekyll-Scholar is configured (in _config.yml) to automatically link each citation in
publications.bib to a PDF file (when present) named KEY.pdf where KEY is the key for
the citation. If no PDF file is available for a citation, then no link is generated.
-
Bump the website version in the
VERSIONfile. -
Update the release notes in the
CHANGE-LOG.md. -
Merge changes into the
mainbranch on GitHub. -
The
JekyllGitHub Actions workflow will automatically run to build and deploy the updated website. -
(Optional) If the
JekyllGitHub Action succeeds, create a new release in GitHub.