Render repository content through theme contracts

This commit is contained in:
root
2026-07-23 21:32:19 -07:00
parent 884d182c86
commit f47dafc95a
16 changed files with 579 additions and 85 deletions
@@ -0,0 +1,8 @@
version: 1
enabled: true
artifacts:
content_paths:
- pages
- articles
- projects
media_paths: []
@@ -1,9 +1,9 @@
<article class="content-grid">
<aside><h2>Contents</h2><ol>{% for heading in item.tableOfContents %}<li><a href="#{{ heading.id | escape }}">{{ heading.text | escape }}</a></li>{% endfor %}</ol></aside>
<aside><h2>Contents</h2><ol>{% for heading in page.tableOfContents %}<li><a href="#{{ heading.id }}">{{ heading.text }}</a></li>{% endfor %}</ol></aside>
<div>
<p class="eyebrow">{{ item.artifactType | escape }}</p>
<h1>{{ item.title | escape }}</h1>
<p class="lede">{{ item.summary | escape }}</p>
<div class="prose">{{ item.content | safe_content }}</div>
<p class="eyebrow">{{ page.contentModel }}</p>
<h1>{{ page.title }}</h1>
<p class="lede">{{ page.summary }}</p>
<div class="prose">{{ page.renderedContent | safe_content }}</div>
</div>
</article>
@@ -2,27 +2,22 @@
<aside class="project-meta">
<p class="eyebrow">Project</p>
<dl>
<dt>Version</dt><dd>{{ project.version | escape }}</dd>
<dt>License</dt><dd>{{ project.license | escape }}</dd>
<dt>Source commit</dt><dd><code>{{ project.sourceSnapshot.commit | escape }}</code></dd>
<dt>Updated</dt><dd>{{ project.sourceSnapshot.committedAt | escape }}</dd>
<dt>Version</dt><dd>{{ page.metadata.version }}</dd>
<dt>License</dt><dd>{{ page.metadata.license }}</dd>
<dt>Source commit</dt><dd><code>{{ page.provenance.commit }}</code></dd>
<dt>Updated</dt><dd>{{ page.updated }}</dd>
</dl>
<h2>Stack</h2>
<ul>{% for item in project.stack %}<li>{{ item | escape }}</li>{% endfor %}</ul>
<ul>{% for item in page.metadata.stack %}<li>{{ item }}</li>{% endfor %}</ul>
</aside>
<div class="project-body">
<h1>{{ project.title | escape }}</h1>
<p class="lede">{{ project.summary | escape }}</p>
<p><a href="{{ project.homepage | escape }}">Open the standalone demo</a></p>
<h2 id="provenance">Pinned provenance</h2>
<p>The project and its publication were read from <code>{{ project.sourceSnapshot.repository | escape }}</code> at one exact commit.</p>
<h1>{{ page.title }}</h1>
<p class="lede">{{ page.summary }}</p>
<div class="prose">{{ page.renderedContent | safe_content }}</div>
<p><a href="{{ page.metadata.homepage }}">Open the standalone demo</a></p>
<h2 id="tags">Tags</h2>
<ul class="tags">{% for tag in project.tags %}<li>{{ tag | escape }}</li>{% endfor %}</ul>
<h2 id="devlogs">Devlogs</h2>
{% if project.relatedContent.devlogs.size == 0 %}<p>No matching devlogs in this snapshot.</p>{% endif %}
{% for item in project.relatedContent.devlogs %}<article><h3><a href="{{ item.route | escape }}">{{ item.title | escape }}</a></h3></article>{% endfor %}
<ul class="tags">{% for tag in page.tags %}<li>{{ tag }}</li>{% endfor %}</ul>
<h2 id="articles">Related articles</h2>
{% if project.relatedContent.articles.size == 0 %}<p>No matching articles in this snapshot.</p>{% endif %}
{% for item in project.relatedContent.articles %}<article><h3><a href="{{ item.route | escape }}">{{ item.title | escape }}</a></h3></article>{% endfor %}
{% for item in page.relationships.articles %}<article><h3><a href="{{ item.route }}">{{ item.title }}</a></h3></article>{% endfor %}
</div>
</article>
@@ -1,12 +1,13 @@
<section class="hero">
<p class="eyebrow">Engineering · Architecture · Operations</p>
<h1>{{ site.title | escape }}</h1>
<p>Repository-owned presentation rendered from an exact Git commit.</p>
<h1>{{ page.title }}</h1>
<p>{{ page.summary }}</p>
<div class="prose">{{ page.renderedContent | safe_content }}</div>
</section>
<section class="feed" aria-labelledby="latest">
<h2 id="latest">Latest publications</h2>
{% if content.size == 0 %}<p>No published content in this snapshot.</p>{% endif %}
{% for item in content %}
<article><p class="eyebrow">{{ item.artifactType | escape }}</p><h3><a href="{{ item.route | escape }}">{{ item.title | escape }}</a></h3><p>{{ item.summary | escape }}</p></article>
{% if collection.items.size == 0 %}<p>No published content in this snapshot.</p>{% endif %}
{% for item in collection.items %}
<article><p class="eyebrow">{{ item.contentModel }}</p><h3><a href="{{ item.route }}">{{ item.title }}</a></h3><p>{{ item.summary }}</p></article>
{% endfor %}
</section>
@@ -1,24 +1,24 @@
<!doctype html>
<html lang="{{ site.language | escape }}">
<html lang="{{ site.language }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="labyricorn-theme/v1">
<title>{{ page.title | escape }} · {{ site.title | escape }}</title>
{% for stylesheet in theme.stylesheets %}<link rel="stylesheet" href="{{ stylesheet | escape }}">
{% endfor %}{% for script in theme.scripts %}<script src="{{ script | escape }}" defer></script>
<title>{{ page.title }} · {{ site.title }}</title>
{% for stylesheet in theme.styles %}<link rel="stylesheet" href="{{ stylesheet }}">
{% endfor %}{% for script in theme.scripts %}<script src="{{ script }}" defer></script>
{% endfor %}</head>
<body>
<header class="site-header">
<a class="brand" href="/"><img src="/assets/images/logo.svg" width="32" height="32" alt=""><span>{{ site.title | escape }}</span></a>
<a class="brand" href="/"><img src="/assets/images/logo.svg" width="32" height="32" alt=""><span>{{ site.title }}</span></a>
<nav aria-label="Primary">
{% for entry in navigation %}<a href="{{ entry.route | escape }}">{{ entry.label | escape }}</a>{% endfor %}
{% for entry in navigation %}<a href="{{ entry.route }}">{{ entry.label }}</a>{% endfor %}
</nav>
</header>
<main>{{ page.body | safe_page_body }}</main>
<footer class="site-footer">
<span>Built from immutable Git snapshots.</span>
<code>{{ build.id | escape }}</code>
<code>{{ build.id }}</code>
</footer>
</body>
</html>
@@ -1,10 +1,10 @@
<header class="section-heading">
<p class="eyebrow">Section</p>
<h1>{{ section.label | escape }}</h1>
<h1>{{ page.title }}</h1>
</header>
<section class="feed">
{% if content.size == 0 %}<p>No published items in this snapshot.</p>{% endif %}
{% for item in content %}
<article><h2><a href="{{ item.route | escape }}">{{ item.title | escape }}</a></h2><p>{{ item.summary | escape }}</p></article>
{% if collection.items.size == 0 %}<p>No published items in this snapshot.</p>{% endif %}
{% for item in collection.items %}
<article><h2><a href="{{ item.route }}">{{ item.title }}</a></h2><p>{{ item.summary }}</p></article>
{% endfor %}
</section>
@@ -0,0 +1,22 @@
---
model: article
title: Repository Rendering Is Live
slug: repository-rendering
route: /articles/repository-rendering/
date: 2026-07-23
status: published
summary: The reference article proves Markdown discovery and strict Liquid rendering.
tags:
- git
- liquid
metadata:
projectId: website-engine-control-plane
---
## Immutable inputs
Every build resolves one exact Git commit before rendering.
## Verified output
The generated release records source checksums and can be promoted atomically.
+10
View File
@@ -0,0 +1,10 @@
---
model: page
title: Labyricorn Engineering & Architecture
slug: home
route: /
status: published
summary: Deterministic publishing from immutable Git snapshots.
---
The control plane renders this homepage from committed Markdown and repository-owned Liquid templates.
@@ -0,0 +1,16 @@
---
model: project
title: Website Engine Control Plane
slug: website-engine-control-plane
route: /project/website-engine-control-plane/
status: published
summary: A deterministic Git-native static site control plane.
tags:
- static-site
- git
- liquid
---
## Configuration first
The project page joins its allowlisted declaration with this committed Markdown body.