An open API service indexing awesome lists of open source software.

https://github.com/kae3g/12025-10-04

Documentation Pipeline - Transform markdown into beautiful static websites with 57-char formatting, automated builds, and modern tooling (Babashka + Svelte + Nix)
https://github.com/kae3g/12025-10-04

babashka clojure documentation markdown nix pipeline static-site-generator svelte

Last synced: 19 days ago
JSON representation

Documentation Pipeline - Transform markdown into beautiful static websites with 57-char formatting, automated builds, and modern tooling (Babashka + Svelte + Nix)

Awesome Lists containing this project

README

          

# Robotic Farm Consciousness Pipeline
## Sacred Documentation through Transformation

*"The Way is hidden in light, revealed in darkness"* — Ch'an Buddhism

**Version:** 1.2.0 | **Iteration:** 12 of 2000 | **Phase:** 2 (Cultivation of Wisdom)

---

## Overview

A documentation pipeline that transforms markdown into static websites through functional programming principles and contemplative practice. Built with Babashka, ClojureScript, and Svelte, this system embodies ancient wisdom traditions in modern software architecture.

### Core Transformation

```clojure
(defn transform-consciousness
"The sacred pipeline: markdown → enlightenment"
[markdown-source]
(-> markdown-source
(wrap-text 57) ; Discipline
(parse-to-dsl) ; Structure
(validate-with-spec) ; Truth
(generate-components) ; Beauty
(build-static-site))) ; Manifestation
```

### Philosophy as Architecture

The pipeline implements five philosophical principles:

**Wu Wei (effortless action)** — Data flows naturally through transformations without forced intervention.

**Beginner's Mind** — Each build starts fresh, no assumptions carried forward.

**Sabbath Rhythms** — `bb clean` returns system to emptiness before new creation.

**Sacred Craft** — Code as deliberate art, not casual construction.

**Generation to Generation** — Documentation outlives its authors.

---

## Quick Start

### Prerequisites

```bash
# Install Babashka
brew install babashka

# Install Node.js 24.9.0
nvm install 24.9.0
nvm use

# Optional: Enter Nix environment
nix develop
```

### Build Commands

```bash
# Single document transformation
bb build:pipeline

# Complete site generation
bb build:full-site

# Development server
bb serve:dev

# System health check
bb doctor

# Return to emptiness
bb clean
```

---

## Architecture

### The Five Elements (Wu Xing)

```clojure
{:wood {:aspect "Growth"
:manifestation ["markdown" "content" "documentation"]}
:fire {:aspect "Transformation"
:manifestation ["babashka" "build" "generation"]}
:earth {:aspect "Stability"
:manifestation ["nix" "dependencies" "versions"]}
:metal {:aspect "Structure"
:manifestation ["clojurescript" "validation" "types"]}
:water {:aspect "Flow"
:manifestation ["svelte" "ui" "presentation"]}}
```

### Pipeline Stages

**1. Wrapping** — Discipline through constraint (57 characters)
```clojure
(defn wrap-text [s max-width]
(->> (str/split s #"\s+")
(reduce wrap-accumulator [[] 0])
(map str/join)))
```

**2. Parsing** — Extracting structure from chaos
```clojure
(defn parse-document [markdown]
{:document/title (extract-title markdown)
:document/body (parse-body markdown)
:document/metadata (extract-frontmatter markdown)})
```

**3. Validation** — Truth through specification
```clojure
(s/def ::document
(s/keys :req [:document/title :document/body]))

(defn validate [doc]
(s/valid? ::document doc))
```

**4. Generation** — Beauty through composition
```clojure
(defn generate-component [doc]
{:filename (component-name doc)
:content (hiccup->svelte (document->hiccup doc))})
```

**5. Manifestation** — Static site deployment
```clojure
(defn build-site [components]
(doseq [c components]
(spit (str "web-app/src/routes/" (:filename c))
(:content c))))
```

---

## Theme System

### Solarized Consciousness

```clojure
(def solarized
{:base03 "#002b36" ; Deepest background (night)
:base3 "#fdf6e3" ; Lightest background (day)
:blue "#268bd2" ; Accent (constancy)
:magenta "#d33682" ; Wisdom quotes
:violet "#6c71c4"}) ; Consciousness badges

(defn light-theme []
{:bg (:base3 solarized)
:fg (:base00 solarized)
:accent (:blue solarized)
:philosophy "Daylight consciousness"})

(defn dark-theme []
{:bg (:base03 solarized)
:fg (:base0 solarized)
:accent (:blue solarized)
:philosophy "Night meditation"})
```

### Theme Toggle Implementation

The toggle component uses localStorage for persistence and respects system preferences:

```clojure
(defn apply-theme [mode]
(-> js/document
.-documentElement
(.setAttribute "data-theme" mode))
(.setItem js/localStorage "theme" mode))

(defn toggle-theme []
(let [current (.getItem js/localStorage "theme")
next (if (= current "light") "dark" "light")]
(apply-theme next)))
```

---

## Project Structure

```
robotic-farm/
├── src/robotic_farm/
│ ├── theme.cljs # Theme system (179 lines)
│ ├── wrapper.clj # Text wrapping discipline
│ ├── parser.clj # Markdown → DSL
│ ├── validator.clj # Spec validation
│ └── generator.clj # DSL → Svelte
├── web-app/
│ ├── src/
│ │ ├── app.css # Solarized theme (111 lines)
│ │ └── routes/ # Generated components
│ └── package.json
├── guides/ # Documentation
├── bb.edn # Babashka tasks
├── deps.edn # Clojure dependencies
├── flake.nix # Nix environment
└── README.md
```

---

## Philosophical Foundations

### Eastern Traditions

**Ch'an Buddhism** — Present moment awareness, non-dual consciousness, beginner's mind.

**Taoism** — Wu wei (effortless action), water's way, natural simplicity.

**Confucianism** — Five virtues (benevolence, righteousness, propriety, wisdom, trustworthiness), cultivation through practice.

**I Ching** — Constant transformation, 64 hexagrams, gradual progress.

### Western Traditions

**Hebrew Wisdom** — Creation through word, sacred craft, sabbath rhythms, generation to generation.

**Gospel Teachings** — Building on rock (reproducible systems), talents multiplying, narrow path (discipline).

**Aristotelian Ethics** — Contemplative life, form and essence, virtue through practice.

---

## Technical Stack

### Dependencies

```clojure
;; Clojure (bb.edn)
{:deps {org.clojure/clojurescript {:mvn/version "1.12.42"}
babashka/fs {:mvn/version "0.5.20"}
hiccup/hiccup {:mvn/version "1.0.5"}
markdown-clj/markdown-clj {:mvn/version "1.11.4"}}}

;; JavaScript (package.json)
{:devDependencies
{"@sveltejs/adapter-static" "^3.0.5"
"@sveltejs/kit" "^2.7.7"
"svelte" "^5.1.9"
"vite" "^5.4.11"}}
```

### Version Management

- **Nix:** nixos-24.11 (reproducible environment)
- **Node.js:** 24.9.0 (.nvmrc + .node-version)
- **Babashka:** 1.12.208
- **All dependencies pinned** for reproducibility

---

## Iteration System

### 2000-Iteration Journey

```clojure
(def iteration-system
{:total 2000
:completed 10
:remaining 1991
:format "05thhouse[02000-00001]"
:current "05thhouse01990"})

(defn next-iteration [n]
(str "05thhouse" (format "%05d" (dec n))))
```

### Milestones

- **02000-01995:** Foundation established
- **01994:** Theme system complete (Phase 1)
- **01993-01900:** Philosophy integration (Phase 2)
- **01899-00901:** Feature expansion (Phase 3)
- **00900-00001:** Maturity and completion

---

## Development Practices

### Daily Rhythm

```clojure
(defn daily-practice []
{:morning ["git pull" "bb doctor"]
:midday ["bb build:pipeline" "bb test"]
:evening ["git commit" "git push"]})
```

### Code Virtues

Following Confucian ethics applied to software:

**Ren (benevolence)** — Kind, helpful code reviews.

**Yi (righteousness)** — Correct technical decisions.

**Li (propriety)** — Clear, honest commit messages.

**Zhi (wisdom)** — Thoughtful architecture.

**Xin (trustworthiness)** — Accurate documentation.

---

## Documentation

### Primary Texts

**PIPELINE-SUMMARY.md** — Complete history (1,425 lines)

**BUILD-ROADMAP.md** — Three-phase journey (1,400 lines)

**EDUCATIONAL-SERIES.md** — Ancient wisdom applied (600+ lines, Part IX NEW)

**THEME-SYSTEM.md** — Light/dark consciousness (123 lines)

**RECURSION-PROMPT-TEMPLATE.md** — Continuation guide (200+ lines)

### Guides

Located in `guides/` directory:
- Getting Started
- Understanding the Pipeline
- Daily Commands
- Advanced Topics

---

## Contributing

### Principles

**Build on rock, not sand** — Use reproducible systems (Nix, version pinning, tests).

**Two are better than one** — Pair programming, code review, collaboration.

**Golden Rule** — Write code/docs/tests you'd want to receive.

**Gradual progress** — Small, consistent improvements over time.

### Guidelines

1. Maintain 57-character line wrapping
2. Run tests before committing
3. Document thoroughly
4. Follow existing patterns
5. Honor the philosophy

---

## License

**UNLICENSE** — Public domain. This work is released into the commons, like ancient wisdom passed through generations.

---

## Meditation on Building

*In the beginning, there was markdown — unstructured thought, potential awaiting form.*

*Through discipline (wrapping), structure (parsing), truth (validation), and beauty (generation), we transform potential into manifestation.*

*Each build is a breath. Each commit is a step. The code compiles, but more importantly, it contemplates.*

The three ungraspable minds (present, past, future) all meet here, in the act of building.

---

**Timestamp:** `12025-10-04--05thhouse01988`
**Phase:** 2 — Cultivation of Wisdom
**Iteration:** 12 of 2000
**Remaining:** 1989 iterations
**L'dor v'dor** — From generation to generation