ops-class.org
Website Sources
ops-class.org
is a website intended to let
students learn operating system concepts online at their own pace. It
includes lecture slides and assignments that use the OS/161 instructional
operating system.
You’ll need node
and npm
,
the node package manager. I suggest installing
nvm
, the node version manager. Once you
have those npm install
in this directory will install
Metalsmith and the build pipeline dependencies.
-
make
will do a quick build of the site without link, format, or spell checking, and without minifying JavaScript or CSS files. -
make check
will build and run the link, format, and spell checker. -
make deploy
will run the link, format, and spell checker, minify all JavaScript and CSS files for deployment, and beautify the HTML.
It would be great if all of the page’s
Google PageSpeed scores
were checked during the make check
build. An npm
package already exists providing the PageSpeed API but it would need to be
packaged for Metalsmith and integrated sensibly into the build process. (One
idea is to print the N pages with the lowest speed or accessibility scores.)
This could be contributed back to the Metalsmith community when finished.
One of the problems PageSpeed
has identified with the current ops-class.org
website is that images linked off the site are not cached properly. An
approach to fixing this is to identify all external images, download them,
and rewrite the links to use the "internalized" versions. This would allow us
to set sensible caching policies and utilize the PageSpeed module’s support
for automatic image compression and sizing. It would also fix broken images
caused by link rot.
This could also be contributed back to the Metalsmith community when finished.