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 handwritten journal entries documenting research, experiments, and conservation work. Includes:
Markdown files with journal entries in multiple languages (denoted by -EL, -EN, -GRC suffixes).
Images and media files accompanying journal entries.
Auto-generated index page for the journal.
HTML pages for each journal entry in multiple language versions.
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.
Templates for generating the homepage.
Template for generating individual journal entry pages.
Template for generating the journal index page.
Templates for generating locality pages.
Templates for generating the map page.
Templates for generating taxonomic pages.
Template for generating the random sample selection script.
Executable that will generate all auto-generated content for the website. This includes:
- files under localities/
- files under tree/
- files under journal/
- 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
Builds the journal section from markdown files under journal/entries/. Processes handwritten entries in multiple languages.
Generates the sitemap.xml file for SEO purposes.
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, navigation links, and collapsable sidebar for taxonomy browsing.
Handles language selection and translation for the website.
Handles language loading for journal pages.
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.