Skip to content

Commit 72372f1

Browse files
committed
feat(docs): add /docs/ landing page and drop spec forwarders.
/docs/ is now a Zensical-built landing page at docs/docs/index.md with a section for execution-specs linking to the Amsterdam fork docs. The old /docs/ and /docs/spec/ forwarders are removed since the site is not live; only the /docs/default/ permalink remains for stable cross-rollover links.
1 parent 85c7a49 commit 72372f1

4 files changed

Lines changed: 28 additions & 34 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@
99
# - workflow_dispatch: Manual trigger for testing/recovery
1010
#
1111
# Site structure at steel.ethereum.foundation:
12-
# / - Zensical site
13-
# /docs/ - Forwards to /docs/default/
14-
# /docs/spec/ - Forwards to /docs/default/spec/
15-
# /docs/default/ - Permalink; redirects to current default branch
16-
# /docs/default/spec/ - Permalink; redirects to current default branch spec
17-
# /docs/<branch>/ - Branch-specific docs
12+
# / - Zensical site
13+
# /docs/ - Zensical landing page (docs/docs/index.md)
14+
# /docs/default/ - Permalink; redirects to current default branch
15+
# /docs/<branch>/ - Branch-specific docs
1816
# /docs/<branch>/specs/reference - Branch-specific spec
19-
# /docs/versions.json - Version manifest
17+
# /docs/versions.json - Version manifest
2018

2119
name: Build and Deploy
2220

docs/docs/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Documentation
2+
3+
## execution-specs
4+
5+
The [Ethereum execution-layer specification](https://github.com/ethereum/execution-specs).
6+
7+
- [Amsterdam](/docs/forks/amsterdam/)

scripts/assemble-docs.py

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66
77
1. Injects the custom version selector <script> tag into all HTML files.
88
2. Generates versions.json (flat array with url fields).
9-
3. Generates redirect index.html files:
10-
- /docs/default/ and /docs/default/spec/ are stable permalinks that track
11-
the current default branch, so external links survive the rollover from
12-
e.g. forks/amsterdam to forks/bogota.
13-
- /docs/ and /docs/spec/ forward to those permalinks for backward compat.
9+
3. Generates /docs/default/ — a stable permalink that tracks the current
10+
default branch, so external links survive the rollover from e.g.
11+
forks/amsterdam to forks/bogota.
12+
/docs/ itself is the Zensical-built landing page and is not overwritten.
1413
1514
Usage (from repo root):
1615
uv run scripts/assemble-docs.py site/docs \\
@@ -110,30 +109,19 @@ def generate_versions_json(
110109

111110

112111
def generate_redirects(docs_dir: Path, default_branch: str) -> None:
113-
"""Generate permalink redirects under docs/default/ and forwarders at docs root.
112+
"""Generate the /docs/default/ permalink redirect.
114113
115-
/docs/default/ and /docs/default/spec/ are the stable permalinks — they
116-
track the current default branch and survive its rollover. /docs/ and
117-
/docs/spec/ forward through the permalinks so the old URLs keep working.
114+
/docs/default/ tracks the current default branch so external links survive
115+
the rollover from e.g. forks/amsterdam to forks/bogota.
116+
117+
/docs/ itself is the Zensical-built landing page (docs/docs/index.md) and
118+
is intentionally not written here so we don't overwrite it.
118119
"""
119-
branch_url = f"/docs/{default_branch}/"
120-
branch_spec_url = f"/docs/{default_branch}/specs/reference/"
121-
targets = [
122-
# Permalinks: /docs/default/... -> current default branch.
123-
(docs_dir / "default" / "index.html", branch_url, default_branch),
124-
(
125-
docs_dir / "default" / "spec" / "index.html",
126-
branch_spec_url,
127-
f"{default_branch}/specs/reference",
128-
),
129-
# Forwarders: /docs/ and /docs/spec/ -> /docs/default/...
130-
(docs_dir / "index.html", "/docs/default/", "default"),
131-
(docs_dir / "spec" / "index.html", "/docs/default/spec/", "default/spec"),
132-
]
133-
for dest, url, label in targets:
134-
dest.parent.mkdir(parents=True, exist_ok=True)
135-
dest.write_text(REDIRECT_TEMPLATE.format(url=url, label=label))
136-
print(f"Generated redirect: {dest.relative_to(docs_dir)} -> {url}")
120+
dest = docs_dir / "default" / "index.html"
121+
url = f"/docs/{default_branch}/"
122+
dest.parent.mkdir(parents=True, exist_ok=True)
123+
dest.write_text(REDIRECT_TEMPLATE.format(url=url, label=default_branch))
124+
print(f"Generated redirect: {dest.relative_to(docs_dir)} -> {url}")
137125

138126

139127
def main() -> None:

zensical.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ nav = [
4949
{ "About" = "about.md" },
5050
{ "Responsibilities" = "responsibilities.md" },
5151
{ "Team" = "team.md" },
52+
{ "Docs" = "docs/index.md" },
5253
{ "Blog" = [
5354
"blog/2025-11-27_osaka_mainnet_tests.md",
5455
"blog/2025-11-04_weld_final.md",

0 commit comments

Comments
 (0)