diff --git a/README.md b/README.md index 170bf75..7114d42 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ To work on codegraph itself, run it from a clone instead — Node 22+, pnpm (`corepack enable pnpm`), then the toolchain of each extractor you build: ```bash -git clone https://github.com/defsquare/codegraph.git && cd codegraph +git clone --recurse-submodules https://github.com/defsquare/codegraph.git && cd codegraph pnpm install && pnpm -r build # the CLI (bin/codegraph) and the TypeScript extractor (cd extractors/java && ./mvnw -B package) # Java: a JDK 17+; the wrapper, no local Maven needed ./build.sh --csharp # C#: the .NET 10 SDK @@ -82,6 +82,11 @@ pnpm install && pnpm -r build # the CLI (bin/codegraph) and t ln -s "$PWD/bin/codegraph" ~/.local/bin/codegraph # optional, works from a symlink ``` +Already cloned without `--recurse-submodules`? Run +`git submodule update --init --recursive` first: the website's theme lives in +`website/themes/hextra` as a submodule, and with it missing Hugo aborts +`pnpm -r build` with `unknown output format "llms" for kind "home"`. + Now point it at some Java. Any tree of `.java` files works; it does not have to build, and no JDK is needed. diff --git a/website/README.md b/website/README.md index 10c6282..4600657 100644 --- a/website/README.md +++ b/website/README.md @@ -4,10 +4,16 @@ documentation at `/docs/`. ```bash +git submodule update --init --recursive # once per clone: fetches themes/hextra hugo server -D --port 1314 # http://localhost:1314/ and /docs/ hugo --minify --gc # → public/ ``` +The theme is a git submodule, so a plain `git clone` leaves `themes/hextra` +empty and Hugo fails with `unknown output format "llms" for kind "home"` — +that format is declared by Hextra, not by this site. `pnpm -r build` runs the +Hugo build too, so the submodule must be initialised before it. + The two halves look nothing alike and that is deliberate: the landing page is themeless and runs on the Defsquare Design System, the documentation runs on [Hextra](https://github.com/imfing/hextra) (vendored at `themes/hextra` as a