Offline Capable Lessons

The material provided here seeks to take a Software Carpentry (SWC) lesson approach to describing the process by which the standard SWC lesson style may be altered so as to allow for a lesson’s rendered HTML to not only be viewed using a webserver, but just also when using basic file:/// URIs, which we term an “offline rendering”.

As this lesson is unlikely to be given within an official SWC event, it also seeks to provide a template that allows for non-SWC branding (or perhaps SWC de-branding ?) to be applied, whilst maintaining the look and feel that people familiar with studying content from official SWC lessons will have become used to, as well as making it easier for content from within non-SWC lessons to be re-used withn official SWC material.

Some of the issues raised in this Lesson have since been addressed within the core lesson style, however a few remain and so a newer revision of this work can be found at:

https://pawsey-kbuckley.github.io/offline-capable-lesson/

Prerequisites

This material assumes readers will have become familiar with the standard SWC procedure for creating standalone lessons and/or will be have access to a local copy (cloned or otherwise) of SWC lesson-templated source material, and the toolchain required to render the source material with a make site

Schedule

Setup Download files required for the lesson
00:00 1. Introduction What issues does a Lesson being “Offline Capable” address?
What content does a webserver serve when presented with a bare directory path URI?
What URIs does SWC’s standard rendering of a lesson’s content produce as link targets?
00:00 2. Adding fully offline capability How simple would it be to add “Fully Offline” capablity to the current style?
What changes to the current style’s files would be required?
What changes to a typical lesson’s content would be required?
Would these changes prevent the existing behaviour from being produced if required?
00:00 3. Making more use of existing content Can we reduce the number of external links even further, in order to make the lessons even more self-contained?
What content does a checked-out lesson have that isn’t currently rendered into the lesson?
Could we make more use of remote content that we have local copies of?
00:00 4. Some things to think about Is there any room for improvement in the offline viewing experience?
Why do some links still have targets that might be confusing?
00:00 5. Re/De-branding the lessons Is there a way to stop people confusing our own lessons with official Software Carpentry material?
Is there a way in which we can give Software Carpentry credit where it’s due?
00:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.