From cc6f194a6c0aea945ec45c339043f20c45671cab Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Fri, 26 Sep 2025 14:30:45 +0200 Subject: [PATCH] Change blog title to "The Zero Friction Kubernetes Blog" This reflects that it's the joint blog for all of k0sproject, not only k0s. Also add a link to k0smotron.io and add the k0s and k0smotron logos. Signed-off-by: Tom Wieczorek --- .hugo_build.lock | 0 README.md | 82 ++++++++++++------- assets/css/extended/social-icons.css | 20 +++++ hugo.yaml | 14 ++-- layouts/partials/social_icons.html | 21 +++++ layouts/partials/svg/k0s-logo-dark.svg | 14 ++++ layouts/partials/svg/k0s-logo-light.svg | 14 ++++ layouts/partials/svg/k0smotron-logo-dark.svg | 26 ++++++ layouts/partials/svg/k0smotron-logo-light.svg | 28 +++++++ 9 files changed, 184 insertions(+), 35 deletions(-) create mode 100644 .hugo_build.lock create mode 100644 assets/css/extended/social-icons.css create mode 100644 layouts/partials/social_icons.html create mode 100644 layouts/partials/svg/k0s-logo-dark.svg create mode 100644 layouts/partials/svg/k0s-logo-light.svg create mode 100644 layouts/partials/svg/k0smotron-logo-dark.svg create mode 100644 layouts/partials/svg/k0smotron-logo-light.svg diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 93c8b44..f3220d8 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,33 @@ -# k0s Team Blog — Adding a post (Hugo) +# The Zero Friction Kubernetes Blog -This repo powers the k0s team blog using [Hugo](https://gohugo.io/). If you can open a PR, you can publish a post. +The repository that powers the [k0sproject community blog][blog] static site. +Built with [Hugo] and the [PaperMod] theme. If you can open a pull request, you +can publish a post. + +[blog]: https://blog.k0sproject.io/ +[Hugo]: https://gohugo.io/ +[PaperMod]: https://github.com/adityatelange/hugo-PaperMod ## Quick start -1. Create a new post (Hugo “leaf bundle” with its own folder): +1. Create a new post (Hugo "leaf bundle" with its own folder): -```sh -hugo new content/posts/my-post-title/index.md -``` + ```sh + hugo new content/posts/my-post-title/index.md + ``` 2. Open the generated file and fill in front matter (see below). -3. Add any images/files into the **same folder** as the post (e.g., `content/posts/my-post-title/diagram.png`). -4. Preview locally: -```sh -hugo server -D -``` +3. Add any images/files into the **same folder** as the post (e.g., + `content/posts/my-post-title/diagram.png`). -5. When ready to publish, set `draft: false` and open a PR. +4. Preview locally: ---- + ```sh + hugo server -D + ``` + +5. When ready to publish, set `draft: false` and open a pull request. ## Front matter (copy–paste) @@ -44,52 +51,66 @@ cover: Write Markdown content **below** the front matter. -**Notes** +Additional notes: * `date` is ISO-8601; use UTC or your local time. * Leave `draft: true` while iterating; change to `false` to publish. * Use `tags`/`categories` that already exist where possible. -* If the `summary` is omitted, the first paragraph in the article will be used as summary. - ---- +* If the `summary` is omitted, the first paragraph in the article will be used + as summary. ## Images & media -* Keep assets **inside the post’s folder** (leaf bundle). +* Keep assets **inside the post's folder** (leaf bundle). Example tree: - ``` + ```text content/blog/my-post-title/ ├─ index.md ├─ cover.png └─ diagram.png ``` + * Reference them with relative paths: ```md ![Control plane layout](./diagram.png) ``` + * Optional Hugo figure shortcode: ```md {{< figure src="diagram.png" caption="Control plane layout" >}} ``` + * Aim for small files (<1 MB). Add meaningful alt text. ---- +## Local development + +Prerequisites: -## Local preview +* Git (for cloning the repository and its submodule) +* Hugo **extended** version (0.120.0 or newer recommended) ```sh -hugo server -D +git clone https://github.com/k0sproject/blog.git blog.k0sproject.io +cd blog.k0sproject.io +git submodule update --init --recursive ``` -* `-D` shows drafts. -* Visit the URL Hugo prints and verify formatting, links, code blocks, and images. +Start a live-reloading development server (Hugo watches for changes and +refreshes the browser automatically): ---- +```sh +hugo server --buildDrafts --buildFuture +``` + +Visit to preview the site. This approach ensures assets +such as CSS are served correctly; loading `public/index.html` directly from the +filesystem will usually miss theme assets because the site is built with the +production `baseURL`. -## Pull Request checklist +## Pull request checklist * [ ] `title`, `date`, `author`, `summary` set * [ ] `draft: false` for publishing @@ -98,11 +119,14 @@ hugo server -D * [ ] No broken relative paths * [ ] Post matches the tone and headings of existing posts ---- - ## Conventions * **File/folder name**: use-kebab-case (`my-post-title`) * **Code blocks**: use fenced blocks with language hints (e.g., `sh`, `yaml`) -* **Internal links**: prefer relative links within the repo +* **Internal links**: prefer relative links within the repository + +## License +Content and configuration are distributed under the Creative Commons +Attribution-ShareAlike 4.0 International license. See `LICENSE` for the +full text. diff --git a/assets/css/extended/social-icons.css b/assets/css/extended/social-icons.css new file mode 100644 index 0000000..5096e2d --- /dev/null +++ b/assets/css/extended/social-icons.css @@ -0,0 +1,20 @@ +.custom-icon-social-k0sproject { + display: inline-flex; + align-items: center; +} + +.custom-icon-social-k0sproject > span { + display: inline-flex; +} + +.custom-icon-social-k0sproject .icon-dark { + display: none; +} + +body.dark .custom-icon-social-k0sproject .icon-light { + display: none; +} + +body.dark .custom-icon-social-k0sproject .icon-dark { + display: inline-flex; +} diff --git a/hugo.yaml b/hugo.yaml index c60afe2..20c1fba 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -1,12 +1,12 @@ baseURL: https://blog.k0sproject.io/ languageCode: en -title: k0s - The Kubernetes Distribution +title: The Zero Friction Kubernetes Blog theme: PaperMod enableRobotsTXT: true markup: highlight: noClasses: false -copyright: +copyright: >- Copyright © 2023 k0sproject a Series of LF Projects, LLC. For website terms of use, trademark policy and other project policies please see [Linux Foundation policies](https://lfprojects.org/policies/). - All rights reserved. @@ -17,13 +17,15 @@ params: showCodeCopyButtons: true showShareButtons: true descriptions: true - author: k0s team + author: k0sproject authors homeInfoParams: - Title: k0s - The Kubernetes Distribution - Content: The Official Blog of k0s Community + Title: The Zero Friction Kubernetes Blog + Content: Official blog of the k0sproject community socialIcons: - - name: Website + - name: k0s url: https://k0sproject.io + - name: k0smotron + url: https://k0smotron.io - name: GitHub url: https://github.com/k0sproject - name: X diff --git a/layouts/partials/social_icons.html b/layouts/partials/social_icons.html new file mode 100644 index 0000000..4cd66a6 --- /dev/null +++ b/layouts/partials/social_icons.html @@ -0,0 +1,21 @@ + diff --git a/layouts/partials/svg/k0s-logo-dark.svg b/layouts/partials/svg/k0s-logo-dark.svg new file mode 100644 index 0000000..af54bfe --- /dev/null +++ b/layouts/partials/svg/k0s-logo-dark.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/layouts/partials/svg/k0s-logo-light.svg b/layouts/partials/svg/k0s-logo-light.svg new file mode 100644 index 0000000..b1647ef --- /dev/null +++ b/layouts/partials/svg/k0s-logo-light.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/layouts/partials/svg/k0smotron-logo-dark.svg b/layouts/partials/svg/k0smotron-logo-dark.svg new file mode 100644 index 0000000..9174b92 --- /dev/null +++ b/layouts/partials/svg/k0smotron-logo-dark.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + diff --git a/layouts/partials/svg/k0smotron-logo-light.svg b/layouts/partials/svg/k0smotron-logo-light.svg new file mode 100644 index 0000000..5ef9132 --- /dev/null +++ b/layouts/partials/svg/k0smotron-logo-light.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + +