If you can't load the resources file then just return an empty map so that the site doesn't crash
Added class for loading the topics.json file with details about which topics are available.  This is a temporary solution with hardcoded pdfs from rutherford-content
Model class for serializing to json for the client
Added an api for getting the list of available topics
Changed the topic page api to absorb a full topic path (physics/mechanics/dynamics) for example.  Started using the topic name instead of the topic path in the page
Changed topicPage to use the name of the topic and not the path
Changed the topic page to use the topicTitle (human readable) rather than the topicName (not human readable)
Updated the learn template so it uses the api instead
Disable clicks on disabled buttons....