Tools for generating an index of Psion software
Install the dependencies:
scripts/install-dependencies.sh
Download the assets:
tools/indexer libraries/full.yaml sync
Generate the index:
tools/indexer libraries/full.yaml index
Apply the overlay:
tools/indexer libraries/full.yaml overlay
Build the website:
scripts/build-site.sh
These steps are intentionally separated to make it easy to cache different phases of index generation, especially when using GitHub Actions.
Check out the source, remembering to clone the submodules:
git clone [email protected]:jbmorley/psion-software-index.git
cd psion-software-index
git submodule update --init --recursive
It can be useful to be able to run the indexer on a smaller library:
tools/indexer libraries/3lib.yaml sync index overlay
You can serve the site locally as follows:
cd site
bundle exec jekyll serve --watch
Subsequent calls to update the index will cause the site to be rebuilt automatically.
Note: The indexer runs multiple commands and Lua scripts during the indexing process (approximately 100,000 for the current library). Small changes in process launch times can therefore significantly impact index generation performance, and shim-based environment managers like asdf can cause real problems. To work around this, the indexer respects the LUA_PATH
environment variable to allow shims to be bypassed. For example,
LUA_PATH=/opt/homebrew/bin/lua tools/indexer libraries/3lib.yaml sync index overlay
Contributions are welcome in the form of PRs or GitHub Issues.