fresh start
This commit is contained in:
parent
62c3e2d368
commit
7f86647175
570 changed files with 4895 additions and 866 deletions
128
README.md
128
README.md
|
|
@ -1,110 +1,30 @@
|
|||
# The Fold Within Earth
|
||||
# The Fold Within Earth - v2.3 Canonical Minimal Specification
|
||||
|
||||
A Markdown-native static site for multi-section content.
|
||||
This repository implements the eternal, Markdown-native MUD/blog/archive as per the blueprint.
|
||||
|
||||
[](https://nodejs.org)
|
||||
[](LICENSE)
|
||||
## Setup
|
||||
1. `npm install` (generates package-lock.json)
|
||||
2. `node tools/hash.js` to verify hashes; `node tools/hash.js fix` to update IDs if needed
|
||||
3. `npm run lint` to validate all files
|
||||
4. `npm run build` to generate /dist
|
||||
5. Deploy to Cloudflare Pages (auto-build on push)
|
||||
|
||||
## Authoring Guide
|
||||
## Components
|
||||
- **Atlas:** Content in /atlas/*.md (hashes verified)
|
||||
- **foldlint:** Validation: `node tools/foldlint.js`
|
||||
- **Build:** Generates static site: `npm run build`
|
||||
- **Scribe:** Archiver daemon: `npm run scribe` (local only)
|
||||
- **Witness:** P2P chat in browser (embedded in HTML, offline localStorage)
|
||||
|
||||
To add or edit content, create or modify Markdown files in `/content/<section>/<year>/<slug>.md`.
|
||||
## Hash Management
|
||||
- Each .md file includes a SHA-256 hash in its `id` field, computed over YAML front-matter (excluding `id`) + body.
|
||||
- Run `node tools/hash.js` to check hashes; use `node tools/hash.js fix` to update incorrect IDs.
|
||||
- Hashes exclude the `id` field to avoid circularity.
|
||||
- After modifying `exits.to` fields, run `node tools/hash.js fix` to update affected hashes.
|
||||
|
||||
### Front-Matter Spec
|
||||
## Link Management
|
||||
- `exits.to` fields in .md files must use full `id` values (e.g., `room:slug@sha256:hash`) or `kind:slug` (resolved automatically).
|
||||
- Use inline strings for `exits.to` (no block scalars like `>-`) to ensure consistent hashing.
|
||||
- Broken links (non-existent IDs) or invalid hashes in `exits.to` will fail the build. Ensure all referenced IDs exist in /atlas and match their file hashes.
|
||||
|
||||
Use YAML front-matter at the top of each .md file:
|
||||
|
||||
```
|
||||
---
|
||||
title: Your Title
|
||||
date: YYYY-MM-DD
|
||||
excerpt: Optional short description.
|
||||
tags: [tag1, tag2]
|
||||
section: one-of-the-sections (must match directory)
|
||||
slug: optional-custom-slug
|
||||
cover: /media/image.webp (optional)
|
||||
author: Optional author name
|
||||
series: Optional series name for serialized posts
|
||||
programs: [neutralizing-narcissism, open-source-justice] # or [coparent]
|
||||
status: published (default if missing) or draft (excluded from build unless --include-drafts)
|
||||
---
|
||||
```
|
||||
|
||||
Then the Markdown body.
|
||||
|
||||
Sections must be one of:
|
||||
|
||||
- empathic-technologist
|
||||
- recursive-coherence
|
||||
- fold-within-earth
|
||||
- neutralizing-narcissism
|
||||
- simply-we
|
||||
- mirrormire
|
||||
|
||||
Year directory should match the date year.
|
||||
|
||||
### Programs (Ministry)
|
||||
|
||||
Use `programs` in front-matter to associate posts with ministry initiatives:
|
||||
|
||||
```yaml
|
||||
programs:
|
||||
- neutralizing-narcissism
|
||||
- open-source-justice
|
||||
- coparent
|
||||
```
|
||||
|
||||
Pages for each program live at:
|
||||
|
||||
```
|
||||
content/pages/programs/<program-key>.md
|
||||
```
|
||||
|
||||
The “Start Here” page lives at:
|
||||
|
||||
```
|
||||
content/pages/start-here.md
|
||||
```
|
||||
|
||||
Routes:
|
||||
|
||||
* `#/start` — Launchpad
|
||||
* `#/programs` — Programs overview
|
||||
* `#/program/<key>` — Program archive + landing content
|
||||
|
||||
If front-matter is malformed (e.g., invalid YAML), the file is skipped with a warning in build logs.
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
```
|
||||
Markdown → build.mjs → JSON indices → Browser SPA → Render
|
||||
```
|
||||
|
||||
## Deploy Steps
|
||||
|
||||
1. Install Node.js >=18
|
||||
2. npm install
|
||||
3. Add/edit md files
|
||||
4. npm run build (or node build.mjs --include-drafts to include drafts)
|
||||
5. Deploy /public to Cloudflare Pages.
|
||||
|
||||
In Cloudflare:
|
||||
- Connect to Git repo
|
||||
- Build command: npm run build
|
||||
- Output directory: public
|
||||
|
||||
## Local Preview
|
||||
|
||||
Run `npm run serve` to preview the built site at http://localhost:8080.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions welcome! Please open issues for bugs or suggestions. Pull requests for improvements are appreciated, especially for Phase 2 MUD integration.
|
||||
|
||||
## Brand Philosophy
|
||||
|
||||
- **The Empathic Technologist**: Fieldnotes, Research, Remembrance
|
||||
- **Recursive Coherence Theory**: Formal research, essays, whitepapers
|
||||
- **The Fold Within Earth**: Spiritual mythos; future interactive MUD (Evennia) link
|
||||
- **Neutralizing Narcissism**: Survivor support, behavioral research, accountability narratives
|
||||
- **Simply WE**: AI-focused identity/personhood/research/mythos
|
||||
- **Mirrormire**: AI-focused simulated world where machine gods & human myth intertwine
|
||||
For full spec, see /docs/primer.md.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue