kubernetes / contributor-site

Code for kubernetes.dev
https://www.kubernetes.dev
Apache License 2.0
66 stars 154 forks source link
k8s-sig-contribex

Kubernetes Contributor Site

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).

Site content

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:

External sources

Running the site locally

To develop site content, you can run the site locally using Hugo in two ways:

  1. Inside a Docker container
  2. 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.

Using Docker

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

Natively

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"

Community, discussion, contribution, and support

This project is managed by SIG Contributor Experience as a part of KEP-2225

You can reach the maintainers of this project at:

Evolution of this site:

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:

See the Issues for tasks and projects in progress

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.