NISOx-BDI / NISOx-BDI.github.io

Other
0 stars 3 forks source link

NISOx website

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/.

How to get a local copy?

Because we are using a submodule, the repository has to be cloned with the recursive option:

git clone --recursive git@github.com: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.

How to update the website?

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').

How to update the publication list?

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).

How to update the presentations pages?

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

How to update the Research pages?

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.

Notes

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.

Acknowlegments

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.

Template documentation

This is an exerp of the template documentation. The full documentation is available in the [original repository]().

Features

Publication List

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.

Presentation Pages

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.

Research Pages

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.

News Items and Blog Posts

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.

Personnel

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.

Building

The requirements for building the site are:

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.