This repository contains the Hugo site and generator scripts for the Kubernetes Contributor site. The published website is available at https://kubernetes.dev/ (served via Netlify).
The content for the Contributor Site is sourced from multiple locations.
Content managed within this repository is generated from Markdown
found within the content
directory. To update the site's content,
make changes to the Markdown sources and submit a pull request to this
repository.
Some content is externally sourced and changes to that must be made in the
original location. A list of sources and their locations within the
content
is available below:
- Source: https://git.k8s.io/community/contributors/guide
Destination:/guide
- Source: https://github.com/cncf/foundation/blob/master/code-of-conduct.md
Destination:/code-of-conduct.md
- Source: https://git.k8s.io/sig-release/releases/release-1.18/README.md
Destination:/release.md
To develop site content, you can run the site locally using Hugo in two ways:
- Inside a Docker container
- Natively (not inside a Docker container)
When you make changes to the site's content, Hugo will automatically update the site and refresh your browser window.
The easiest and most cross-system-compatible way to run the Contributor
Site is to use Docker. To begin, create the docker image to be used
with generating the site by executing make container-image
.
To ensure you can view the site with externally sourced content, run
make container-gen-content
before previewing the site by with
make container-server
.
NOTE to Apple Silicon Mac Users
Before proceeding with the build steps, please ensure that you set the
DOCKER_DEFAULT_PLATFORM
environment variable to linux/amd64
by using the
following command:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
For instructions on installing and using Hugo, see the Hugo Documentation. Note that the extended version is required.
In addition to Hugo, the postcss-cli and autoprefixer JavaScript packages are
required. These can be installed via the Node Package Manager (npm
) from a
recent version of [nodejs] with npm install -g postcss-cli autoprefixer
.
The Contributor Site uses the docsy theme. It is included as a git submodule. To fetch docsy and its requirements, run the command:
git submodule update --init --recursive --depth 1
To ensure you can view the site with externally sourced content, run
make gen-content
before previewing the site by with make server
.
NOTE to MacOS Users
The hack/gen-content.sh
script requires the gnu version
of base packages such as find
, grep
, and sed
.
brew install coreutils findutils grep gnu-sed gnu-tar make readlink
You will then need to update your path to include these:
export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
This project is managed by SIG Contributor Experience as a part of KEP-2225
You can reach the maintainers of this project at:
We’re building out this site in real-time! Want to join us and help? Here’s what we have in store for next iterations:
- Contributor guide/handbook: Feature launch date estimated January 2023
- Developers' guide/handbook
- Directory of Kubernetes SIGs and other community groups
- Listing events beyond just Contributor Summits
- Pathways to success for new Kubernetes contributors and mentoring programs
- Refactoring the hugo code and glue code behind the site
See the Issues for tasks and projects in progress
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.