This repo holds the files used for a website exhibiting part of my fossils collection. The site can be accessed at apolithomata.com
Contains the images used in the website.
Contains .json
files that contain static data:
Dictionary of terms common to all pages. Manually maintained.
Contains structured data about fossil localities used in the site. Manually maintained.
Auto-generated by pyscripts/generate_pages_json.py
. Contains the titles and paths to pages in tree/
, used by the search script in header.js
.
Information about fossil samples displayed in the site, such as locality, image samples and their descriptions, etc. Manually maintained.
A taxonomic tree of taxon pages contained in the website. It also contains metadata such as whether a taxon is extinct, and their descriptions. Manually maintained
A directory containing auto-generated pages describing the paleoenvironment at different localities.
Contains utility python scripts.
Jinja templates for generating html pages and accompanying .json files.
Executable that will generate all auto-generated content for the website. This includes:
- files under localities/
- files under tree/
- unclassified.html + unclassified.json
- jsondata/pages.json (generated by invoking ../generate_pages_json.py)
- scripts/random-sample.js (contains an auto-generated list of all samples in the site)
- map.html + map.json
Navigates the tree/
and creates entries for each page it encounters, then stores the results in jsondata/pages.json
. Should be ran every time the structure under tree/
is updated.
This script needs to be tweaked before it runs. It runs on a selection of directories, scanning for image files (png and jpg/jpeg). Upon discovery, it will generate large and small (thumnbail) .webp versions of the image, as well as a JPEG image - no png images are generated. These are needed due to efficiency concerns when loading many high-quality images at once - also .webp is a more modern format for web content.
Lists the Python dependencies required to run the python scripts.
Contains .js
scripts used in the website.
Handles the dynamic generation of the header, including the search functionality and navigation links.
Handles language selection and translation for the website.
Generates the navigation path (breadcrumbs) for the website based on the current page.
Selects a random sample of species to display on the homepage. Relies on a static list of information for each sample and the available images. The list, together with the rest of the file are auto-generated. Any updates aimed for this file should be made in the template file (pyscripts/site_generator/templates/random-sample.js.template
)
Contains header.html
, used as a "template" to load the header in every page
Contains the hierarchical structure of the taxonomy, with one .html
and one .json
(translation metadata) file at each level.
The homepage. Manually maintained
A page that shows fossil locations on a map. Auto-generated.
A Python script to run a local server for testing the website.
Contains the CSS styles for the website.
Page that displays fossils that I wasn't able to assign to a taxon.