Initialize Labyricorn site source
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
||||
# Local editor and operating-system files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
# Local secrets and overrides
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
.labyricorn/local.yml
|
||||
|
||||
# Generated output and local caches
|
||||
dist/
|
||||
output/
|
||||
.cache/
|
||||
.labyricorn/cache/
|
||||
.labyricorn/builds/
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
version: 1
|
||||
|
||||
enabled: true
|
||||
|
||||
repository:
|
||||
type: site
|
||||
visibility: private
|
||||
|
||||
website:
|
||||
enabled: true
|
||||
visibility: featured
|
||||
section: site
|
||||
include_in_homepage: true
|
||||
include_in_search: true
|
||||
include_in_rss: true
|
||||
|
||||
artifacts:
|
||||
readme: false
|
||||
releases: false
|
||||
issues: false
|
||||
wiki: false
|
||||
content_paths:
|
||||
- pages
|
||||
- articles
|
||||
- projects
|
||||
media_paths:
|
||||
- media
|
||||
|
||||
display:
|
||||
title: Labyricorn
|
||||
description: A configuration-first, Git-driven site.
|
||||
|
||||
community:
|
||||
discussions: disabled
|
||||
comments_enabled: false
|
||||
|
||||
publishing:
|
||||
local: true
|
||||
targets: []
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# Labyricorn Site
|
||||
|
||||
This repository is the initial Git source for the public Labyricorn website.
|
||||
It is intentionally small so the first deployment proves the complete local
|
||||
publishing path before more content or integrations are added.
|
||||
|
||||
## Source of truth
|
||||
|
||||
This repository is authoritative for the site content it contains. Labyricorn
|
||||
reads `.labyricorn/site.yml`, discovers the configured content, builds the
|
||||
website, and publishes the completed output to the local canonical site.
|
||||
|
||||
Generated website files do not belong in this repository.
|
||||
|
||||
## Repository structure
|
||||
|
||||
```text
|
||||
.labyricorn/site.yml Repository participation and publishing policy
|
||||
pages/ Standalone website pages
|
||||
articles/ Article source documents
|
||||
projects/ Project source documents
|
||||
media/ Images and other intentionally public media
|
||||
docs/ Operator and author documentation
|
||||
```
|
||||
|
||||
## Initial deployment boundary
|
||||
|
||||
The first deployment includes:
|
||||
|
||||
- one homepage;
|
||||
- one introductory article;
|
||||
- one project page;
|
||||
- local publication through Labyricorn.
|
||||
|
||||
It does not yet include:
|
||||
|
||||
- comments or community submissions;
|
||||
- GitHub mirroring;
|
||||
- Cloudflare Pages;
|
||||
- remote publishing targets;
|
||||
- private credentials or generated output.
|
||||
|
||||
See `docs/DEPLOYMENT.md` for the deployment sequence.
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
model: article
|
||||
title: Welcome to Labyricorn
|
||||
slug: welcome
|
||||
date: 2026-07-23
|
||||
status: published
|
||||
summary: Why the first deployment is intentionally small and locally hosted.
|
||||
tags:
|
||||
- labyricorn
|
||||
- publishing
|
||||
- git
|
||||
---
|
||||
|
||||
# Welcome to Labyricorn
|
||||
|
||||
Labyricorn is a configuration-first, Git-driven site builder. Repositories
|
||||
provide content and configuration; the builder turns those sources into a
|
||||
coherent website; the generated local site is the canonical runtime copy.
|
||||
|
||||
This initial deployment focuses on one honest workflow:
|
||||
|
||||
1. synchronize this repository;
|
||||
2. read its Labyricorn configuration;
|
||||
3. discover its Markdown documents;
|
||||
4. render the configured website;
|
||||
5. publish the result locally;
|
||||
6. report what actually happened.
|
||||
|
||||
Additional publishing targets can be added after that workflow is dependable.
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Authoring Content
|
||||
|
||||
Content is written in Markdown and committed to Git.
|
||||
|
||||
## Front matter
|
||||
|
||||
Every document begins with YAML front matter. At minimum, provide:
|
||||
|
||||
```yaml
|
||||
---
|
||||
model: article
|
||||
title: Example title
|
||||
slug: example-title
|
||||
status: draft
|
||||
---
|
||||
```
|
||||
|
||||
The `model` value must match an installed and enabled Labyricorn content-model
|
||||
definition. Model behavior comes from configuration; the engine must not
|
||||
special-case the model name.
|
||||
|
||||
## Publishing state
|
||||
|
||||
Use `status: draft` while working. Change it to `status: published` when the
|
||||
document is ready for the public site.
|
||||
|
||||
## Media
|
||||
|
||||
Place intentionally public assets in `media/`. Do not commit credentials,
|
||||
private source files, local configuration overrides, or generated site output.
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Initial Deployment
|
||||
|
||||
This document defines the first deployment boundary. It does not assume GitHub,
|
||||
Cloudflare Pages, Docker, or a public Control Plane.
|
||||
|
||||
## Target environment
|
||||
|
||||
- Gitea: `https://git.labyricorn.com`
|
||||
- Labyricorn: installed directly in an LXC container
|
||||
- Control Plane: private network access only
|
||||
- Public site: static output served by the configured local runtime
|
||||
- Canonical site address: `https://labyricorn.com`
|
||||
|
||||
## Deployment sequence
|
||||
|
||||
1. Create an empty repository on `git.labyricorn.com`.
|
||||
2. Add that Gitea repository as the remote for this local repository.
|
||||
3. Push the default branch to Gitea.
|
||||
4. Connect the repository in the Labyricorn Control Plane.
|
||||
5. Synchronize it and confirm `.labyricorn/site.yml` is valid.
|
||||
6. Confirm that the `page`, `article`, and `project` models are installed and
|
||||
enabled in Labyricorn.
|
||||
7. Confirm discovery finds the three Markdown documents in this repository.
|
||||
8. Preview the generated routes and resolve any validation errors.
|
||||
9. Build the site.
|
||||
10. Publish the completed build to the local canonical site.
|
||||
11. Verify the homepage, article, and project page from a browser.
|
||||
12. Record the deployed Git revision and active local release.
|
||||
|
||||
## Required proof
|
||||
|
||||
The initial deployment is successful only when all of the following are true:
|
||||
|
||||
- the repository revision shown by Labyricorn matches Gitea;
|
||||
- configuration validation uses the committed `site.yml`;
|
||||
- all three source documents are discovered without filename heuristics;
|
||||
- generated routes come from configured model behavior;
|
||||
- the public pages are served from the activated local release;
|
||||
- restarting the Control Plane does not erase deployment state;
|
||||
- no operational success status is fabricated.
|
||||
|
||||
## Not part of the first deployment
|
||||
|
||||
Add these only after the local path is proven:
|
||||
|
||||
- GitHub deployment mirror;
|
||||
- Cloudflare Pages;
|
||||
- anonymous comments;
|
||||
- social sharing automation;
|
||||
- additional projections or publishing targets.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
model: page
|
||||
title: Labyricorn
|
||||
slug: home
|
||||
route: /
|
||||
status: published
|
||||
summary: A configuration-first, Git-driven home for projects, articles, and documentation.
|
||||
---
|
||||
|
||||
# Build once. Understand every part.
|
||||
|
||||
Labyricorn brings project information, articles, and documentation together
|
||||
without replacing Git as the source of truth.
|
||||
|
||||
The first version of this site is deliberately small. It exists to prove the
|
||||
complete publishing path from a repository, through Labyricorn, to the locally
|
||||
hosted public website.
|
||||
|
||||
## Start here
|
||||
|
||||
- Read the introduction to the publishing approach.
|
||||
- Follow the Labyricorn project as the platform becomes operational.
|
||||
- Return as additional repositories and content models are connected.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
model: project
|
||||
title: Labyricorn
|
||||
slug: labyricorn
|
||||
status: published
|
||||
summary: A configuration-first, Git-driven site builder and its administrative control plane.
|
||||
repository_url: https://git.labyricorn.com
|
||||
tags:
|
||||
- labyricorn
|
||||
- git
|
||||
- static-site
|
||||
---
|
||||
|
||||
# Labyricorn
|
||||
|
||||
Labyricorn builds and hosts locally generated sites from Git repositories.
|
||||
Content models, routes, navigation, styles, themes, and integrations derive
|
||||
their meaning from configuration rather than hardcoded content-type names.
|
||||
|
||||
## Current milestone
|
||||
|
||||
Deploy one small site from a real repository and make every stage observable
|
||||
and understandable.
|
||||
|
||||
## Operating principles
|
||||
|
||||
- Git remains authoritative.
|
||||
- Site behavior is configuration-driven.
|
||||
- Local production hosting is the baseline.
|
||||
- Remote publishing is optional.
|
||||
- Reported status must reflect real operations.
|
||||
|
||||
Reference in New Issue
Block a user