Repository navigation
docs: one page per API class, sitemap, and search-engine titles - #637
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Old generated/ URLs redirect from the 404 page: class pages to their new path, member pages to their anchor on the class page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sphinx-sitemap writes sitemap.xml and robots.txt points crawlers at it. Shibuya renders a page's description metadata but drops docutils meta tags, so the html_meta descriptions in front matter never reached the HTML; they are now copied over, and pages without one fall back to their first paragraph (the docstring summary on API pages). Example pages take theirs from the script docstring. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…I pages
Category pages get hand-written seo_title and descriptions aimed at
searches like "python control power supply"; driver pages get them
generated from their card ("B&K Precision 9115 Python Driver (BK9115)"),
and API pages from the object and module. Driver pages open with the
vendor and model.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rings Titles get a capital first letter (identifiers keep their case); each description leads with the title, so it stays unique, then the docstring's first prose paragraph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @arsenovic's task in 56s —— View job Code review complete
OverviewDocs-only PR, no public API/driver surface touched — AGENTS.md driver/base-class/breaking-change axes don't apply here. The work is cohesive and well-scoped:
No inline findings — didn't find defects or convention divergences worth flagging. One very minor, non-blocking observation (not filed as a comment since it's speculative and not a confirmed defect): in |
|
Anchor the old generated/ URL match to /sdk/ paths and instro.* names so a path like //attacker.example/generated/x/ can't redirect off-site. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Closes #636. Closes #519. Part of #520 (
llms.txtstill to do).API pages: one page per class. Members render on the class page under the existing summary tables, whose links now jump to in-page anchors; no more page per method (generated stubs: 1,440 → 146). Class pages drop the
generated/folder:/sdk/instruments/instro.psu.InstroPSU/._extra/404.htmlredirects old URLs: class pages to their new path, member pages to their anchor on the class page.Search engines.
sitemap.xml(sphinx-sitemap; content pages only) and_extra/robots.txt.<title>and meta description on every page, set by_add_seoinconf.pyand a_templates/base.htmloverride of Shibuya'shtmltitleblock:seo_title:and description aimed at searches like "python control power supply".card:, e.g.B&K Precision 9115 Python Driver (BK9115) - instro. Their opening line now names the vendor and model.InstroPSU (instro.psu) - instro Python API, with the docstring summary.<meta>tags without sphinxext-opengraph, so the 56myst: html_meta: description:values in guide front matter never reached the HTML. They do now.Page headings, breadcrumbs, and
og:titleare unchanged.docs/README.md("Search engines") anddocs/AGENTS.mddocument the conventions.Type of change
docs)Verification
just build-docs(strict,-W) passes.<title>and one meta description; all 64 example-page descriptions are distinct; the sitemap lists exactly those 365 pages./sdk/instruments/generated/instro.psu.InstroPSU//sdk/instruments/instro.psu.InstroPSU//sdk/instruments/generated/instro.psu.InstroPSU.set_voltage/.../instro.psu.InstroPSU/#instro.psu.InstroPSU.set_voltage/python/sdk/instruments/generated/instro.psu.InstroPSU.open/.../instro.psu.InstroPSU/#instro.psu.InstroPSU.open/sdk/library/generated/instro.lib.instrument.Instrument._package_command/.../instro.lib.instrument.Instrument/#..._package_command/sdk/nope/Tests
Checklist
🤖 Generated with Claude Code