Archive

The older views, still working

Most reading now happens in recursive.eco Play, which draws every grammar as Cards, Tree, Continuous or a Playlist. The pages this site used for the same job live here, unchanged, so you can still open them, copy them, or build your own.

The chart viewer and its API (chart.recursive.eco), the Chart Lab, All Astros, Archetypal pairs, the Chart Wheel, the Library (channels.html), the courses, the Explorer, Lenses and the Timeline stay where they are: Play has no view that does what they do, or other pages and the app depend on their address.

The Cards page

Cards

A grammar as a grid of cards with a detail pop-up for each, grouped by any field. It reads any grammar in this repo.

The files: archive/cards.html, viewers/md.js, viewers/grammar-loader.js, viewers/dimension-engine.js, viewers/deck-picker.js, viewers/eco-links.js. It used to live at viewers/cards.html, which now forwards here.

The Tree page

Tree

A grammar drawn as a tree: its items at the base, the groups they compose above them.

The files: archive/tree-viewer.html, viewers/md.js, viewers/grammar-loader.js. It used to live at viewers/tree-viewer.html, which now forwards here.

The All voices, the older page page

All voices, the older page

The first page that set every voice’s reading of one symbol side by side. All Astros (viewers/all-astros.html) replaced it.

The files: archive/lenses-legacy.html. It used to live at lenses-legacy.html, which now forwards here.

Build your own

Every page above is one HTML file that reads a grammar.json in the browser. No server, no build step. You can copy one into your own repo, change how it draws, and still have your grammars open in recursive.eco.

  1. 1

    How a page reads a grammar

    The page takes the grammar’s path in its address, ?src=../grammars/<slug>/grammar.json, fetches that file and draws its nodes: each node has a name, an image_url and sections (named texts). The format is written down at recursive.eco/docs/grammar-format.html. The smallest page that does it is deck.html + loader.js in the tarot repo (about 80 lines, no libraries).

  2. 2

    Copy it into your own repo

    Make a GitHub repo with your grammars at grammars/<slug>/grammar.json. Copy the page (archive/cards.html) and the helpers it loads (viewers/md.js, viewers/grammar-loader.js, viewers/dimension-engine.js, viewers/deck-picker.js, viewers/eco-links.js), and if you like the look, theme.css and the header. Keep the page one folder below the root, as here, so its ../ paths still land. Add an empty .nojekyll file (without it GitHub Pages hides every file whose name starts with _), then turn Pages on: Settings → Pages → Deploy from a branch → main, / (root). Your page is at https://<you>.github.io/<repo>/archive/cards.html?src=../grammars/<slug>/grammar.json. Change the drawing code as much as you like: the grammar stays the same file.

  3. 3

    Link your repo to recursive.eco

    Add a recursive-eco.json at the root of your repo (this site’s recursive-eco.json is a working example: a name, a slug, and where the grammars are). In recursive.eco, open Create → Import → Link a GitHub repo, paste your repo’s address, install the recursive.eco GitHub app on that repo, then tap Import them. Each grammar gets an id; write the slug → id pairs in a file like this site’s ids.json, and your page can offer “Open in Play”: https://recursive.eco/play?id=<id>.

To put an archived page back where it was, see archive/REVERT.md.