This project uses Hugo to build the new website for KubeSphere.
First, create your own fork of the repository.
Then, clone your fork and enter into it:
git clone https://github.com/<username>/website
cd website
You will need to build the website in order to publish it as static content.
Go to the Hugo releases place and
download the hugo_extended
version that better suits your OS (version 0.70+).
EXTENDED version is MANDATORY to properly build the static content!
Edit the file config\_default\config.toml
and modify the var baseURL
(at the
first line) in order to set your own domain. It will be hardcoded in the static
files.
baseURL = "https://kubesphere.es"
Just run hugo
without parameters.
hugo
| EN | ZH | TR
-------------------+-----+-----+------
Pages | 55 | 65 | 39
Paginator pages | 0 | 0 | 0
Non-page files | 0 | 0 | 0
Static files | 375 | 375 | 375
Processed images | 0 | 0 | 0
Aliases | 1 | 0 | 0
Sitemaps | 2 | 1 | 1
Cleaned | 0 | 0 | 0
Total in 2396 ms
You will find the previously generated content in the public
directory.
hugo version: hugo_extended_0.70.0+, you can install Hugo from hugo releases
When you have installed Hugo, then run:
hugo server -D
Now you can preview the website in your browser using http://localhost:1313/
.
Open a pull request (PR) to add a localization to the repository.
First, find your localization’s two-letter country code. For example, the two-letter code for Turkey is tr. then, open config.toml
, change the menu which language you want to translate。
[languages.tr]
weight = 3
contentDir = "content/tr" // there should be changed
languageCode = "tr-TR" // there should be changed
languageName = "Türk" // there should be changed
[[languages.tr.menu.main]]
weight = 1
name = "Why KubeSphere" // there should be translated
URL = "reason"
[[languages.tr.menu.main]]
weight = 2
name = "Scenario" // there should be translated
hasChildren = true
[[languages.tr.menu.main]]
parent = "Scenario" // there should be translated
name = "Multi-cluster" // there should be translated
URL = "multi-cluster"
weight = 1
Add a language-specific subdirectory to the content folder in the repository. For example, the two-letter code for German is de. It should be named as what you set in contentDir
in the previous step
Localizations must be based on the English files in content/en
. Some attributes which represent some resource paths do not need to be translated,like icon
,image
,etc.
Localizations must include the contents of i18n/en.yaml in a new language-specific file.
Localizations must be based on the English files in data/en
.