IACR had a legacy website originating in the 1990s that needed to be rewritten for mobile. It consisted of many legacy technologies, including old-style PHP, multiple MySQL databases, Perl 😬, and 5000+ static pages in a variety of styles.

I converted the PHP database-driven pages to use a hierarchy of Twig templates, and the static pages were rewritten using Beautiful Soup to use the same templates.

The site was built with PHP7/PDO, Twig, Bootstrap 4.3.1, jQuery, JavaScript, Highcharts, MathJax, EasyAutocomplete, and the jQuery date range picker plugin, along with many other components.

This code is in a private IACR repository on Github but it is deployed here.

Screenshots

Screenshot of the main IACR website. There is a dark blue menu that is open. The background is pale gray triangles with faint orange outlines.
This page pulls from 3 separate databases and folds to a single column in mobile.
Mobile screenshot of the calender of events page.
What one of the pages looks like in mobile.
Mobile screenshot of the top menu open.
How the open menu appears in mobile.