The lab website is built using Jekyll and the al-folio theme. Much of the documentation below is copied or adapted from https://alshedivat.github.io/al-folio.
Assuming you have Ruby and Bundler installed on your system (hint: for ease of managing ruby gems, consider using rbenv), first fork the theme from github.com:alshedivat/al-folio
to github.com:<your-username>/<your-repo-name>
and do the following:
$ git clone [email protected]:aryeelab/aryeelab.dfci.harvard.edu.git
$ cd aryeelab.dfci.harvard.edu
$ bundle install
$ bundle exec jekyll serve
In order to push/pull images from the container registry you must first authenticate with Google:
gcloud auth login
You need to run a one-time setup to configure docker to use Google authentication:
gcloud auth configure-docker
bundle install
bundle exec jekyll build
bundle exec jekyll serve
The site will be built in the _site directory.
docker build -t gcr.io/aryeelab/www-aryee .
This builds an Apache docker container with the contents of _site placed into the Apache HTML dir (/usr/local/apache2/htdocs/
).
Test the site:
docker run --rm -it -p 80:80 -p443:443 gcr.io/aryeelab/www-aryee
Go to https://localhost to see the site. If it looks OK build and push the image to the container registry:
bundle exec jekyll build
docker push gcr.io/aryeelab/www-aryee
NB: If you're working locally on an non amd64 machine (e.g. an Apple Silicon Mac) you'll need to build an amd64 image first:
bundle exec jekyll build
docker buildx build --platform linux/amd64 -t gcr.io/aryeelab/www-aryee .
docker push gcr.io/aryeelab/www-aryee
(Make sure you have authenticated first with gcloud auth configure-docker
)
You can verify that your image is in the registry with:
gcloud container images list-tags gcr.io/aryeelab/www-aryee
SSH into docker-aryee.partners.org
(previously called docker-aryee.dipr.partners.org
).
List the running containers:
docker ps
In case Docker is not running, you can start it like this:
systemctl start docker
Stop the existing website container:
docker stop [CONTAINER ID]
Pull the new image and start a container:
gcloud auth configure-docker # If necessary (for pull)
docker pull gcr.io/aryeelab/www-aryee && \
docker stop www-aryee && \
docker rm www-aryee && \
docker run --restart=always --name www-aryee -dit -p 80:80 -p443:443 -v /ssl:/ssl gcr.io/aryeelab/www-aryee
Note that you can run the above docker run
command without the -v /ssl:/ssl
option. In this case it will use a self-signed certificate instead of the ones stored in /ssl.
If you installed the site as described above, you can upgrade the al-folio theme to the latest version as follows:
# Assuming the current directory is <your-repo-name>
$ git remote add upstream https://github.com/alshedivat/al-folio.git
$ git fetch upstream
$ git rebase upstream/v0.3
If you have extensively customized a previous version, it might be trickier to upgrade.
You can still follow the steps above, but git rebase
may result in merge conflicts that must be resolved.
See git rebase manual and how to resolve conflicts for more information.
If rebasing is too complicated, we recommend to re-install the new version of the theme from scratch and port over your content and changes from the previous version manually.
Your publications page is generated automatically from your BibTex bibliography.
Simply edit _bibliography/papers.bib
.
You can also add new *.bib
files and customize the look of your publications however you like by editing _pages/publications.md
.
Keep meta-information about your co-authors in _data/coauthors.yml
and Jekyll will insert links to their webpages automatically.
This Jekyll theme implements collections
to let you break up your work into categories.
The theme comes with two default collections: news
and projects
.
Items from the news
collection are automatically displayed on the home page.
Items from the projects
collection are displayed on a responsive grid on projects page.
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is.
To do this, edit the collections in the _config.yml
file, create a corresponding folder, and create a landing page for your collection, similar to _pages/projects.md
.
al-folio comes with stylish layouts for pages and blog posts.
The theme allows you to create blog posts in the distill.pub style:
For more details on how to create distill-styled posts using <d-*>
tags, please refer to the example.
al-folio supports fast math typesetting through KaTeX and code syntax highlighting using GitHub style:
Photo formatting is made simple using Bootstrap's grid system. Easily create beautiful grids within your blog posts and project pages:
Six beautiful theme colors have been selected to choose from.
The default is purple, but you can quickly change it by editing $theme-color
variable in the _sass/variables.scss
file.
Other color variables are listed there as well.
al-folio supports preview images on social media.
To enable this functionality you will need to set serve_og_meta
to true
in your _config.yml
.
Once you have done so, all your site's pages will include Open Graph data in the HTML head element.
You will then need to configure what image to display in your site's social media previews.
This can be configured on a per-page basis, by setting the og_image
page variable.
If for an individual page this variable is not set, then the theme will fall back to a site-wide og_image
variable, configurable in your _config.yml
.
In both the page-specific and site-wide cases, the og_image
variable needs to hold the URL for the image you wish to display in social media previews.
Contributions to al-folio are very welcome! Before you get started, please take a look at the guidelines.
If you would like to improve documentation, add your webpage to the list below, or fix a minor inconsistency or bug, please feel free to send a PR directly to master
.
For more complex issues/bugs or feature requests, please open an issue using the appropriate template.
The community of al-folio users is growing! Academics around the world use this theme for their homepages, blogs, lab pages, as well as webpages for courses, workshops, conferences, meetups, and more. Check out the community webpages below. Feel free to add your own page(s) by sending a PR.
Academics | ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ |
Labs | ★ ★ ★ ★ |
Courses | CMU PGM 2019 |
Conferences & workshops | ML Retrospectives (NeurIPS 2019, ICML 2020) |
The theme is available as open source under the terms of the MIT License.
Originally, al-folio was based on the *folio theme (published by Lia Bogoev and under the MIT license). Since then, it got a full re-write of the styles and many additional cool features.