Giter Club home page Giter Club logo

papersite's Introduction

papersite

A Hakyll-based proceedings site generating tool.

Installation

There are two main programs that are used to manage the JMLR W&CP web site:

  • site: The HTML generation tool (based on Hakyll).
  • import: The recevied BibTeX to database import tool.

These are both built by running

$ cabal configure
$ cabal build

The configure step will check whether dependencies are present and, if necessary, download them.

The executables, once built, are at dist/build/site/site and dist/build/import/import. For convenience, I recommend setting up links to these, for example:

$ ln -s dist/build/site/site ./site
$ ln -s dist/build/import/import ./import

Usage

Using these tools occurs in two steps:

  1. Importing the BibTeX file and PDFs received from a conference organiser into a simple, file-based database.

  2. Generating the HTML from the files imported into the database.

The beauty of the file-based database is that, once the information for a conference is imported, the information for individual papers can be edited and managed under version control. After each change, the HTML for the site can be (incrementally) updated and deployed.

Importing

To import a BibTeX file received from a conference organiser (say conf13.bib) into the directory db:

$ ./import conf13.bib db

This will create a file-system-based database in the directory in db. If NN is the value of the volume field in the @proceedings entry in the BibTeX file, it will consists of:

  • A BibTeX file vNN.bib with the conference metadata.
  • A directory vNN with files of the form ID.bib, ID.pdf, and ID-supp.*. Each of these files correspond to the keys in the @InProceedings entries in conf13.bib.

Generating the site

To generate the sites for all the proceedings in the db directory, run:

$ ./site rebuild

This will create a static site in /tmp/jmlr. This site can be viewed by running:

$ ./site preview

and then pointing a browser at http://localhost:8000/.

If changes are made to entries, just run ./site build to update without rebuilding the entire site.

Selectively generating volumes

When tweaking single papers in the database or testing the generation code, it is inconvenient to have to rebuild every volume. To alleviate this it is possible to specify which volumes you want previewed or rebuilt via the only modifier. For example:

$ ./site rebuild only v1      # Volume 1 only
$ ./site rebuild only v[2-7]  # Volumes 2 through 7 inclusive only
$ ./site rebuild only v3 v23  # Volumes 3 and 23 only

The only extension also works for build and preview. Note that the v[2-7] is using a regular expression to match the digits 2 through 7. The term v[10-13] will not match volumes 10 through 13. This is more easily achieved by explicit writing v10 v11 v12 v13.

Deploying the site

Once you are happy with how the site looks, it can be pushed to the JMLR.org by running:

$ ./site deploy

That's it!

You may need to update the credentials to those you use to log into the CSAIL web server. To do this, find the definition of config in site.hs and edit the string containing [email protected] to your username.

Once you've made this edit, run cabal build to rebuild the site tool.

Proceedings BibTeX File Format

The entire site for a conference is generated from a single BibTeX file. Because the site generation is automated, it is important that the BibTeX file conform exactly to the following:

  1. Each paper in the proceedings must appear in the file as an @InProceedings entry. Each entry must have the following fields:

    • title: The title of the paper.
    • abstract: The paper's abstract (in valid LaTeX).
    • author: The paper's authors in Lastname, Firstnames format, separated by and.
    • pages: The page numbers for the paper in startpage - endpage format.
  2. A @Conference entry must appear in the file with the conference details. The following fields must be present:

    • editor: The editors' names (in same format as authors above).
    • title: The title of the conference.
    • year: The year of the conference.
    • volume: The assigned JMLR W&CP volume number.

    The following fields are optional:

    • booktitle: e.g., Proceedings of the Nth Conference on Stuff.
    • month: The month of the conference.

Note: All field values in the BibTeX file must be valid BibTeX. For example:

  • Names with accents (e.g., François) must be written in LaTeX (e.g., Fran\c{c}ois).
  • Any mathematics in the title or abstract must be surrounded by matching $.
  • LaTeX ``quotation marks'' must be used.

papersite's People

Contributors

lawrennd avatar mreid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

papersite's Issues

Add explicit PDF & supp links to entries in v28 onwards

The .bib entries for volumes after we started using papersite implicitly assume that the location of the PDF and supplementary files are relative to their paper's abstract page (i.e., http://jmlr.org/../smith11a.html has links like <a href="smith11a.pdf">[pdf]</a>.

I want to put in explicitly absolute links for these for two reasons:

  1. So as to bring the later volumes in line with how the earlier ones that were scrape from the web work. These all use absolute URIs to point to files that are already on the JMLR site.
  2. To separate handling the PDF and supplementary files from generating HTML. Currently, these are all scanned and deployed via the ./site deploy command. Ideally, I'd like to be able to upload the binary files once to a fixed location, and only have the site command manage the HTML.

Including Logos

Some of the proceedings have conference logos, should we include information about the logo file in the vNN.bib file? Or is there another system for this?

Address and Month

Can we use these fields for the location and date of the conference?

month = {13--15 May},
address = {Chia Laguna Resort, Sardinia, Italy}

Redirect v28/kolmogorov13 to v28/takhanov13

We need this in the .htaccess file:

Redirect 301 /proceedings/papers/kolmogorov13.html http://jmlr.org/proceedsings/papers/takhanov13.html
Redirect 301 /proceedings/papers/kolmogorov13.pdf http://jmlr.org/proceedsings/papers/takhanov13.pdf

Currently both the abstract page and PDF for both entries are available. Once the redirection is set up we should remove the kolmogorov13 entries.

Volume 15 and Notable Papers

Volume 15 has a notable papers section where there is a discussion. Not sure how we are handling this in the sections part of the bib file ... needs fixing.

Extend site command arguments to specify volumes to compile

This should be straight-forward. Need to use combination of getArgs and withArgs in Main.hs to check for and grab additional arguments after usual preview, build, rebuild, etc. and pass them into realMain where they are converted into a regex pattern that is added to the matching rules.

Missing sections in v27

Introduction; Fundamentals and Theory; Challenge Contributions; Advances in Transfer Learning;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.