Repository navigation
Conversation
Rewrite the site landing page (content/main/modules/ROOT/pages/index.adoc) as a product index: a getting-started highlight area (oCIS install guide, join.owncloud.com community hub, oCIS Field Guide) and one section per product with a short description and a link to its documentation. The old feature-comparison table and long prose are condensed into the product descriptions; page aliases and the single-H1/metadata conventions are kept. Add antora-extensions/landing-versions.js, which generates one version-list partial per multi-version component into the content catalog at contentClassified; the page includes them via include::partial$generated-versions-<component>.adoc[]. The lists are derived from the catalog, so they update automatically when versions are added, display_version labels change, or a prerelease graduates to GA. Product links use version-less xrefs and resolve to the latest stable version. Update the llms.txt landing label to match the new H1. Add extension-tests/landing-versions.test.js with five build-output guard tests covering the generated version links, link targets, latest-stable product links, metadata/aliases, and highlight links. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Signed-off-by: David Walter <david.walter@kiteworks.com>
Make the redesigned landing page fit on one desktop screen and adapt to narrow viewports. The six product sections render as cards in a responsive grid (three columns on wide screens, fewer on narrow ones, one on phones), the getting-started highlights as a compact card row, and each product's generated version list as inline chips instead of a vertical list. The page sets :role: landing-page, which the custom layouts/default.hbs copies onto <body class="article landing-page">; every rule in the new ui/supplemental/css/landing-page.css is scoped to body.landing-page, so no other page is affected. The stylesheet is linked from partials/head-styles.hbs after owncloud.css, and all layout rules are wrapped in @media screen so print keeps the stock stacked layout. The article column widens from 46rem to 60rem on the landing page only, to fit three card columns; the intro paragraph keeps the 46rem measure. Document the mechanism in ui/AGENTS.md (new UI Supplemental CSS section) and guard it with extension-tests/landing-page-ui.test.js: the role and stylesheet link on the landing page, stylesheet publication, full scoping of its rules, and no role leakage to other pages. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Signed-off-by: David Walter <david.walter@kiteworks.com>
- Remove the table of contents from the landing page: drop the :toc: attribute (removes the inline AsciiDoc TOC) and hide aside.toc.sidebar and aside.toc.embedded in landing-page.css, because the stock UI builds the sidebar TOC client-side from the page headings and clones it into an embedded in-body copy for narrow screens. - Expand the whole left navigation on startup on the landing page via the new ui/supplemental/js/nav-expand.js: the stock site.js expands only the current page's branch (is-active on its ancestors), which left the product groups collapsed. The script adds is-active to every .nav-item, scoped to body.landing-page via the page's :role: landing-page attribute; per-item toggles keep working. - Rework content/main/modules/ROOT/partials/nav.adoc: rename the top item Overview to Release Notes (the release-notes subtree under it is kept) and regroup the product links into oCIS (oCIS Server, oCIS Web Client, MCP Server (coming soon) -- placeholder without a link, no MCP docs exist yet), Classic (Classic Server, Classic Web -> the server classic_ui module), and Apps & Clients (Desktop Client, Android App, iOS App). Product links keep using the latest-*-version attributes, so they follow version rollovers. Guard with three new tests in extension-tests/landing-page-ui.test.js (no TOC in source or output, nav rename/regroup with latest-version hrefs and resolvable links, nav-expand.js wiring) and document the mechanisms in ui/AGENTS.md. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Signed-off-by: David Walter <david.walter@kiteworks.com>
…e Release Notes, move How to Contribute to top level
Restructure the landing page left menu to mirror the product structure:
- Add a 'Documentation by Product' section above the product groups
(oCIS: Server, Web Client, MCP Server (coming soon); Classic: Server,
Web; Apps & Clients: Desktop, Android, iOS), linking each product to
its latest-version docs via {latest-*-version} attributes.
- Reorganize 'Release Notes' (formerly 'Overview') to the same
oCIS/Classic/Apps & Clients grouping, dropping the intermediate
'Server Releases'/'App Releases' levels.
- Move 'How to Contribute' to a top-level entry at the bottom of the
menu. An empty comment block terminates the previous list so the
entry starts a fresh untitled list; Antora's nav builder wraps it in
an empty parent whose depth-0 list is the :first-child, so the stock
CSS renders it at top-level indentation.
- The table of contents was already removed from the landing page in
the previous round (no :toc: attribute, CSS hides aside.toc, no inline
TOC in the built page); re-verified.
Replace the substring-based nav test with a full structural assertion:
parse the rendered nav into a {href, text, children} tree via the
data-depth attributes and deep-equal it against the expected product
structure, and assert every nav href resolves in public/.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Signed-off-by: David Walter <david.walter@kiteworks.com>
- Nav: rename the top item Release Notes to Releases, and drop the redundant product prefixes inside each group, since the group label already carries the product: oCIS/Classic items are now Releases and Release Notes, and the Apps & Clients items are Desktop App, iOS App, and Android App (the Release Notes suffix is implied by the Releases parent). The Releases/Release Notes distinction is kept — two identical 'Releases' entries in one group would be indistinguishable. - Landing page: condense each of the six product descriptions under Documentation by Product from two sentences to one, keeping the SEO phrases (ownCloud Infinite Scale, oCIS, cloud-native, file sync and share, ownCloud Classic, desktop app, mobile app) and the audience clause. Cards shrink accordingly. - Update the structural nav test to the new labels. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Signed-off-by: David Walter <david.walter@kiteworks.com>
Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> Signed-off-by: David Walter <david.walter@kiteworks.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Redesigns the doc.owncloud.com landing page (
content/main/modules/ROOT/pages/index.adoc) into a proper entry point for all ownCloud products, their versions, and the most important getting-started resources.What changed
index.adoc): H1 "ownCloud Documentation", an abstract stating what the page is, a Get Started highlight area (oCIS install guide, join.owncloud.com community hub, oCIS Field Guide), and six product sections (ownCloud Infinite Scale, ownCloud Classic, Desktop App, Android App, iOS App, ownCloud Web), each with a one-sentence description and a link to the component's documentation start page. The old prose wall and feature-comparison table are gone; SEO phrases are kept naturally in headings, card text, and the:description:(141 chars).antora-extensions/landing-versions.jsgenerates one version-list partial per multi-version component into the content catalog at build time (contentClassified, registered insite.yml), so the per-version links (e.g. oCIS9.0 (dev)/8.2/8.1) update automatically when a version is added, relabeled, or graduates from prerelease. No hardcoded version list anywhere. Product links use version-lessxrefs and resolve to the latest GA version, so they survive version bumps.:role: landing-page, which the customui/supplemental/layouts/default.hbscopies onto<body>; the newui/supplemental/css/landing-page.css(every rule scoped tobody.landing-page) renders the product sections as a responsive card grid (auto-fit, minmax(min(100%, 15rem), 1fr)), the highlights as a card row, and the version lists as inline chips, all inside@media screenso print keeps the stock layout.content/main/modules/ROOT/partials/nav.adoc): the landing page has no table of contents (the stock UI builds it client-side, solanding-page.csshidesaside.toc.sidebar/aside.toc.embedded), the menu starts expanded (ui/supplemental/js/nav-expand.jsaddsis-activeto all.nav-items on this page only), and the menu is restructured as Releases by Product (oCIS / Classic / Apps & Clients release and release-notes pages) and Documentation by Product (oCIS: Server, Web Client, MCP Server (coming soon); Classic: Server, Web; Apps & Clients: Desktop, Android, iOS — all at latest GA via{latest-*-version}), with How to Contribute as a top-level entry at the bottom.extension-tests/landing-versions.test.js(5 tests) andextension-tests/landing-page-ui.test.js(7 tests), including a structuraldeepEqualof the rendered nav tree and version-list checks whose expectations are derived fromsite.ymlstart_paths+antora.yml(never hardcoded).ui/AGENTS.mddocuments the role-scoping and nav-expand mechanisms.Verification
npm run antorabuilds clean (exit 0; only pre-existing unrelated warnings).npm test: 65 tests, 64 pass, 0 fail, 1 pre-existing skip (skip confirmed pre-existing via stash baseline).public/.next@docs::index.adoc,next@docs_main::index.adocredirect stubs published.Notes / tech debt
client_releases.adoc("ownCloud App and Client Releases") is no longer referenced from the nav after the regroup — the page stays published; could be linked under Apps & Clients in a follow-up.join.owncloud.comcurrently 301s tohttps://owncloud.dev/join/; kept as the community-hub URL.site.js/CSS contract, worth a visual check in a browser.All commits are GPG-signed and DCO-signed-off.