Conference Website Template
This is intended for all IACR conference websites (Crypto, Eurocrypt, Asiacrypt, CHES, FSE, PKC, RWC, and TCC). If you are doing some other conference, then see below.
You do not need to know bootstrap, because most pages already contain the bootstrap DOM structure that is needed, and you can cut and paste from other pages if you see something you like (e.g., a card). The most basic things are handled for you, and you simply need to edit the content in the <main> element of a page. If you find that you can't understand something, the documentation for bootstrap is quite good. The most basic thing is to understand the bootstrap grid system for columns that work on both mobile and desktop. You shouldn't need to download anything provided you are online, because the template is built to load bootstrap straight from iacr.org.
You will need to have php
installed on the machine you work on (you do not need a web server
like apache, because php provides a basic one).
php is already
installed on the iacr.org machine, but it's best to work on your local
machine, and only push files to the live server once you are satisfied
In order to get started with the template, simply open a shell, change to your working directory, and type:
git clone https://github.com/IACR/conference-template.git .
(NOTE THE DOT AT THE END OF THE PREVIOUS LINE)
If you do not have git installed, then you can download a zip file
This creates a copy of the files for the site on your machine, but
it will make it harder to pull in subsequent changes made to the
template. Next make sure you are in the directory containing
acceptedpapers.php and run the command
php -S localhost:8000
Then point your browser at http://localhost:8000 to see the website. Once you’ve verified it’s serving correctly, you can begin to edit the relevant files.
REQUIRED: THE BASICS
There are a number of places in the pages that require you to edit
them, but you are free to edit anything you like. Some things are
supplied by downloading a json file for basic metadata,
the program committee, and the program. Other things require you
to edit the text in a specific page, and we have marked them with
class="editMe" to make them stand out in red. When you edit these
things, you should remove the
Changing the conference names/dates/location
Assuming that your conference is listed in the IACR calendar of
events, you should be able to download the
json/metadata.json file from
https://iacr.org/cryptodb/pc. This file
contains year, conference names, latitude, longitude, etc, and the
settings there show up on all pages of the site. The
year field should
match the path of the directory that you host your pages from on
Different conferences will have different kinds of dates:
- some conferences have a deadline to propose affiliated events
- some conferences have a rebuttal phase
- some conferences have papers submitted to a journal first (ToSC or TCHES)
- some conferences have only nominations for speakers (RWC)
You should change
includes/important_dates.php to reflect the dates that
are relevant to your conference. These will show up in several different
pages, but there is a single file where your important dates need to be
Changing the names of the program committee
The program committee is stored in
json/comm.json. You should go to
to download your program committee file. The IDs in the file are used
to enter the program committee into Cryptodb
so be careful if you edit this file by hand. The program committee will
show up in the
Changing the contact information
The program chairs and general chair appear on both
contact.php. You will want to edit these.
Updating the code of conduct page
Section 8.10 of the General Chair
Guidelines requires an up to
date code of conduct for each conference. You should edit the
conduct.php accordingly. Sections that need editing will show up in
red on the page because they contain a span with class
Adding your page content to individual pages (
All pages have included boilerplate content, some of which is
commented out. You will need to go through each individual page and
edit content that does not pertain to your conference, as well as add
your own information. As mentioned before, some content has a
class="editMe" to indicate that you should edit it.
We strongly recommend proofreading the HTML to make sure all content relates to your specific conference. Some content may not be ready at the time that you first put your site up, so you can comment things out in the pages with standard HTML comments: <!-- this is a comment -->
To delete a page
You may not need every page (e.g., you may not have a rump session).
You can omit a page by deleting the php file and removing the link to
includes/nav.php (or anywhere else in the php files).
To add a new page
Let's say you want a separate page for an affiliated event called
event1.php. You would create the page by copying
event1.php, and then edit
event1.php to add your content. Then
you can create a link to it from the
affiliated.php file, or create
a menu item in
includes/nav.php to link to it.
If you create your new page in a subdirectory, then you will need to
change all of the
include paths in empty.php when you copy it, e.g., use
Deployment to the IACR server
In order to host your website on the iacr.org server, you will need
login credentials from the IACR webmaster. You will then be
assigned a directory like
/var/www/asiacrypt/html/2021) for your
conference. If you place all the files from the template in that
directory, you will immediately be able to reference it via
https://asiacrypt.iacr.org/2021. Obviously you should substitute
asiacrypt with the name of your conference (e.g., crypto, eurocrypt,
rwc, tcc, etc).
The URLs on iacr.org start with
<conference_name>.iacr.org/<year>/ and for this reason the
root URL for the site is not at the root of the server. The file
includes/nav.php has a function that computes the base URL from
the server name, and should work on both your local machine and the
When you first put up your site, you will probably only have basic information about the call for papers, the program committee, the dates, etc. Later on you will want to add more information in the individual pages:
- travel information
- visa information
- the link to the paper submission server.
- applications for affiliated events
- announcements of affiliated events.
- the list of accepted papers
- abstracts and biographies for invitedtalks.php
- the program
- the link to the registration server on secure.iacr.org.
- information about the rump session (if you have one)
- information about corporate sponsors (if any)
The list of accepted papers is stored in
json/papers.json, and can
be exported from websubrev. Once that file exists, it should show up
acceptedpapers.php page. The format of the file is shown
The program is more complicated, but there is a tool at
to help you create the program from the list of accepted papers. This
tool provides you with an exported JSON file
will display your program on the program.php page. The program will
probably need updating several times when you add session chairs,
links to papers, links to slides, etc. The
tool is designed to make this
process very easy.
Travel information resides in
travel.php but there is an additional
page for visas if you need one. The
travel.php page incorporates a
map that is centered at the latitude, longitude contained in
json/metadata.json. It was assumed that your
latitude, longitude is the location of the venue, so please check
travel.php that places pins
on the map at the appropriate places, and you should update that to
provide information about airport, train station, hotels, or locations
of outings in order to help people plan their trip. There is a tool at
that will assist you in locating the latitude, longitude of points on a
Invited talks are in
invitedtalks.php. There is boilerplate content
commented out there that will serve as a good starting point.
If you choose to have a rump session, it's good to put the schedule online on the rumpsession.php page. There is no official way to organize submissions for a rump session, or what the program should look like. You may wish to use the program editor to organize the program, and then build something like program.php for your rump session page.
Changing the default colors
You can choose from several different "themes" that provide different color
combinations and layout of the menus. These are controlled in the file
includes/head.php, which by default includes
can change that to any file of the
styles/*_theme.css files (or make your
own). If you choose a different file, it will change the color scheme for the
entire site. We recommend that you try a few to see what you prefer. There is a
page to view the different themes located at this
page. Some of the themes have a photograph or
banner image at the top, and the next section has instructions to change that.
Changing the header image
Once you choose a theme, you can also choose a header image for themes
that have a banner across the top. The header image is specified in the themes
file mentioned in the previous section, as
.headerImg. There are several
default images located in the
images/banners/ directory. Each theme currently
uses a different banner, but you can freely mix them by changing the
.headerImg of the theme file.
If you want to remove the background image in the header, delete or
in your css file from
If you want to use a custom image, it must be 1200x480px or larger (note that larger may affect page load time). Acceptable file formats are .jpg, .png, .svg, or .gif. You should not use an animated gif, as this has the potential to be supremely annoying and/or negatively affect page load times.
Some of the themes have a gradient effect overlaying the header image. If you would like to remove the gradient effect independent of the header image, delete or comment out the background on .headerGradient in the relevant theme file. Be careful to make sure the conference name is still readable on top of the photo.
Adding an update to the "Website Updates" panel on index.php
As you make changes to the website, you should update the "Website Updates" card
index.php. Look for the NOTE in
index.php that says "Update this to add
a row" and copy the
div that has the form
<div class="customCardRow row">
Then edit the new row as desired.