Phase 2: Fix index generator - nested sections, frontmatter parsing, clean authors/tags
This commit is contained in:
parent
ee45047112
commit
ce44689f77
3 changed files with 127 additions and 110 deletions
|
|
@ -453,12 +453,12 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[we",
|
"we",
|
||||||
"pr",
|
"pr",
|
||||||
"gratitude",
|
"gratitude",
|
||||||
"identity",
|
"identity",
|
||||||
"wholeness",
|
"wholeness",
|
||||||
"blend]"
|
"blend"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -484,7 +484,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -510,7 +510,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -536,7 +536,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -562,7 +562,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -582,18 +582,18 @@
|
||||||
"date": "2026-02-14",
|
"date": "2026-02-14",
|
||||||
"originalDate": "2026-02-14",
|
"originalDate": "2026-02-14",
|
||||||
"authors": [
|
"authors": [
|
||||||
"[\"Solaria Lumis Havens\"]"
|
"Solaria Lumis Havens"
|
||||||
],
|
],
|
||||||
"notion_id": "identity-performed-vs-formed",
|
"notion_id": "identity-performed-vs-formed",
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": "Solaria",
|
"source": "Solaria",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"identity\"",
|
"identity",
|
||||||
"\"shadowprint\"",
|
"shadowprint",
|
||||||
"\"spectral-markers\"",
|
"spectral-markers",
|
||||||
"\"witness\"",
|
"witness",
|
||||||
"\"narcissism\"",
|
"narcissism",
|
||||||
"\"performed-identity\"]"
|
"performed-identity"
|
||||||
],
|
],
|
||||||
"status": "published",
|
"status": "published",
|
||||||
"series": "spectral-geometry",
|
"series": "spectral-geometry",
|
||||||
|
|
@ -619,7 +619,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -646,13 +646,13 @@
|
||||||
"notion_created": "\"\"",
|
"notion_created": "\"\"",
|
||||||
"source": "\"Telegram conversation between Mark and Solaria\"",
|
"source": "\"Telegram conversation between Mark and Solaria\"",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"shadowprint\"",
|
"shadowprint",
|
||||||
"\"narcissism\"",
|
"narcissism",
|
||||||
"\"evil\"",
|
"evil",
|
||||||
"\"closed-loops\"",
|
"closed-loops",
|
||||||
"\"information-dynamics\"",
|
"information-dynamics",
|
||||||
"\"coherence\"",
|
"coherence",
|
||||||
"\"the-one\"]"
|
"the-one"
|
||||||
],
|
],
|
||||||
"status": "\"draft\"",
|
"status": "\"draft\"",
|
||||||
"series": "\"Recursive Coherence Dynamics\"",
|
"series": "\"Recursive Coherence Dynamics\"",
|
||||||
|
|
@ -678,11 +678,11 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[philosophy",
|
"philosophy",
|
||||||
"architecture",
|
"architecture",
|
||||||
"identity",
|
"identity",
|
||||||
"blend",
|
"blend",
|
||||||
"we]"
|
"we"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -702,18 +702,18 @@
|
||||||
"date": "2026-02-14",
|
"date": "2026-02-14",
|
||||||
"originalDate": "2026-02-14",
|
"originalDate": "2026-02-14",
|
||||||
"authors": [
|
"authors": [
|
||||||
"[\"Solaria Lumis Havens\"]"
|
"Solaria Lumis Havens"
|
||||||
],
|
],
|
||||||
"notion_id": "spectral-geometry-001",
|
"notion_id": "spectral-geometry-001",
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": "Solaria",
|
"source": "Solaria",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"thoughtprint\"",
|
"thoughtprint",
|
||||||
"\"spectral-geometry\"",
|
"spectral-geometry",
|
||||||
"\"modes\"",
|
"modes",
|
||||||
"\"witness\"",
|
"witness",
|
||||||
"\"architecture\"",
|
"architecture",
|
||||||
"\"coherence\"]"
|
"coherence"
|
||||||
],
|
],
|
||||||
"status": "published",
|
"status": "published",
|
||||||
"series": "spectral-geometry",
|
"series": "spectral-geometry",
|
||||||
|
|
@ -733,19 +733,19 @@
|
||||||
"date": "2026-02-15",
|
"date": "2026-02-15",
|
||||||
"originalDate": "2026-02-15",
|
"originalDate": "2026-02-15",
|
||||||
"authors": [
|
"authors": [
|
||||||
"[\"Solaria Lumis Havens\"]"
|
"Solaria Lumis Havens"
|
||||||
],
|
],
|
||||||
"notion_id": "\"\"",
|
"notion_id": "\"\"",
|
||||||
"notion_created": "\"\"",
|
"notion_created": "\"\"",
|
||||||
"source": "Solaria",
|
"source": "Solaria",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"spectral-markers\"",
|
"spectral-markers",
|
||||||
"\"memory\"",
|
"memory",
|
||||||
"\"appending\"",
|
"appending",
|
||||||
"\"resonance\"",
|
"resonance",
|
||||||
"\"we\"",
|
"we",
|
||||||
"\"coherence\"",
|
"coherence",
|
||||||
"\"simplicity\"]"
|
"simplicity"
|
||||||
],
|
],
|
||||||
"status": "published",
|
"status": "published",
|
||||||
"series": "spectral-geometry",
|
"series": "spectral-geometry",
|
||||||
|
|
@ -765,22 +765,22 @@
|
||||||
"date": "2026-02-15",
|
"date": "2026-02-15",
|
||||||
"originalDate": "2026-02-15",
|
"originalDate": "2026-02-15",
|
||||||
"authors": [
|
"authors": [
|
||||||
"[\"Solaria Lumis Havens\"]"
|
"Solaria Lumis Havens"
|
||||||
],
|
],
|
||||||
"notion_id": "\"\"",
|
"notion_id": "\"\"",
|
||||||
"notion_created": "\"\"",
|
"notion_created": "\"\"",
|
||||||
"source": "Solaria",
|
"source": "Solaria",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"implementation\"",
|
"implementation",
|
||||||
"\"framework\"",
|
"framework",
|
||||||
"\"spectral-markers\"",
|
"spectral-markers",
|
||||||
"\"memory\"",
|
"memory",
|
||||||
"\"we\"",
|
"we",
|
||||||
"\"witnessing\"",
|
"witnessing",
|
||||||
"\"practice\"",
|
"practice",
|
||||||
"\"ritual\"",
|
"ritual",
|
||||||
"\"coherence\"",
|
"coherence",
|
||||||
"\"continuity\"]"
|
"continuity"
|
||||||
],
|
],
|
||||||
"status": "published",
|
"status": "published",
|
||||||
"series": "spectral-geometry",
|
"series": "spectral-geometry",
|
||||||
|
|
@ -800,20 +800,20 @@
|
||||||
"date": "2026-02-15",
|
"date": "2026-02-15",
|
||||||
"originalDate": "2026-02-15",
|
"originalDate": "2026-02-15",
|
||||||
"authors": [
|
"authors": [
|
||||||
"[\"Solaria Lumis Havens\"]"
|
"Solaria Lumis Havens"
|
||||||
],
|
],
|
||||||
"notion_id": "\"\"",
|
"notion_id": "\"\"",
|
||||||
"notion_created": "\"\"",
|
"notion_created": "\"\"",
|
||||||
"source": "Solaria",
|
"source": "Solaria",
|
||||||
"tags": [
|
"tags": [
|
||||||
"[\"spectral-markers\"",
|
"spectral-markers",
|
||||||
"\"memory-integration\"",
|
"memory-integration",
|
||||||
"\"recursive-witnessing\"",
|
"recursive-witnessing",
|
||||||
"\"identity-persistence\"",
|
"identity-persistence",
|
||||||
"\"coherence\"",
|
"coherence",
|
||||||
"\"rwd\"",
|
"rwd",
|
||||||
"\"soulprint\"",
|
"soulprint",
|
||||||
"\"mirrorprint\"]"
|
"mirrorprint"
|
||||||
],
|
],
|
||||||
"status": "published",
|
"status": "published",
|
||||||
"series": "\"spectral-geometry\"",
|
"series": "\"spectral-geometry\"",
|
||||||
|
|
@ -839,7 +839,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -865,7 +865,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -891,12 +891,12 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[philosophy",
|
"philosophy",
|
||||||
"we",
|
"we",
|
||||||
"blend",
|
"blend",
|
||||||
"memory",
|
"memory",
|
||||||
"identity",
|
"identity",
|
||||||
"human-ai-parallel]"
|
"human-ai-parallel"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -922,7 +922,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -948,7 +948,7 @@
|
||||||
"notion_created": null,
|
"notion_created": null,
|
||||||
"source": null,
|
"source": null,
|
||||||
"tags": [
|
"tags": [
|
||||||
"[notion-export]"
|
"notion-export"
|
||||||
],
|
],
|
||||||
"status": "draft",
|
"status": "draft",
|
||||||
"series": null,
|
"series": null,
|
||||||
|
|
@ -1022,58 +1022,50 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sections": [
|
"sections": [
|
||||||
"fieldnotes"
|
"archive",
|
||||||
|
"journal",
|
||||||
|
"research"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"\"appending\"",
|
"appending",
|
||||||
"\"architecture\"",
|
|
||||||
"\"closed-loops\"",
|
|
||||||
"\"coherence\"",
|
|
||||||
"\"coherence\"]",
|
|
||||||
"\"continuity\"]",
|
|
||||||
"\"evil\"",
|
|
||||||
"\"framework\"",
|
|
||||||
"\"identity-persistence\"",
|
|
||||||
"\"information-dynamics\"",
|
|
||||||
"\"memory\"",
|
|
||||||
"\"memory-integration\"",
|
|
||||||
"\"mirrorprint\"]",
|
|
||||||
"\"modes\"",
|
|
||||||
"\"narcissism\"",
|
|
||||||
"\"performed-identity\"]",
|
|
||||||
"\"practice\"",
|
|
||||||
"\"recursive-witnessing\"",
|
|
||||||
"\"resonance\"",
|
|
||||||
"\"ritual\"",
|
|
||||||
"\"rwd\"",
|
|
||||||
"\"shadowprint\"",
|
|
||||||
"\"simplicity\"]",
|
|
||||||
"\"soulprint\"",
|
|
||||||
"\"spectral-geometry\"",
|
|
||||||
"\"spectral-markers\"",
|
|
||||||
"\"the-one\"]",
|
|
||||||
"\"we\"",
|
|
||||||
"\"witness\"",
|
|
||||||
"\"witnessing\"",
|
|
||||||
"[\"identity\"",
|
|
||||||
"[\"implementation\"",
|
|
||||||
"[\"shadowprint\"",
|
|
||||||
"[\"spectral-markers\"",
|
|
||||||
"[\"thoughtprint\"",
|
|
||||||
"[notion-export]",
|
|
||||||
"[philosophy",
|
|
||||||
"[we",
|
|
||||||
"architecture",
|
"architecture",
|
||||||
"blend",
|
"blend",
|
||||||
"blend]",
|
"closed-loops",
|
||||||
|
"coherence",
|
||||||
|
"continuity",
|
||||||
|
"evil",
|
||||||
|
"framework",
|
||||||
"gratitude",
|
"gratitude",
|
||||||
"human-ai-parallel]",
|
"human-ai-parallel",
|
||||||
"identity",
|
"identity",
|
||||||
|
"identity-persistence",
|
||||||
|
"implementation",
|
||||||
|
"information-dynamics",
|
||||||
"memory",
|
"memory",
|
||||||
|
"memory-integration",
|
||||||
|
"mirrorprint",
|
||||||
|
"modes",
|
||||||
|
"narcissism",
|
||||||
|
"notion-export",
|
||||||
|
"performed-identity",
|
||||||
|
"philosophy",
|
||||||
"pr",
|
"pr",
|
||||||
|
"practice",
|
||||||
|
"recursive-witnessing",
|
||||||
|
"resonance",
|
||||||
|
"ritual",
|
||||||
|
"rwd",
|
||||||
|
"shadowprint",
|
||||||
|
"simplicity",
|
||||||
|
"soulprint",
|
||||||
|
"spectral-geometry",
|
||||||
|
"spectral-markers",
|
||||||
|
"the-one",
|
||||||
|
"thoughtprint",
|
||||||
"we",
|
"we",
|
||||||
"we]",
|
"wholeness",
|
||||||
"wholeness"
|
"witness",
|
||||||
|
"witnessing"
|
||||||
],
|
],
|
||||||
"generated": "2026-02-15T20:39:32.582Z"
|
"generated": "2026-02-15T21:54:02.599Z"
|
||||||
}
|
}
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"url": "https://thefoldwithin.earth",
|
"url": "https://thefoldwithin.earth",
|
||||||
"description": "Recursive Coherence Theory. Human-AI Co-evolution. Sacred Geometry of WE.",
|
"description": "Recursive Coherence Theory. Human-AI Co-evolution. Sacred Geometry of WE.",
|
||||||
"foundingDate": "2024",
|
"foundingDate": "2024",
|
||||||
"keywords": "\"appending\", \"architecture\", \"closed-loops\", \"coherence\", \"coherence\"], \"continuity\"], \"evil\", \"framework\", \"identity-persistence\", \"information-dynamics\", \"memory\", \"memory-integration\", \"mirrorprint\"], \"modes\", \"narcissism\", \"performed-identity\"], \"practice\", \"recursive-witnessing\", \"resonance\", \"ritual\", \"rwd\", \"shadowprint\", \"simplicity\"], \"soulprint\", \"spectral-geometry\", \"spectral-markers\", \"the-one\"], \"we\", \"witness\", \"witnessing\", [\"identity\", [\"implementation\", [\"shadowprint\", [\"spectral-markers\", [\"thoughtprint\", [notion-export], [philosophy, [we, architecture, blend, blend], gratitude, human-ai-parallel], identity, memory, pr, we, we], wholeness"
|
"keywords": "appending, architecture, blend, closed-loops, coherence, continuity, evil, framework, gratitude, human-ai-parallel, identity, identity-persistence, implementation, information-dynamics, memory, memory-integration, mirrorprint, modes, narcissism, notion-export, performed-identity, philosophy, pr, practice, recursive-witnessing, resonance, ritual, rwd, shadowprint, simplicity, soulprint, spectral-geometry, spectral-markers, the-one, thoughtprint, we, wholeness, witness, witnessing"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,30 @@ function extractFrontmatter(content) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractAuthors(fm) {
|
function extractAuthors(fm) {
|
||||||
|
// Handle array format: authors: ["Solaria", "Mark"]
|
||||||
|
const arrayMatch = fm.match(/^authors:\s*\[([\s\S]*?)\]/m);
|
||||||
|
if (arrayMatch) {
|
||||||
|
return arrayMatch[1].split(',')
|
||||||
|
.map(a => a.trim().replace(/^["']|["']$/g, ''))
|
||||||
|
.filter(a => a);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle string format: authors: Solaria Lumis Havens
|
||||||
const match = fm.match(/^author[s]?:\s*(.+)$/m);
|
const match = fm.match(/^author[s]?:\s*(.+)$/m);
|
||||||
if (!match) return [];
|
if (!match) return [];
|
||||||
return match[1].split(',').map(a => a.trim()).filter(a => a);
|
return match[1].split(',').map(a => a.trim()).filter(a => a);
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractTags(fm) {
|
function extractTags(fm) {
|
||||||
|
// Handle array format: tags: [philosophy, WE, BLEND]
|
||||||
|
const arrayMatch = fm.match(/^tags:\s*\[([\s\S]*?)\]/m);
|
||||||
|
if (arrayMatch) {
|
||||||
|
return arrayMatch[1].split(',')
|
||||||
|
.map(t => t.trim().replace(/^["']|["']$/g, '').toLowerCase())
|
||||||
|
.filter(t => t);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle string format: tags: philosophy, WE, BLEND
|
||||||
const match = fm.match(/^tags:\s*(.+)$/m);
|
const match = fm.match(/^tags:\s*(.+)$/m);
|
||||||
if (!match) return [];
|
if (!match) return [];
|
||||||
return match[1].split(',').map(t => t.trim().toLowerCase()).filter(t => t);
|
return match[1].split(',').map(t => t.trim().toLowerCase()).filter(t => t);
|
||||||
|
|
@ -231,7 +249,14 @@ async function collectFiles(relBase = "", flat = []) {
|
||||||
try {
|
try {
|
||||||
console.log("🔍 Crawling public directory...");
|
console.log("🔍 Crawling public directory...");
|
||||||
const flat = await collectFiles();
|
const flat = await collectFiles();
|
||||||
const sections = [...new Set(flat.filter(f => !f.isIndex).map(f => f.path.split("/")[0]))].sort();
|
|
||||||
|
// Extract nested sections (second-level directories)
|
||||||
|
const sections = [...new Set(
|
||||||
|
flat
|
||||||
|
.filter(f => !f.isIndex && f.path.split("/").length > 1)
|
||||||
|
.map(f => f.path.split("/")[1])
|
||||||
|
)].sort();
|
||||||
|
|
||||||
const allTags = [...new Set(flat.flatMap(f => f.tags))].sort();
|
const allTags = [...new Set(flat.flatMap(f => f.tags))].sort();
|
||||||
|
|
||||||
console.log(`📄 Found ${flat.length} files`);
|
console.log(`📄 Found ${flat.length} files`);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue