Skip to content

Conversation

@scottrigby
Copy link
Member

Community docs are not specific to a Helm version. And our website should include content from the github helm/community repo, without duplication or manual effort to copy and ensure remote community pages are up to date. This PR addresses these in a sustainable way.

  • Created multi-instance docusaurus config, including new Community section
  • Moved versioned docs community category to new section
  • Changed header link from github helm/community repo to new section
  • Added transformation functions for frontmatter - including page titles and sidebar metadata - and links to match website structure rather than original github file structure
  • Ensured docs breadcrumbs match the standard docs or community section, depending
  • Initial import of community repo pages
  • Remove v3 community docs too
  • Add redirect

@scottrigby scottrigby force-pushed the community_unversioned branch from d9bd338 to c393408 Compare November 19, 2025 18:10
@scottrigby scottrigby added the hold Do not merge yet label Nov 19, 2025
@scottrigby
Copy link
Member Author

I put this on this week's Helm dev meeting agenda. Don't want to merge yet until we discuss the governance docs in this location, etc.

@TerryHowe
Copy link
Contributor

typos is triggered

@scottrigby scottrigby force-pushed the community_unversioned branch from 4ef9ccc to 5aa446c Compare November 20, 2025 16:19
Copy link
Contributor

@paigecalvert paigecalvert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build looks good to me!

@scottrigby scottrigby force-pushed the community_unversioned branch from 112a63b to b7272a5 Compare November 20, 2025 19:14
@Andygol
Copy link
Contributor

Andygol commented Nov 23, 2025

Do these changes imply further localization?

There should be a Ukrainian version of https://deploy-preview-1935--helm-merge.netlify.app/uk/community/localization. I see that the page uk/**/localization.md has been moved to a new location https://github.com/helm/helm-www/pull/1935/files#diff-5baf81b61b1893cf59ccfc5e8a7cfe520b372f69b23fb74d212927262e84697c, but it is not displayed in the preview.

Copy link
Contributor

@TerryHowe TerryHowe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of this content I question the value of including like archived meeting notes and HIPs. Archived meeting notes should just be linked from current meeting notes and HIPS should be linked I think.

- create new docusaurus plugin instance for unversioned community docs
- move files from docs/community to community directory
- change a few page names and weights for better organization
- fix links and add helm 4 notice to i18n pages behind main
- remove community sections from versioned docs (v2, v3)
- migrate i18n community translations to new plugin structure
- update internal links to point to /community paths
- add netlify redirect for legacy /docs/community URLs
- update navbar to show community as top-level item
- fix breadcrumbs label in community section

Signed-off-by: Scott Rigby <[email protected]>
- add docusaurus-plugin-remote-content with configuration
- create transformation utilities for imported content
- add frontmatter injection and H1 title extraction
- implement HIP-specific formatting with metadata tables
- handle .txt file conversion with code block wrapping
- configure link exceptions for special cases
- add import notice headers to all imported files
- update typos config to exclude imported files from checks
- add custom index files for better organization

Signed-off-by: Scott Rigby <[email protected]>
- create weekly scheduled workflow with manual trigger
- automatically create or update PR with upstream changes
- use DCO signoff for helm compliance
- label PRs with docs and community tags

Signed-off-by: Scott Rigby <[email protected]>
- document rationale in ARCHITECTURAL_DECISIONS.md
- explain plugin configuration and workarounds
- add contributor guidelines for community docs
- document why files are committed to git
- update README.md accordingly

Signed-off-by: Scott Rigby <[email protected]>
@scottrigby scottrigby force-pushed the community_unversioned branch from b7272a5 to 2d5118e Compare November 23, 2025 20:45
@scottrigby
Copy link
Member Author

scottrigby commented Nov 23, 2025

Do these changes imply further localization?

