From 8a51e6205bd900c0a6e1296ea8b7c9f79431c552 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 27 Mar 2026 03:43:24 -0700 Subject: [PATCH 1/4] Fix broken links from recent Classic UI and Backend documentation --- docs/backend/vocabularies.md | 15 +++++---------- docs/classic-ui/views.md | 2 +- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/docs/backend/vocabularies.md b/docs/backend/vocabularies.md index 8e89e5909d..45232ec116 100644 --- a/docs/backend/vocabularies.md +++ b/docs/backend/vocabularies.md @@ -663,17 +663,12 @@ The response includes the `token` and `title` for each term: 7. **Document your vocabularies** with docstrings explaining what they contain and when to use them. -## See Also - -- {ref}`fields-label` for field types that use vocabularies -- {doc}`../forms/index` for form handling -- [zope.schema documentation](https://zopeschema.readthedocs.io/) -- [plone.app.vocabularies source code](https://github.com/plone/plone.app.vocabularies) -- [bobtemplates.plone documentation](https://bobtemplatesplone.readthedocs.io/) - - ## Related content -- {doc}`/backend/fields` +- {doc}`/backend/fields` for field types that use vocabularies +- {doc}`classic-ui/forms` for form handling +- [`zope.schema documentation`](https://zopeschema.readthedocs.io/) +- [`plone.app.vocabularies` source code](https://github.com/plone/plone.app.vocabularies) +- [`bobtemplates.plone` documentation](https://bobtemplatesplone.readthedocs.io/) - {doc}`/backend/schemas` - {doc}`/backend/content-types/index` diff --git a/docs/classic-ui/views.md b/docs/classic-ui/views.md index 0058a687e4..9529807224 100644 --- a/docs/classic-ui/views.md +++ b/docs/classic-ui/views.md @@ -717,7 +717,7 @@ However, in most cases: You get the HTML output with `self.index()`. The page template gets a context argument `view`, pointing to the view class instance. The `index` value is usually an instance of [`Products.Five.browser.pagetemplate.ViewPageTemplateFile`](https://github.com/zopefoundation/Zope/blob/d1814d0a6bddb615629b552de10e9aa5ad30a6da/src/Products/Five/browser/pagetemplatefile.py#L35) for full Plone pages or [`zope.pagetemplate.pagetemplatefile.PageTemplateFile`](https://github.com/zopefoundation/zope.pagetemplate/blob/14ba59c98e12517b9f8abcdb24bc882bb435ed7c/src/zope/pagetemplate/pagetemplatefile.py#L43) for HTML snippets without using acquisition. -- View classes should implement the {doc}`interface ` +- View classes should implement the {ref}`interface ` [`zope.browser.interfaces.IBrowserView`](https://github.com/zopefoundation/zope.browser/blob/1239c75e4e190df992bf34a88b4ead2c952afe86/src/zope/browser/interfaces.py#L27). Views that render page snippets and parts can be direct subclasses of `zope.publisher.browser.BrowserView`, as snippets might not need acquisition support which adds some overhead to the rendering process. From 0f90b5efa3b3ad2d967a8765734eb895e14cf4c5 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 9 Oct 2026 14:11:06 -0700 Subject: [PATCH 2/4] Update zope.schema documentation link Updated link to zope.schema documentation to point to the latest version. --- docs/backend/vocabularies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/backend/vocabularies.md b/docs/backend/vocabularies.md index 45232ec116..26f67608aa 100644 --- a/docs/backend/vocabularies.md +++ b/docs/backend/vocabularies.md @@ -667,7 +667,7 @@ The response includes the `token` and `title` for each term: - {doc}`/backend/fields` for field types that use vocabularies - {doc}`classic-ui/forms` for form handling -- [`zope.schema documentation`](https://zopeschema.readthedocs.io/) +- [`zope.schema documentation`](https://zopeschema.readthedocs.io/en/latest/) - [`plone.app.vocabularies` source code](https://github.com/plone/plone.app.vocabularies) - [`bobtemplates.plone` documentation](https://bobtemplatesplone.readthedocs.io/) - {doc}`/backend/schemas` From 1e8347c3ed844a53a23cdff0b9af00fc13633b89 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 10 Oct 2026 02:12:58 -0700 Subject: [PATCH 3/4] Update docs/backend/vocabularies.md --- docs/backend/vocabularies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/backend/vocabularies.md b/docs/backend/vocabularies.md index 67b0d8a1f9..010cb79f8d 100644 --- a/docs/backend/vocabularies.md +++ b/docs/backend/vocabularies.md @@ -666,7 +666,7 @@ The response includes the `token` and `title` for each term: ## Related content - {doc}`/backend/fields` for field types that use vocabularies -- {doc}`classic-ui/forms` for form handling +- {doc}`/classic-ui/forms` for form handling - [`zope.schema` documentation](https://zopeschema.readthedocs.io/en/latest/) - [`plone.app.vocabularies` source code](https://github.com/plone/plone.app.vocabularies) - [`bobtemplates.plone` documentation](https://bobtemplatesplone.readthedocs.io/) From 050a90badea741882734c3d35fbf7cf1d06317f3 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 10 Oct 2026 02:23:15 -0700 Subject: [PATCH 4/4] Enable linkcheck_anchors and ignore gnu.org --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 0bdf8b8505..3dfc36ce3c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -77,6 +77,7 @@ smartquotes = False # Options for the linkcheck builder +linkcheck_anchors = True linkcheck_allowed_redirects = { # All HTTP redirections from the source URI to the canonical URI will be treated as "working". # Example @@ -106,6 +107,7 @@ r"https://stackoverflow.com", #volto r"https://v5.reactrouter.com", #volto r"https://web.archive.org/", + r"https://www.gnu.org", r"https://www.merriam-webster.com/", r"https://www.npmjs.com", #volto # Bad TLS certificate