This is a Jekyll-based Web site intended for research groups. Your group should be able to get up and running with minimal fuss.
This project originated at the University of Washington. You can see the machinery working live at our site.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
pip install bibble
), and Jekyll (gem install jekyll
).git clone git@github.com:yourgroup/research-group-web.git
.git remote add upstream https://github.com/uwsampa/research-group-web.git
._config.yml
file, where you enter the name of the site and its URL.make
to build the site and then run make serve
to view your site.git pull upstream master
.The list of publications is in bib/pubs.bib
. Typing make
will generate pubs.html
, which contains a pretty, sorted HTML-formatted list of papers. The public page, publications.html
, also has a link to download the original BibTeX.
For both long-form blog posts and short news updates, we use Jekyll's blogging system. To post a new item of either type, you create a file in the _posts
directory using the naming convention YYYY-MM-DD-title-for-url.md
. The date part of the filename always matters; the title part is currently only used for full blog posts (but is still required for news updates).
The file must begin with YAML front matter. For news updates, use this:
---
layout: post
shortnews: true
---
For full blog posts, use this format:
---
layout: post
title: "Some Great Title Here"
---
And concoct a page title for your post. The body of the post goes after the ---
in either case.
You can also customize the icon that is displayed on the news feed. By default it's newspaper-o
. We use icons from the FontAwesome icon set.
To create a project, just create a markdown file in the _projects
folder. Here are the things you can put in the YAML frontmatter:
title:
The project title.notitle:
Set this to true
if you don't want a title displayed on the project card. Optional.description:
The text shown in the project card. It supports markdown.people:
The people working on the project. This is a list of keys from the _data/people.yml
file.layout: project
This sets the layout of the actual project page. It should be set to project
.image:
The URL of an image for the project. This is shown on both the project page and the project card. Optional.last-updated:
Date in the format of YYYY-MM-DD
. The project cards are sorted by this, most recent first.status: inactive
Set this to inactive
if don't want the project to appear on the front page. Just ignore it otherwise.link:
Set this to an external URL if this project has a page somewhere else on the web. If you don't have a link:
, then the content of this markdown file (below the YAML frontmatter) will be this project's page.no-link: true
Set this if you just don't want a project page for your project.People are listed in a YAML file in _data/people.yml
. You can list the name, link, bio, and role of each person. Roles (e.g., "Faculty", "Staff", and "Students") are defined in _config.yml
.
The requirements for building the site are:
gem install jekyll
pip
make
compiles the bibliography and the website content to the _site
directory. To preview the site, run `jekyll serve`` and head to
http://0.0.0.0:5000.
To set up deployments, edit the Makefile and look for the lines where HOST
and DIR
are defined. Change these to the host where your HTML files should be copied to.
To upload a new version of the site via rsync over ssh, type make deploy
. A web hook does this automatically when you push to GitHub. Be aware that the Makefile is configured to have rsync delete stray files from the destination directory.