Skip to content

Commit e695d2c

Browse files
Redesign product family pages; add verified getting-started and Popular classes
Family/landing pages (themes/docs/layouts/_default/family.html + custom.css): - Full-width layout with a platform-variant sidebar and a main column. - Lead auto-extends with the cross-platform API note; the meta row's "Latest" is the highest version across platforms. - Scoped per-product live search over /search-index.json, with a Search button consistent with the home and 404 search. - Selectable platform cards (with a "Selected" tag) drive a "Getting started" code block whose heading names the selected platform and whose language switch is a platform-dot segmented control matching the home "Browse products" filter. - Curated, verified "Popular classes & namespaces" grid for all 15 products; every symbol link was checked against the actual reference tree. - Supported-formats footnote and bordered Resources cards. Getting started: - data/getting_started.yaml holds real snippets, compile-verified against the SDKs (.NET, Java, Python, Node.js) by the runnable apps in examples/getting-started/. Feedback: - "Was this page helpful?" restyled to one horizontal card and applied consistently across the family pages and every API-reference page. Also: align family platform versions to X.Y.Z; add new family front-matter fields (formatsCount, formatsNote, popular[]); ignore __pycache__/; update CHANGELOG and CLAUDE.
1 parent 15dc86c commit e695d2c

98 files changed

Lines changed: 3094 additions & 87 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
resources/
33
public/
44
public-local/
5+
__pycache__/
56
.DS_Store
67

78

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ tags), so changes accumulate under **[Unreleased]**.
1010
## [Unreleased]
1111

1212
### Added
13+
- **Verified getting-started code** on the family pages — the "Getting started" tabs now render real
14+
snippets from `data/getting_started.yaml` (keyed product → platform), sourced from the official
15+
products content and **compile-verified against the real SDKs** by runnable apps under
16+
`examples/getting-started/<product>/<platform>/` (`dotnet build` / `mvn compile` / import-resolve).
17+
Coverage: **.NET ×15, Java ×13, Python ×13, Node.js ×2** (conversion, viewer) — every applicable
18+
product/platform compile-verified against the real SDK; products/platforms without an entry fall back
19+
to the install command. Verification corrected several drifted official snippets (metadata
20+
`Sanitize()`, signature/Python namespaces+casing, parser/Python `get_text()`, watermark line-breaks)
21+
and flagged that `groupdocs-annotation-net` on PyPI is a 0.0.0 stub.
1322
- **Combined, compacted `llms-full.txt`** at the site root — the entire API reference for all 15
1423
products in one well-structured file. Built from source by `build_llms_full.py` (navigation
1524
boilerplate stripped: `See Also` footers, `Learn more` blocks, internal link URLs, front matter,
@@ -29,6 +38,19 @@ tags), so changes accumulate under **[Unreleased]**.
2938
- Comprehensive README, `CLAUDE.md`, and this changelog.
3039

3140
### Changed
41+
- **Redesigned the product family/landing pages** (Claude Design handoff): full-width two-column layout
42+
(platform-variant sidebar + main), breadcrumb, a lead auto-extended with "…a single, consistent API
43+
across &lt;platforms&gt;", a meta row (platforms · formats · **latest = the highest** version across
44+
platforms), a **scoped per-product live search** (filters `/search-index.json` to the current product;
45+
Search button consistent with the home/404 search), selectable **platform cards** — with a "Selected"
46+
tag — that drive a **"Getting started" code block** (heading names the selected platform; the language
47+
switch is a platform-dot segmented control matching the home "Browse products" filter; per-platform code
48+
from `data/getting_started.yaml`, falling back to the install command), a
49+
curated, **verified** **"Popular classes & namespaces"** grid (real symbols across all 15 products,
50+
each link checked against the reference tree), **Key capabilities** + **Supported formats** (with an
51+
optional "…and N+ more" note), **Resources** as bordered cards, and an inline **"Was this page helpful?"**
52+
card — all restyled to the home/404 design system. Rendered by `_default/family.html`. New family
53+
front-matter fields: `formatsCount`, `formatsNote`, and `popular[]` (`name`/`kind`/`ns`/`url`).
3254
- **Redesigned the home/landing page** (from the Claude Design handoff, the sibling of the 404):
3355
a hero **live search** over `/search-index.json` (same engine as the 404), a **platform-filter**
3456
segmented control (All / .NET / Java / Node.js / Python) over the product grid (cards show the real

CLAUDE.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,19 @@ obvious from the code.
4040
each with an explicit **`url:`** in front matter (product-relative, e.g. `/net/...`). Mostly auto-generated
4141
API refs synced from `GroupDocs.<Product>-References` repos.
4242
- **Family/landing page** (per product): `content/sites/groupdocs/<product>/english/_index.md`, `layout: family`,
43-
`url: /`. HTML by `themes/docs/layouts/_default/family.html`; Markdown by `themes/docs/layouts/index.md` (family branch).
43+
`url: /`. HTML by `themes/docs/layouts/_default/family.html` (the **`gd-family`** design: breadcrumb + meta,
44+
a **scoped per-product search** over `/search-index.json` filtered by the URL's product segment, selectable
45+
**platform cards** that drive a tabbed **Getting-started code block**, capabilities/formats, resources,
46+
feedback). The Getting-started code comes from **`data/getting_started.yaml`** (keyed product → platform →
47+
`{lang, code}`), **compile-verified** by runnable apps in **`examples/getting-started/<product>/<platform>/`**
48+
(`dotnet build` / `mvn compile` / Python import-resolve); a platform with no entry falls back to its
49+
`install` command. Snippets are sourced from `products/content/<product>/<platform>/_index.en.md`. Markdown
50+
by `themes/docs/layouts/index.md` (family branch). The page also shows a curated **"Popular classes &
51+
namespaces"** grid, and the "Latest" in the meta row is the **highest** version across platforms (not
52+
the first listed). Family front matter: `lead`, `platforms[]` (`name`, `key`, `ref`, `version`,
53+
`versionUrl`, `install`), `capabilities[]`, `formats[]`, `formatsCount` (display string e.g. `"170+"`),
54+
`formatsNote` (muted line under the format chips), `popular[]` (`name`/`kind`/`ns`/`url` — cards link
55+
into the reference), `resources[]`.
4456
- **Site-root landing**: `content/sites/groupdocs/home/english/_index.md`, `layout: full-width`. Its
4557
**body is empty** — the whole page is rendered by `themes/docs/layouts/_default/full-width.html` as the
4658
scoped **`gd-home`** design (hero + live search over `/search-index.json`, a platform-filter over the
@@ -114,6 +126,13 @@ python serve-local.py 1313 # serve ./public-local with UTF-8
114126
- The product-source repos (`../GroupDocs.<X>-References`) and the design handoff (`../references-404`) are
115127
**separate from this repo** — the user commits those.
116128

129+
## Verified getting-started snippets
130+
- The family pages' Getting-started code comes from **`data/getting_started.yaml`** (keyed product →
131+
platform → `{lang, code}`), **compile-verified** against the real SDKs by the runnable apps in
132+
**`examples/getting-started/<product>/<platform>/`** (`dotnet build` / `mvn compile` / Python
133+
import-resolve). A product/platform with no entry falls back to its install command. (The broader
134+
product/SDK knowledge base that informed these snippets is maintained **outside this repo**.)
135+
117136
## Changelog rule
118137
**Whenever you make a notable/user-facing change here, add an entry to `CHANGELOG.md` under `## [Unreleased]`
119138
(Keep a Changelog format: Added / Changed / Fixed) in the same commit.** Skip purely local/throwaway changes.

content/sites/groupdocs/annotation/english/_index.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ platforms:
1818
ref: "/net/"
1919
install: "dotnet add package GroupDocs.Annotation"
2020
- name: "Java"
21-
version: "25.6"
21+
version: "25.6.0"
2222
versionUrl: "https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-annotation/25.6/"
2323
key: java
2424
ref: "/java/"
@@ -38,6 +38,40 @@ capabilities:
3838
- "Import / export annotations"
3939
- "Render annotated previews"
4040

41+
popular:
42+
- name: "Annotator"
43+
kind: "Class"
44+
ns: "GroupDocs.Annotation"
45+
url: "/net/groupdocs.annotation/annotator/"
46+
- name: "Annotator.Add"
47+
kind: "Method"
48+
ns: "GroupDocs.Annotation"
49+
url: "/net/groupdocs.annotation/annotator/add/"
50+
- name: "AnnotatorSettings"
51+
kind: "Class"
52+
ns: "GroupDocs.Annotation"
53+
url: "/net/groupdocs.annotation/annotatorsettings/"
54+
- name: "SaveOptions"
55+
kind: "Class"
56+
ns: "Annotation.Options"
57+
url: "/net/groupdocs.annotation.options/saveoptions/"
58+
- name: "LoadOptions"
59+
kind: "Class"
60+
ns: "Annotation.Options"
61+
url: "/net/groupdocs.annotation.options/loadoptions/"
62+
- name: "PreviewOptions"
63+
kind: "Class"
64+
ns: "Annotation.Options"
65+
url: "/net/groupdocs.annotation.options/previewoptions/"
66+
- name: "AnnotationType"
67+
kind: "Enum"
68+
ns: "Annotation.Options"
69+
url: "/net/groupdocs.annotation.options/annotationtype/"
70+
- name: "IDocumentInfo"
71+
kind: "Interface"
72+
ns: "GroupDocs.Annotation"
73+
url: "/net/groupdocs.annotation/idocumentinfo/"
74+
4175
resources:
4276
- name: "Documentation"
4377
url: "https://docs.groupdocs.com/annotation/"

content/sites/groupdocs/assembly/english/_index.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ platforms:
1818
ref: "/net/"
1919
install: "dotnet add package GroupDocs.Assembly"
2020
- name: "Java"
21-
version: "26.1"
21+
version: "26.1.0"
2222
versionUrl: "https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-assembly/26.1/"
2323
key: java
2424
ref: "/java/"
@@ -40,6 +40,40 @@ capabilities:
4040
- "Mail merge"
4141
- "Cross-format output"
4242

43+
popular:
44+
- name: "DocumentAssembler"
45+
kind: "Class"
46+
ns: "GroupDocs.Assembly"
47+
url: "/net/groupdocs.assembly/documentassembler/"
48+
- name: "DocumentAssembler.AssembleDocument"
49+
kind: "Method"
50+
ns: "GroupDocs.Assembly"
51+
url: "/net/groupdocs.assembly/documentassembler/assembledocument/"
52+
- name: "DataSourceInfo"
53+
kind: "Class"
54+
ns: "GroupDocs.Assembly"
55+
url: "/net/groupdocs.assembly/datasourceinfo/"
56+
- name: "LoadSaveOptions"
57+
kind: "Class"
58+
ns: "GroupDocs.Assembly"
59+
url: "/net/groupdocs.assembly/loadsaveoptions/"
60+
- name: "FileFormat"
61+
kind: "Enum"
62+
ns: "GroupDocs.Assembly"
63+
url: "/net/groupdocs.assembly/fileformat/"
64+
- name: "DocumentTable"
65+
kind: "Class"
66+
ns: "Assembly.Data"
67+
url: "/net/groupdocs.assembly.data/documenttable/"
68+
- name: "JsonDataSource"
69+
kind: "Class"
70+
ns: "Assembly.Data"
71+
url: "/net/groupdocs.assembly.data/jsondatasource/"
72+
- name: "XmlDataSource"
73+
kind: "Class"
74+
ns: "Assembly.Data"
75+
url: "/net/groupdocs.assembly.data/xmldatasource/"
76+
4377
resources:
4478
- name: "Documentation"
4579
url: "https://docs.groupdocs.com/assembly/"

content/sites/groupdocs/classification/english/_index.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,36 @@ capabilities:
3131
- "Batch classification"
3232
- "Tune result count"
3333

