Awesome
inform-public-library
The server side for the Inform Public Library.
How this works
The Public Library is presented in the GUI Inform apps as a source for downloading commonly needed extensions which aren't bundled with the apps.
In versions of Inform up to 9.3, the PL was housed at emshort.com/pl
), where
the crucial index file was at emshort.com/pl/index.html
. That server remains
in place for the benefit of users of copies of the apps released before 2022.
From version 10.1, however, the Inform apps for Linux, MacOS and Windows use the Github Pages-served form of this repository, at the address:
https://ganelson.github.io/inform-public-library/
Moreover, there are three different forms of the index page:
https://ganelson.github.io/inform-public-library/index-linux.html
https://ganelson.github.io/inform-public-library/index-macos.html
https://ganelson.github.io/inform-public-library/index-windows.html
These differ only in the CSS used, which is tweaked to look right on each platform (and in particular so that Dark Mode works well on the Mac).
Changing and updating the contents of the Library
The index pages are generated by inbuild
from the metadata file docs/roster.json
:
so to update the contents of the Public Library, rewrite that file, put new
extensions (or change old ones) in docs/resources/Extensions
, and then
rebuild the index pages.
This is done as follows:
-
- Pull and make the contents of the
inform
repository, so that you have a working copy ofinbuild
.
- Pull and make the contents of the
-
- Pull this repository alongside
inform
.
- Pull this repository alongside
-
- Change directory to
inform
. Run the command:
- Change directory to
inbuild/Tangled/inbuild -build-registry ../inform-public-library/docs
What this does is to build (currently) ten indexing files from templates
in docs/source
to produce the indexes into docs
itself. Specifically,
it turns:
docs/source/index.html
intodocs/index.html
docs/source/index-linux.html
intodocs/index-linux.html
docs/source/index-macos.html
intodocs/index-macos.html
docs/source/index-windows.html
intodocs/index-windows.html
docs/source/pl404.html
intodocs/pl404.html
docs/source/pl404-linux.html
intodocs/pl404-linux.html
docs/source/pl404-macos.html
intodocs/pl404-macos.html
docs/source/pl404-windows.html
intodocs/pl404-windows.html
docs/source/catalogue.txt
intodocs/catalogue.txt
docs/source/headings.txt
intodocs/headings.txt
The pl404.html
page is not actually needed on the server, but instead is
used in the apps, to be displayed if the Internet (or the server) is down.
There are different versions for each app in order to customise the CSS. Windows needs different font choices, MacOS does idiosyncratic things to make Dark Mode work with the app. The versions with no platform indicated are generic in the same way that the v9 Inform Public Library page was generic: i.e., looking sort of okay but not ideal across the board.
The catalogue.txt
and headings.txt
files are purely for human convenience,
and aren't needed by either the server or the apps.
Current state of the Library
The resources in this registry are the final state of the version 9.3 Public Library as curated by Mark Musante - thus, the content has been migrated but not really changed. (Though the HTML and CSS are all different, and there is explanatory text on the Public Library index page about the status of things.)