Updating is just a matter of commiting and pushing your changes. Github-pages will automatically observe the change and in a matter of seconds the main home-page will be updated.
Assuming you have a working and decently recent Ruby installation with bundler
(gem install bundler
) you should be able to set everything up by running at the root of the repository to install all dependencies (including Jekyll).
bundle config set --local path '.bundle'
bundle update
You should then be able to run the following command to have Jekyll serve the site at http://127.0.0.1:4000.
bundle exec jekyll serve
If that does not work (e.g. with strange errors because the old Jekyll Github uses is not compatible with Ruby 3), you can try this:
bundle exec jekyll build && (cd _site && python3 -m http.server 3000)
Alternately, you can use Docker (and Docker Compose). Run docker-compose up --build
to build and run the container, then navigate to localhost:4000
.
To add a new publication simply edit _data/publications.json
, find
"publications": [
and insert a new entry of the following form right below it.
{
"title": "Strong Logic for Weak Memory: Reasoning About Release-Acquire Consistency in Iris",
"authors": [
"Jan-Oliver Kaiser",
"Hoang-Hai Dang",
"Derek Dreyer",
"Ori Lahav",
"Viktor Vafeiadis"
],
"where_published": "In ECOOP 2017: European Conference on Object-Oriented Programming",
"awards": [ "ECOOP 2017 Distinguished Paper Award" ],
"dblp_url": "https://dblp.uni-trier.de/rec/conf/ecoop/KaiserDDLV17.html",
"pdf_url": "http://drops.dagstuhl.de/opus/volltexte/2017/7275/pdf/LIPIcs-ECOOP-2017-17.pdf",
"other_urls": [
{ "name": "website", "url": "http://plv.mpi-sws.org/igps" }
]
},
The "awards"
, "dblp_url"
and "other_urls"
fields are optional.
The "dblp_url"
field should only be included if a DBLP entry exists for the paper. The URL is the one of the DBLP page where you can view the bibtex entry for the paper (without any GET data, so just cut at the ?
).
A similar method can be used to insert a draft papers, PhD dissertations and other stuff. Look for "draft_papers"
, "phd_dissertations"
and "others"
respectively.
The bibliography data used to generate the webpage are all contained in the
JSON file _data/publications.json
. This is the file you need to modify if
you with to add one of your publications to the webpage.
The file _data/publications.json
contains four lists:
publications
containing metadata for all the publications,phd_dissertations
containing metadata for all PhD dissertations,draft_papers
contains metadata for all the draft papers,others
contains metadata for other stuff (MSc theses, talks, ...).
Items under publications
and phd_dissertations
have, whenever available, a
field dblp_url
giving the base DBLP url for the entry. It can be used to get
additional metadata from DBLP in several format (by replacing the extension):
.html
(as stored in our metadata) gives you the URL to the document's page on DBLP, where you can then access all the usual data,.xml
gives you a XML record containing the document's metadata,.bib
gives you a bibtex file for the document. Note that in this case, you can use the GET parameterparam
with value0
,1
, or2
to control the version of the bibtex you get (condensed, standard, or with crossref).
The sources for the Iris logo and favicon are found in the iris-logo
folder.
The images currently used by the webpage are recorded in the gfx
directory,
but these images are updated using the Makefile
(just run make
to update
the images after editing the sources). Variables in the Makefile
are used to
control which variant of the logo and favicon are to be used.