Skip to content

Files

Latest commit

 

History

History
 
 

ruby

Ruby Code

This code is for creating jekyll sites for hosting PMLR on GitHub pages

From the shell there are various ruby scripts to run. The main code that does the work is found in mlresearch.rb.

Requirements

The papersite script depends on the following packages, which will need to be install before the scripts here can run:

  • ActiveRecord
  • bibtex-ruby
  • facets
  • pandoc-ruby

You can install all the above with:

gem install bibtex-ruby facets pandoc-ruby activerecord

Alternatively, you can use the provided Gemfile with:

bundle install

At First Request

When the volume was first requested, a new repo should be set up under

https://github.com/mlresearch/

with the name vNN where NN is the number of the proceedings.

Use this link:

https://github.com/organizations/mlresearch/repositories/new

To set up the proceedings.

Do not initialize with a README. Simply "Create Repository" and then add relevant people to the edit/write permissions.

The "Description" field for the repo should be of the form "AISTATS 2017 Proceedings" or equivalent. This will populate the front page when the proceedings are available (see http://proceedings.mlr.press/).

When the Proceedings are Ready

The proceedings editor needs to provide you you with a zipped file that contains the PDFS and supplemental information, as well as a bib file containing information about the volume. The specification for all this is given here:

http://proceedings.mlr.press/spec.html

The scripts run in papersite. As a suggested directory structure, if papersite is located at

~/mlresearch/papersite

then create the new directory

mkdir ~/mlresearch/vNN

with NN being the volume number.

Then unzip the file containing PDFs and the bib file into the new directory. Add today's date to the published-field in the @Proceedings entry in FILE.bib.

cd ~/mlresearch/vNN
../papersite/ruby/create_volume.rb -v NN -b FILE.bib

Where NN is the volume number and FILE.bib is the file provided by the proceedings editors (e.g. gpip2006.bib).

This will move the PDFs into the correct positions, along with supplemental material.

The site is created using Jekyll. There is a customised remote-theme for formating the proceedings which is referenced in the _config.yml file.

Now, assuming you have already created the stub git repo on github, you can run the script

# CAREFUL RUNNING THIS! MAKE SURE YOU GET THE REPO VOLUME RIGHT!
../papersite/ruby/addrepo.sh vNN

which will init the git repo, and check in the code to the relevant repo.

Note

Recently ML proceedings have been getting bigger, and github doesn't seem to like having them pushed in one go. If you need to split up into multiple commits, here's a script that can work.

# CAREFUL RUNNING THIS! MAKE SURE YOU GET THE REPO VOLUME RIGHT!
../papersite/ruby/addrepo_split.sh vNN

It adds the core files, then commits the initial files before adding papers in alphabetical order.

Old JMLR Pages

These scripts were also used to copy across from the old JMLR pages, see: https://github.com/mlresearch/mlresearch.github.io/blob/master/create_volume.sh

Other files for updating from the original db format can be found as below:

./update_config.rb NN

To update/create the individual paper information from the papersite/db/ storage (stored in _posts as files with YYYY-MM-DD-keyname.md with the date of publication and keyname from the bibtex entry) use

./update_papers.rb NN