This repo now lives as an archive of the original website without automation.
For publishing updates, run the contents of the build steps in netlify.yml
, then push the generated public/
folder to the gh-pages branch:
git subtree push --prefix public origin gh-pages
Statik uses data models to assist in developing a staticly generated website.
A number of models are defined in this repo. For each model, there are multiple files separated into folders of like type:
views/
- defines a path, context (all elements of a model (below), or a single model instance), and a template (below).
templates/
- defined using jinja templating
models/
- defines a model with various keys and datatypes, in yaml
data/
- defintes instances of a model, using the model datatypes, in yaml
The currently defined models are:
Page
: Static pages (the most common for the structure of the wesbite)News
: posts in/news
Person
: people, usually organisers or speakersTrack
: a track of talks, with one or more organisers defined as aPerson
.Session
: a talk, with one or more speakers defined as aPerson
, and a track defined inTrack
.Sponsor
: a sponsor, which may have a workshopWorkshop
: a sponsor workshopSpecialSponsor
: a node for additional listings on the Sponsor page.
Full details are always more current in the code.
There are some other folders of stuff:
assets/
:people/
: avatars of instances ofPerson
sponsor-logos
: logos of instances ofSponsor
diagrams/
, misc images
frontend/
: sass (high level CSS) and typescript (high level javascript) things that power the pretty.
Some of these files are important. Of important note:
_redirects
: defines domain for annual websites..github
: defines GitHub actionsnetlify.toml
: defines page redirects, and build commandsconfig.yaml
: the main page'sPage
definition.package.json
andyarn.lock
: defines JavaScript dependencies for the front end.pyproject.toml
andpoetry.lock
: defines Python dependencies for the back end.tsconfig.json
: configuration for typescript.pre-commit-config.yaml
and.prettierrc
: a precommit config to check for linting and other errors before committing (not automatically run)
If you are developing locally a number of other folders will appear.
These are explicitly defined in .gitignore
and should not be committed to the repository.
node_modules/
: local JavaScript packagespublic/
: the locally built version of the websiteassets/build/
: compiled front-end bits.cache/
: local cache