There should be a Ukrainian version of https://deploy-preview-1935--helm-merge.netlify.app/uk/community/localization. I see that the page uk/**/localization.md has been moved to a new location https://github.com/helm/helm-www/pull/1935/files#diff-5baf81b61b1893cf59ccfc5e8a7cfe520b372f69b23fb74d212927262e84697c, but it is not displayed in the preview.

@Andygol Good catch! I initially made a mistake and added an extra community subdir when automating the other community translations. I had moved the UK community translations to, eg i18n/uk/docusaurus-plugin-content-docs-community/current/community/history.mdx, but this for example should have been i18n/uk/docusaurus-plugin-content-docs-community/current/history.mdx. Just pushed a fix. Check again?

@scottrigby
Copy link
Member Author

Also squashed my commits into more sensible, easily reviewable commit groups.

@scottrigby
Copy link
Member Author

scottrigby commented Nov 23, 2025

Some of this content I question the value of including like archived meeting notes and HIPs. Archived meeting notes should just be linked from current meeting notes and HIPS should be linked I think.

@TerryHowe I get where you’re coming from. For this PR, my goal was to pull everything from helm/community into the new /community section so we have one place to work from, and then sort it out as part of the bigger reorg in #1864.

A few folks told me they really like having the HIPs browsable on the site and included in global search, so that part might just come down to team preference.

Importing the archived meeting notes did make me question whether that directory should even remain top-level in helm/community. And while pulling everything over, I noticed we have some pretty outdated files upstream that probably deserve a cleanup. For example:

  • Some historic-only docs could live under an /archived directory (incubator.md, stable-repo-charts-new-locations.md, meeting-notes/, etc.)
  • Some files feel like candidates for removal (blog-topics.md)
  • Security review PDFs might be better linked from a dedicated community page instead of floating in the repo
  • Same for the slides — maybe they belong on a maintainers-resources page

Might be worth a group conversation about what should stay in helm/community, what should be archived or removed, and what should (or shouldn’t) get imported into the website. My instinct is that we clean things up in helm/community first, then adjust the importer configs accordingly. Curious what others think.

Copy link
Contributor

@TerryHowe TerryHowe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Might as well iterate on it. The content looked fine to me, my concerns were about maintenance.

@scottrigby
Copy link
Member Author

/lgtm

Might as well iterate on it. The content looked fine to me, my concerns were about maintenance.

makes sense. I just pushed one more change before merging to keep the main docusaurus config file readable. Moved the community remote-content config to a separate file, following the sidebars config file naming pattern. Also merged the link exceptions config and documents config into a single config, and typed it. You can test it by doing:

# clear remote community imported files locally
yarn clear-remote-community

# see the difference
git diff
(all configured files now missing from Git)

# re-import them
yarn download-remote-community

# check that they imported exactly as they had before
git diff
(no diff)

Also note I added the images to a separate remote-content instance.

I didn't add this to package.json scripts, but you can test the same by running yarn docusaurus and then the same plugin commands docusaurus clear-remote-community-x and docusaurus download-remote-community-x (where x is the plugin instance name as defined in docusaurus.config.js):

# clear remote community images
yarn docusaurus clear-remote-community-images

# see the diff
git diff
(all configured images are now gone)

# re-import them
yarn docusaurus download-remote-community-images

# check that they imported exactly as they had before
git diff
(no diff)

Fixes:
- Broken anchor on source page path = /zh/docs/plugins/overview:
   -> linking to /zh/community/related#helm-plugins
- Broken anchor on source page path = /zh/docs/topics/plugins:
   -> linking to /zh/community/related#helm-plugins

Signed-off-by: Scott Rigby <[email protected]>
@scottrigby
Copy link
Member Author

The only other broken anchors are from the imported HIPs capitalizing anchors. I made an upstream PR for that here helm/community#422

Thinking we should merge this PR first, then use chat upstream PR fix to test the gh action in this PR.

@scottrigby scottrigby merged commit 331a33f into helm:main Nov 24, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants