carlos / carloku Public

🤖 Directory-scoped permalink: false for the whole docs corpus

Every markdown file under src/docs/ collides with its own paginated
output the same way index.md did — docs.njk emits /docs/<slug>/, and
Eleventy's default md engine tries to emit the same path for the raw
file. src/docs/docs.json applies permalink: false to the whole
directory (eleventyExcludeFromCollections: false keeps them pagination-
visible), so index.md's one-off front matter is removed in favor of it —
otherwise the next person has to guess which one is load-bearing.

Proved against two throwaway files (deploying.md, channels.md): both
built with no collision, rendered at /docs/deploying/ and /docs/channels/
via docs.njk, and served their raw .md twins via docsmd.njk. Deleted
before committing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev 09409642f8abff47d9f8070d62602635b39ba417 parent 517bdaf
2 files changed, +5 −4
  • src/docs/docs.json +5 −0
  • src/docs/index.md +0 −4
diff --git a/src/docs/docs.json b/src/docs/docs.json
new file mode 100644
index 0000000..7708084
--- /dev/null
+++ b/src/docs/docs.json
@@ -0,0 +1,5 @@
+{
+ "//": "This directory's markdown is authored here, in place — there is no vendoring and no sync step (see eleventy.config.js). Each file is input for src/docs.njk (rendered page) and src/docsmd.njk (raw .md fetch), paginated over the docs collection by slug; it is not a page of its own, which is why permalink is false here rather than in each file's front matter.",
+ "permalink": false,
+ "eleventyExcludeFromCollections": false
+}
diff --git a/src/docs/index.md b/src/docs/index.md
index 107b991..25dcc3a 100644
--- a/src/docs/index.md
+++ b/src/docs/index.md
@@ -1,7 +1,3 @@
----
-permalink: false
----
-
# Documentation
Carloku is the hosted CARLOS platform. You deploy a binary, get a URL, and