Website of the NISOx research group at the Oxford Big Data Institute based on Jekyll and Github-pages and Pybtex to generate the publication list.
Preview is available at: https://nisox-bdi.github.io/.
Because we are using a submodule, the repository has to be cloned with the recursive option:
git clone --recursive [email protected]:NISOx-BDI/NISOx-BDI.github.io.git
To run the website locally, you will also need to install the dependencies: Python, Pybtex (pip install pybtex
), Jinja2 (pip install jinja2
) and Jekyll (gem install jekyll
). Please note that the Jinja2
install must be version 3.1.2
or higher, and the Jekyll
install must be version 4.3.2
or higher.
Except for the page including the publication list (cf. below) and the presentation pages (cf. [section 'How to update the presentations pages?'](#How to update the presentations pages?)), any new change pushed to the master
branch of the current repository will automatically be reflected on the website. It is stronly advised to preview the changes locally before pushing to GitHub (cf. section 'building').
Every time the bib/pubs.bib
file is updated, the corresponding HTML page (located in _includes/pubs.html
) has to be updated with:
make
Note that bib/pubs.bib
cannot contain any non-ASCII character or make
will fail. To identify non-ASCII character in a document, you can use on Mac pcregrep --color='auto' -n "[\x80-\xFF]" bib/test.bib
(cf. this post).
Every time one of the _data/conferences.yml
, _data/courses.yml
, _data/posters.bib
or _data/talks.bib
files are updated, the corresponding HTML pages (located in presentations
) have to be updated with:
make
Every time one of the _data/research.bib
or _data/resPages.yml
files are updated, the corresponding HTML pages (located in Research
) have to be updated with:
make
Alternatively, if research pages have been entered manually, so long as the _data/resPages.yml
file has been updated correctly, these should be automatically displayed when the site is next run.
Note that none of the YAML and bib files cannot contain any non-ASCII character or make
will fail. To identify non-ASCII character in a document, you can use on Mac pcregrep --color='auto' -n "[\x80-\xFF]" <write filename here>
(cf. this post).
To remove any pages generated by running make
, run make clean
. Do this before pushing to GitHub.
This website was built using the Research Group Web Site Template developed by Computer Architecture Lab @ University of Washington. This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
This is an exerp of the template documentation. The full documentation is available in the original repository.
- Thanks to Jekyll, content is just text files. So even faculty should be able to figure it out.
- Publications list generated from BibTeX.
- Personnel list. Organize your professors, students, staff, and alumni.
- Combined news stream and blog posts.
- Easily extensible navigation bar.
- Responsive (mobile-ready) design based on Bootstrap.
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.
To add new presentations to the website update the _data/conferences.yml
(if a new conference needs to be added - e.g. OHBM2018), _data/courses.yml
(if a new course needs to be added - e.g. OHBM 2018 Introduction to imaging genetics), _data/posters.bib
(if a new poster needs to be added) or _data/talks.bib
(if new talks need to be added) files. Full instructions of how to do this can be found in the comments at the top of each of these files.
To add a new research page to the website there are two options. Either create one manually in the research folder by creating a file named Research/{desired page name}/index.html
or create one by adding publications to _data/Research.bib
. In either case the resPages.yml
file must be updated so that links to the new page are added to the main research page. Further detail of how to do this can be found in the comments at the top of each of these files.
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.
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:
- Python 2.7: many of the following modules were built on python 2.7 and thus no guarentee is made that the website can run on later python versions.
- Jekyll: run
gem install jekyll
- Pybtex: run
pip install pybtex
- bibble: included as a submodule. Because git is cruel, you need to use
git clone --recursive URL
or issue the commandsgit submodule init ; git submodule update
to check out the dependency. - ssh and rsync, only if you want to deploy directly.
make
compiles the bibliography and the website content to the _site
directory.
To preview the site, run:
jekyll serve -w
and head to http://0.0.0.0:4000.