This repository contains the Hugo site and generator scripts for the Kubernetes Contributor site. Much of the content is generated from the kubernetes/community repo directly and care should be taken when working within the content directory. The hugo theme being used is a slimmed down derivative of the docdock theme.
The heavy lifting occurs within the gen-site.sh script. If not being called externally, it will clone the kubernetes/community within the build directory then sync specific directories and files to the content directory.
Content is synced following the below rules:
committee-steering
is moved togovernance/steering-committee
.committee-code-of-conduct
directory is moved to/governance/cocc
.github-management
is moved togovernance/github-management
governance.md
is moved togovernance/README.md
and will become the default index page for the governance section.sig-governance.md
andcommunity-membership.md
are moved to the root ofgovernance/
.- Directories prefixed with
sig-
andwg-
will be synced to thesigs
directory. sig-list.md
is moved tosigs/README.md
and will become the default index page for the sigs section- Other directories not included in the exclude.list are copied to the root of the content directory.
- Files at the root of the directory will only be copied over if they are listed in the
include.list with the exclusion of
sig-list.md
andREADME.md
. sig-list.md
is copied to both thespecial-interest-groups
andworking-groups
and renamed toREADME.md
.- The
README.md
from the root of the community repository is copied over to the root of the content directory for now.
Next it will go through all the files within the content directory and search for any links that may need to be corrected to function outside of github along with inserting a front-matter header (if needed).
Lastly, any README.md
files are renamed to _index.md
. These function similarly to README.md
files within a GitHub repository, but are what Hugo is expecting.
At that point the site can be previewed locally with hugo serve
, or the site built with hugo
.
If it is built, the default location is build/public
.
The Kubernetes Contributor Site is built with Hugo. For instructions on installing and general usage, see the Hugo Documentation.
Once Hugo is installed, clone the repository locally. Then run the gen-site.sh
,
script to pull down the kubernetes/community repository and generate the site content.
After the script completes, the site can be previewed by executing hugo serve
from the project
directory. If satisfied with your changes, the site can be fully rendered with the hugo
command
to the build/public
directory.
OSX by default ships with an outdated version of bash that does not support all the functionality used by the site generator script. Bash can be safely updated via homebrew. Once installed, execute the below commands to install a newer version of bash.
$ brew install bash
$ sudo bash -c 'echo /usr/local/bin/bash >> /etc/shells'
$ chsh -s /usr/local/bin/bash
You may need to restart or log out and log back in again to have it fully apply.
This project is managed by SIG Contributor Experience as a part of KEP-0005
You can reach the maintainers of this project at:
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.