34+
popular:
35+
- name: "Classifier"
36+
kind: "Class"
37+
ns: "GroupDocs.Classification"
38+
url: "/net/groupdocs.classification/classifier/"
39+
- name: "Classifier.Classify"
40+
kind: "Method"
41+
ns: "GroupDocs.Classification"
42+
url: "/net/groupdocs.classification/classifier/classify/"
43+
- name: "SentimentClassifier"
44+
kind: "Class"
45+
ns: "GroupDocs.Classification"
46+
url: "/net/groupdocs.classification/sentimentclassifier/"
47+
- name: "Taxonomy"
48+
kind: "Enum"
49+
ns: "GroupDocs.Classification"
50+
url: "/net/groupdocs.classification/taxonomy/"
51+
- name: "TaxonomyClasses"
52+
kind: "Class"
53+
ns: "GroupDocs.Classification"
54+
url: "/net/groupdocs.classification/taxonomyclasses/"
55+
- name: "ClassificationResult"
56+
kind: "Class"
57+
ns: "Classification.DTO"
58+
url: "/net/groupdocs.classification.dto/classificationresult/"
59+
- name: "ClassificationResponse"
60+
kind: "Class"
61+
ns: "Classification.DTO"
62+
url: "/net/groupdocs.classification.dto/classificationresponse/"
63+
3464
resources:
3565
- name: "Documentation"
3666
url: "https://docs.groupdocs.com/classification/"

content/sites/groupdocs/comparison/english/_index.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ platforms:
1818
ref: "/net/"
1919
install: "dotnet add package GroupDocs.Comparison"
2020
- name: "Java"
21-
version: "26.5"
21+
version: "26.5.0"
2222
versionUrl: "https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-comparison/26.5/"
2323
key: java
2424
ref: "/java/"
@@ -40,6 +40,40 @@ capabilities:
4040
- "Compare from stream"
4141
- "Generate change summary"
4242

43+
popular:
44+
- name: "Comparer"
45+
kind: "Class"
46+
ns: "GroupDocs.Comparison"
47+
url: "/net/groupdocs.comparison/comparer/"
48+
- name: "Comparer.Compare"
49+
kind: "Method"
50+
ns: "GroupDocs.Comparison"
51+
url: "/net/groupdocs.comparison/comparer/compare/"
52+
- name: "CompareOptions"
53+
kind: "Class"
54+
ns: "Comparison.Options"
55+
url: "/net/groupdocs.comparison.options/compareoptions/"
56+
- name: "SaveOptions"
57+
kind: "Class"
58+
ns: "Comparison.Options"
59+
url: "/net/groupdocs.comparison.options/saveoptions/"
60+
- name: "LoadOptions"
61+
kind: "Class"
62+
ns: "Comparison.Options"
63+
url: "/net/groupdocs.comparison.options/loadoptions/"
64+
- name: "ChangeType"
65+
kind: "Enum"
66+
ns: "Comparison.Options"
67+
url: "/net/groupdocs.comparison.options/changetype/"
68+
- name: "ChangeInfo"
69+
kind: "Class"
70+
ns: "Comparison.Result"
71+
url: "/net/groupdocs.comparison.result/changeinfo/"
72+
- name: "ComparerSettings"
73+
kind: "Class"
74+
ns: "GroupDocs.Comparison"
75+
url: "/net/groupdocs.comparison/comparersettings/"
76+
4377
resources:
4478
- name: "Documentation"
4579
url: "https://docs.groupdocs.com/comparison/"

content/sites/groupdocs/conversion/english/_index.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ platforms:
1818
ref: "/net/"
1919
install: "dotnet add package GroupDocs.Conversion"
2020
- name: "Java"
21-
version: "26.5"
21+
version: "26.5.0"
2222
versionUrl: "https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-conversion/26.5/"
2323
key: java
2424
ref: "/java/"
@@ -36,6 +36,42 @@ platforms:
3636
install: "pip install groupdocs-conversion-net"
3737

