diff --git a/README.md.in b/README.md.in deleted file mode 100644 index 6c7ceb407..000000000 --- a/README.md.in +++ /dev/null @@ -1,91 +0,0 @@ -A fully incremental static site generator. - -## Philosophy - -**Dev mode = Production mode.** Unlike other static site generators that take shortcuts -in development (skipping minification, using original asset paths, etc.), dodeca serves -exactly what you'll get in production: cache-busted URLs, minified HTML, subsetted fonts, -responsive images—the works. Even font subsetting runs in dev! - -This is possible because dodeca uses picante for incremental computation. Every -transformation is a cached query. Change a file and only the affected queries re-run. -First page load builds what's needed; subsequent requests are instant. - -**Custom template engine.** Dodeca includes its own Jinja-like template engine. This gives -you the power of a real language (conditionals, loops, variable interpolation) without -the complexity of learning a new syntax. The engine includes rich diagnostics with -line/column information for template errors. - -**Plugin architecture.** Dodeca's plugin system (via the `plugcard` crate) allows extending -the build pipeline without modifying the core. Image optimization, CSS processing, syntax -highlighting, and more can be plugged in independently. - -## Getting Started - -Install dodeca: - -The recommended way to install dodeca is the install script, which fetches prebuilt binaries from object storage. Releases ship the `ddc` binary plus a set of helper binaries (`ddc-cell-*`) used for things like image processing, Sass, search indexing, etc. - -```bash -curl --proto '=https' --tlsv1.2 -LsSf https://bearcove-dist.s3.fr-par.scw.cloud/dodeca/install.sh | sh -``` - -Supported by the installer: -- macOS (Apple Silicon / `arm64`) -- Linux (`x86_64`) - -After that, you can create a new site: - -```bash -ddc init my-site -cd my-site -ddc serve -``` - -This starts a development server at `http://localhost:8080` with live reload. - -## Key Features - -- **Incremental builds**: Only affected files are re-processed on changes -- **Cache-busted URLs**: Assets get unique names based on content hash -- **Image optimization**: Built-in image processing with responsive variants -- **Font subsetting**: Automatically subset fonts to used characters -- **HTML minification**: Minify HTML in production builds -- **Template engine**: Powerful, easy-to-learn Jinja-like templates -- **Code execution**: Execute code samples and capture output -- **Link checking**: Verify all links in your site -- **Extensible**: Plugin system for custom transformations - -## Structure - -The dodeca workspace includes: - -- **dodeca**: Main SSG binary (`ddc` CLI) -- **gingembre**: Template engine with rich diagnostics -- **plugcard**: Plugin system for extending the build pipeline -- **dodeca-\***: Individual plugins for various transformations -- **livereload-client**: WASM client for live reload in development - -## Development - -Build everything: - -```bash -cargo xtask build -``` - -Run tests: - -```bash -cargo test --workspace -``` - -Build the documentation: - -```bash -cargo doc --workspace --no-deps --open -``` - -## Contributing - -Contributions are welcome! Please open issues and pull requests on GitHub. diff --git a/crates/dodeca-config/README.md.in b/crates/dodeca-config/README.md.in deleted file mode 100644 index 3469df25d..000000000 --- a/crates/dodeca-config/README.md.in +++ /dev/null @@ -1,7 +0,0 @@ -Configuration types for the dodeca static site generator. - -This crate provides the shared config structures consumed by the main `dodeca` binary -and related tooling. It defines the schema and serialization formats used to parse -project configuration files. - -Most users should interact with these types through the `dodeca` CLI. \ No newline at end of file diff --git a/crates/dodeca-debug/README.md.in b/crates/dodeca-debug/README.md.in deleted file mode 100644 index 5fca5f050..000000000 --- a/crates/dodeca-debug/README.md.in +++ /dev/null @@ -1,12 +0,0 @@ -## dodeca-debug - -Low-level debug utilities used across the dodeca workspace. - -This crate hosts small, platform-focused helpers (for example, OS-specific -introspection or debugging primitives) that don’t belong in higher-level -crates. - -### Status - -Internal crate used by the workspace. Not intended for direct consumption. - diff --git a/crates/dodeca-devtools/README.md.in b/crates/dodeca-devtools/README.md.in deleted file mode 100644 index 68d8f407b..000000000 --- a/crates/dodeca-devtools/README.md.in +++ /dev/null @@ -1,7 +0,0 @@ -`dodeca-devtools` is the WebAssembly browser runtime for dodeca DevTools. - -It handles live DOM patching, CSS reload, route subscriptions, dead-link -actions, and open-in-editor actions during `ddc serve`. The visible DevTools UI -is the TypeScript bundle under `crates/dodeca/devtools-ui`. - -This crate is part of the Dodeca workspace. diff --git a/crates/dodeca-protocol/README.md.in b/crates/dodeca-protocol/README.md.in deleted file mode 100644 index ff41eb873..000000000 --- a/crates/dodeca-protocol/README.md.in +++ /dev/null @@ -1,17 +0,0 @@ -## dodeca-protocol - -Shared protocol types for dodeca devtools. This crate contains the data structures -and serialization formats used by the devtools runtime and the live reload client. - -### What this crate is for - -- Defining stable protocol types shared across dodeca components -- Encoding and decoding messages for devtools communication -- Keeping compatibility boundaries explicit and versioned - -### When to use it - -Use `dodeca-protocol` when you need to serialize or interpret messages exchanged -between dodeca devtools components (e.g. host <-> client). - -This crate is internal to the dodeca workspace and is not intended for standalone use. \ No newline at end of file diff --git a/crates/dodeca-sandbox/README.md.in b/crates/dodeca-sandbox/README.md.in deleted file mode 100644 index 233b996de..000000000 --- a/crates/dodeca-sandbox/README.md.in +++ /dev/null @@ -1,15 +0,0 @@ -Cross-platform process sandboxing for dodeca. - -This crate provides the sandboxing layer used by dodeca to run untrusted or isolated processes -with platform-specific backends. - -## Features - -- Cross-platform API with OS-specific implementations. -- Linux support via `hakoniwa`. -- Focused, minimal surface area for secure process execution. - -## Status - -This crate is internal to the dodeca workspace and is not published. - diff --git a/crates/dodeca/README.md.in b/crates/dodeca/README.md.in deleted file mode 100644 index 67bccc9c0..000000000 --- a/crates/dodeca/README.md.in +++ /dev/null @@ -1,29 +0,0 @@ -Dodeca is a fully incremental static site generator. - -## Overview - -This crate provides the `ddc` CLI and the core runtime that powers Dodeca’s build -pipeline, including cells, hot-reload, and devtools integration. - -## Features - -- Incremental builds with fine‑grained caching -- Cell-based pipeline for content processing -- Live reload and devtools support -- Cross-platform and workspace-friendly - -## Usage - -Install from the workspace: - -- `cargo install --path crates/dodeca` - -Run on a site directory: - -- `ddc serve /path/to/site` -- `ddc build /path/to/site` - -## Workspace - -This crate is part of the `dodeca` workspace. Most users should interact with -the `ddc` CLI rather than depending on this crate directly. \ No newline at end of file diff --git a/crates/integration-tests/README.md.in b/crates/integration-tests/README.md.in deleted file mode 100644 index 50520e980..000000000 --- a/crates/integration-tests/README.md.in +++ /dev/null @@ -1,15 +0,0 @@ -## Integration tests - -This crate contains the end-to-end and integration test harness for the dodeca workspace. -It’s a binary crate used during development and CI to validate the full system. - -### What it includes - -- CLI-driven integration tests -- Fixture setup and teardown -- Network and process orchestration helpers - -### When to use it - -Run this crate when you want to verify cross-crate behavior or ensure the full stack works -as expected before publishing or deploying. diff --git a/crates/livereload-client/README.md.in b/crates/livereload-client/README.md.in deleted file mode 100644 index 460ab7cf0..000000000 --- a/crates/livereload-client/README.md.in +++ /dev/null @@ -1,14 +0,0 @@ -# livereload-client - -WASM client for dodeca live reload. It connects to the devtools server, receives DOM patch messages, and applies them in the browser to update pages without a full reload. - -## What it does - -- Opens a websocket connection to dodeca devtools -- Receives patch messages encoded with `dodeca-protocol` -- Applies DOM patches using `hotmeal-wasm` - -## Usage - -This crate is built and bundled by the workspace tooling; you typically don’t depend on it directly. - diff --git a/libs/gingembre/README.md.in b/libs/gingembre/README.md.in deleted file mode 100644 index 4305e6a70..000000000 --- a/libs/gingembre/README.md.in +++ /dev/null @@ -1,6 +0,0 @@ -`gingembre` is a Jinja-like template engine with rich error diagnostics. - -It supports template inheritance, macros, filters, and lazy data resolution, -and is used by dodeca for all HTML templating. - -This crate is part of the Dodeca workspace. diff --git a/libs/hotmeal/README.md.in b/libs/hotmeal/README.md.in deleted file mode 100644 index 278f320bc..000000000 --- a/libs/hotmeal/README.md.in +++ /dev/null @@ -1,5 +0,0 @@ -hotmeal is an HTML toolkit based on facet, html5ever, and cinereus (for diff-patching). - -It allows patching HTML documents into a DOM the way browsers would do, manipulating the DOM, -re-serializing the DOM, but also generating patches you can apply in an actual browser, for -live-reloading. diff --git a/libs/hotmeal/cinereus/README.md.in b/libs/hotmeal/cinereus/README.md.in deleted file mode 100644 index d5b763eae..000000000 --- a/libs/hotmeal/cinereus/README.md.in +++ /dev/null @@ -1,9 +0,0 @@ -GumTree-style tree diffing with Chawathe edit script generation. - -This crate provides a generic tree diffing algorithm based on the GumTree approach: - -1. **Top-down matching**: Finds identical subtrees by hash -2. **Bottom-up matching**: Matches remaining nodes by structural similarity -3. **Chawathe edit script**: Generates minimal INSERT, DELETE, UPDATE, and MOVE operations - -Used by [hotmeal](https://github.com/bearcove/hotmeal) for HTML diffing. diff --git a/libs/hotmeal/hotmeal-wasm/README.md.in b/libs/hotmeal/hotmeal-wasm/README.md.in deleted file mode 100644 index 68fdc889a..000000000 --- a/libs/hotmeal/hotmeal-wasm/README.md.in +++ /dev/null @@ -1,26 +0,0 @@ -# hotmeal-wasm - -WebAssembly bindings for hotmeal HTML toolkit. - -Provides browser-side HTML parsing, DOM diffing, and patch application for use in JavaScript/TypeScript applications. - -## Features - -- Parse HTML strings into DOM trees -- Compute minimal patches between two HTML documents -- Apply patches to update the DOM efficiently -- Works with any JavaScript framework or vanilla JS - -## Usage - -```javascript -import init, { parse_html, diff_html, apply_patches } from 'hotmeal-wasm'; - -await init(); - -const old_html = '
Hello
World
Hello
World