Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Explorables

Self-contained sites that take a fixed set of things, ask one question with a number for an answer, and follow that number until it says something the set alone would not.

Live at https://ekinertac.github.io/explorables/.

# Episode The set The question
01 Deep Time 16 intervals of Earth's history How long would an unequipped modern human survive in each?
02 Property. Pilgrim. Papers. 20 centuries in one city, Rome How long would you last, arriving with nothing?

What makes one of these

The format is narrow on purpose. A candidate that misses any of these is a listicle with better typography.

  1. A fixed, ordered set that already exists. Sixteen geological intervals, not sixteen things chosen to make a point. Nothing to argue with before the argument starts.
  2. One scalar answer per item, spanning orders of magnitude. Two minutes to decades. The range is what makes the comparison worth drawing.
  3. A hidden variable that switches partway through. In Deep Time the filter is oxygen for four billion years and then food. Without a switch there is no finding, only a table.
  4. One page per item on a single schema, so pages are comparable instead of each being a fresh essay.
  5. A section naming what is contested. Every episode ends each page with where its numbers are soft. That section is the credibility, not a disclaimer.
  6. Three image sets, each with a job. The place, what there is to eat, and the thing that kills you.

Layout

assets/        shared by every episode: site.css, fonts, lightbox.js, favicon
tools/         gen_img.py, the image engine, knows nothing about any subject
<episode>/     one directory per explorable, self-contained
  index.html   that episode's front page
  content/     its Markdown sources (episode 02 onward)
  build.py     content/ -> the data the page reads (episode 02 onward)
  prompts.py   its items, prompt sets, palettes and captions
  assets/      its own stylesheet, fonts, data and generated images
index.html     the shelf

The split between tools/gen_img.py and <episode>/prompts.py is the one that matters. The engine owns the API call, the seeds, the file naming and the provenance log. The episode owns every word specific to its subject. Adding an explorable means writing a prompts.py, not editing the tool.

tools/gen_img.py 1-16 --set kills                # deep-time by default
tools/gen_img.py all --set menu --episode centuries

Running it

Static files. No build step, no dependencies, no framework.

python3 -m http.server 8000

Licence

MIT.

About

Sixteen eras of Earth's history, rated by how long an unequipped human would last. Static site, no build step.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages