Back to menu

About the unofficial menu

The menu is produced at the start of each term in a 3-stage process:

  1. The menu PDFs are processed using the free Poppler library to extract relevant information in JSON format.
  2. In the case of regular hall menus (but not formal hall), this JSON is further processed with a Python script to produce a more useful data file.
  3. The processed file is uploaded to this website, where it is accessed and displayed by the menu page JavaScript.
Unfortunately this means it's likely to require some human effort at the start of each term to make sure it stays working, as the menu format can and will change in silly ways including typos, adding or removing salads... If you're reading this, the person to keep this site working in future could be you!

Source code

The source code for steps 1 and 2 above is available here.

The source code for the website is available here.

Design philosophy

I didn't want to use web fonts and I didn't want to do much (i.e. any) server-side thinking. The aim was to achieve the right balance between simple and pleasant to use, and I like to think I've achieved that.

I briefly put together a static site for very retro hardware, but didn't keep it up to date. There's also an auto-updating gopher version which is accessible on just about any hardware, but you will need a gopher client to access it.

After I graduate, the page administrators will be contactable by email at petmenu-admins at srcf.net.

Andrew Jenkins (adj35). This page last updated 5 Jul 2022