Browser-based tools to publish a Progressive Web App (PWA) as an Universal Windows Platform (UWP) application.
During development, make the src
directory available via HTTP.
For instance, run cd src && python3 -m http.server
(alias make devserve
.)
Old browsers, including Internet Explorer 11, only (partially) work using the build, fit-for-distribution, website.
To build the fit-for-distribution website, run make
.
The resulting content is put in dst/
, ready to be uploaded to a webserver.
The build process requires an UNIX-like system, with GNU Make and a JRE ≥ 8 installed.
Some third-party open-source JARs are also needed.
They are automatically downloaded, on first need, by make
.
(The HTTPGET
variable defines the download command to execute. It’s curl
by default. wget -O -
works too.)
These “development dependencies” are:
-
saxon9he.jar
, a XSLT processor, mainly to embed CSS/JS code directly into the HTML.
On Ubuntu ≥ 18.04, you can alternativelyapt install libsaxonhe-java
, then symlink/usr/share/java/Saxon-HE.jar
to3p/saxon9he.jar
. -
closure-compiler.jar
, to transpile and minify JavaScript code.
⚠ The version available in Ubuntu package repositories is too old to work. -
yuicompressor.jar
, to minify CSS code. -
htmlcompressor.jar
, to minify HTML & XML code.
-
3p/
: contains the third-party dependencies needed to build the fit-for-distribution website. See the Build section for how to get them. Not tracked bygit
. -
dst/
: the build, fit-for-distribution, website content. Generated usingmake
. Not tracked bygit
. -
src/
: the source website content. Kept simple, stupid. HTML is repeated, CSS skips classes, JS is modular ES6 that transpiles cheaply. -
GNUmakefile
: recipes to build the fit-for-distribution website. -
LICENSE.txt
: licensing/copyright information for this repository. Everything is CC0. -
netlify.toml
: configuration for hosting on Netlify. The Netlify↔GitHub integration is not used; deploys are manual. -
postprod.xsl
: XSLT stylesheet used during the build process. -
README.md
: this file.