Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
Signed-off-by: FeynmanZhou <[email protected]>
  • Loading branch information
FeynmanZhou committed Nov 21, 2020
1 parent ac13601 commit 9eff466
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 71 deletions.
107 changes: 36 additions & 71 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# Website
# KubeSphere Website

This project uses [Hugo](https://gohugo.io/) to build the new website for KubeSphere.

## Contribute

Contributions of any kind are welcome! Thanks goes to these wonderful contributors, they made our community and product grow fast.

<a href="https://github.com/kubesphere/website/graphs/contributors">
<img src="https://contributors-img.web.app/image?repo=kubesphere/website" />
</a>

### Fork and clone the repo

First, create your own fork of the repository.
Expand All @@ -15,7 +21,7 @@ git clone https://github.com/<username>/website
cd website
```

### Building the website
### Compiling and preview the website

You will need to build the website in order to **publish it as static content.**

Expand All @@ -27,41 +33,6 @@ Go to the [Hugo releases place](https://github.com/gohugoio/hugo/releases) and d

Note: If you install Hugo on Windows, you need to add environment variables for the exe file of Hugo. For example, you place the exe file in the path `C:\Hugo\bin`. You have to add this path in environment variables. Execute `hugo version` to view if the installation is successful.

#### Config your domain

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"
```

#### Build the static content

Just run `hugo` without parameters.

```bash
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
```

#### Get the already built static content

You will find the previously generated content in the `public` directory.

### Running the website locally

hugo version: hugo_extended_0.70.0+, you can install Hugo from [hugo releases](https://github.com/gohugoio/hugo/releases)
Expand Down Expand Up @@ -92,49 +63,43 @@ If the button above does not appear, go to **Files changed** tab. Click the thre

![view-file](https://ap3.qingstor.com/kubesphere-website/docs/view-file-github.png)

## Localizing
## Localizing

### Find your two-letter language code
You are welcome to help the KubeSphere community to support more languages, join us to contribute to the localization, see [Localizing the website](localize-website.md) for the instruction.

First, find your localization’s two-letter country code. For example, the two-letter code for Turkey is tr. Then, open `config.toml` and change the menu of the language you want to translate.
## Build and Publish the website (Optional)

```
[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
### Config your domain

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

### Add a new localization directory
```
baseURL = "https://kubesphere.es"
```

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
#### Build the static content

### Translating content
Just run `hugo` without parameters.

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.
```bash
hugo

### Site strings in i18n
| 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

Localizations must include the contents of i18n/en.yaml in a new language-specific file.
Total in 2396 ms
```

### Translating data
#### Get the already built static content

Localizations must be based on the English files in `data/en` .
You will find the previously generated content in the `public` directory.
46 changes: 46 additions & 0 deletions localize-website.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Localizing the website

## Find your two-letter language code

First, find your localization’s two-letter country code. For example, the two-letter code for Turkey is tr. Then, open `config.toml` and change the menu of the 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 new localization directory

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

## Translating content

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.

## Site strings in i18n

Localizations must include the contents of i18n/en.yaml in a new language-specific file.

## Translating data

Localizations must be based on the English files in `data/en` .

0 comments on commit 9eff466

Please sign in to comment.