3838
formats: ["PDF", "Word", "Excel", "PowerPoint", "HTML", "Images", "CAD", "Email"]
39+
formatsCount: "170+"
40+
formatsNote: "…and 160+ more across documents, images, CAD, and email."
41+
42+
popular:
43+
- name: "Converter"
44+
kind: "Class"
45+
ns: "GroupDocs.Conversion"
46+
url: "/net/groupdocs.conversion/converter/"
47+
- name: "Converter.Convert"
48+
kind: "Method"
49+
ns: "GroupDocs.Conversion"
50+
url: "/net/groupdocs.conversion/converter/convert/"
51+
- name: "FluentConverter"
52+
kind: "Class"
53+
ns: "GroupDocs.Conversion"
54+
url: "/net/groupdocs.conversion/fluentconverter/"
55+
- name: "ConverterSettings"
56+
kind: "Class"
57+
ns: "GroupDocs.Conversion"
58+
url: "/net/groupdocs.conversion/convertersettings/"
59+
- name: "PdfConvertOptions"
60+
kind: "Class"
61+
ns: "Options.Convert"
62+
url: "/net/groupdocs.conversion.options.convert/pdfconvertoptions/"
63+
- name: "ImageConvertOptions"
64+
kind: "Class"
65+
ns: "Options.Convert"
66+
url: "/net/groupdocs.conversion.options.convert/imageconvertoptions/"
67+
- name: "FileType"
68+
kind: "Class"
69+
ns: "Conversion.FileTypes"
70+
url: "/net/groupdocs.conversion.filetypes/filetype/"
71+
- name: "PossibleConversions"
72+
kind: "Class"
73+
ns: "Conversion.Contracts"
74+
url: "/net/groupdocs.conversion.contracts/possibleconversions/"
3975

4076
capabilities:
4177
- "Convert 170+ document & image formats"

content/sites/groupdocs/editor/english/_index.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ platforms:
1818
ref: "/net/"
1919
install: "dotnet add package GroupDocs.Editor"
2020
- name: "Java"
21-
version: "26.1"
21+
version: "26.1.0"
2222
versionUrl: "https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-editor/26.1/"
2323
key: java
2424
ref: "/java/"
@@ -45,6 +45,40 @@ capabilities:
4545
- "Extract content"
4646
- "Word, Excel, PowerPoint & more"
4747

48+
popular:
49+
- name: "Editor"
50+
kind: "Class"
51+
ns: "GroupDocs.Editor"
52+
url: "/net/groupdocs.editor/editor/"
53+
- name: "Editor.Edit"
54+
kind: "Method"
55+
ns: "GroupDocs.Editor"
56+
url: "/net/groupdocs.editor/editor/edit/"
57+
- name: "EditableDocument"
58+
kind: "Class"
59+
ns: "GroupDocs.Editor"
60+
url: "/net/groupdocs.editor/editabledocument/"
61+
- name: "WordProcessingEditOptions"
62+
kind: "Class"
63+
ns: "Editor.Options"
64+
url: "/net/groupdocs.editor.options/wordprocessingeditoptions/"
65+
- name: "WordProcessingSaveOptions"
66+
kind: "Class"
67+
ns: "Editor.Options"
68+
url: "/net/groupdocs.editor.options/wordprocessingsaveoptions/"
69+
- name: "HtmlSaveOptions"
70+
kind: "Class"
71+
ns: "Editor.Options"
72+
url: "/net/groupdocs.editor.options/htmlsaveoptions/"
73+
- name: "ISaveOptions"
74+
kind: "Interface"
75+
ns: "Editor.Options"
76+
url: "/net/groupdocs.editor.options/isaveoptions/"
77+
- name: "WordProcessingFormats"
78+
kind: "Class"
79+
ns: "Editor.Formats"
80+
url: "/net/groupdocs.editor.formats/wordprocessingformats/"
81+
4882
resources:
4983
- name: "Documentation"
5084
url: "https://docs.groupdocs.com/editor/"

0 commit comments

Comments
 (0)