- hugo支持多語言和多語言的生成
1. 配置默認語言和menu :config.toml
```
baseURL = "http://example.org/"
title = ""
theme = "hyde"
defaultContentLanguage = "en"
[params]
description = ""
homeMetaContent = "clouda3 personal blog"
footer = "clouda3的個人網站"
date = "2019-04-10 14:05:50"
codePenUser = "someUser"
[languages]
[language.en]
languageName = "English"
title = "English"
[[languages.en.menu.main]]
identifier = "home"
title = "my home"
name = "Home"
url = "/"
weight = 1
[[languages.en.menu.main]]
identifier = "blog"
title = "my blog"
name = "Blog"
url = "/posts/"
weight = 2
[language.cn]
languageName = "cn"
title = "中文"
[[languages.cn.menu.main]]
identifier = "home"
title = "主頁"
name = "Home"
url = "/cn"
weight = 7
[[languages.cn.menu.main]]
identifier = "blog"
title = "博客"
name = "博客"
url = "/cn/posts/"
weight = 8
```
2. 創建頁面post/first.cn.md first.en.md
3. 創建可以切換中英文的按鈕,layouts/partials/lang.html
```
<nav class="LangNav">
{{ range $.Site.Home.AllTranslations }}
<a href="{{ .Page.Permalink }}">{{ .Language.Lang }}</a>
{{ end }}
</nav>
```
4. 修改layouts/partials/sidebar.html
```
{{ partial "lang.html" . }}
```
5. 生成靜態html 目錄結構,cn是在一個目錄en是more的上一層目錄
```
public
---cn
---post
---post
```
6. 模板文字的多語言問題,創建i18n/en.toml cn.toml
```
cn.toml
[my_blog_description]
other = "云端的博客"
en.toml
[my_blog_description]
other = "yun duan's blog"
```
7. layouts/partial/sidebar.html
```
<aside class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<a href="{{ .Site.BaseURL }}"><h1>{{ .Site.Title }}</h1></a>
<p class="lead">
{{ with .Site.Params.description }} {{.}} {{ else }}{{ i18n "my_blog_description"}}.{{end}}
</p>
</div>
{{ partial "lang.html" . }}
<nav>
<ul class="sidebar-nav">
{{ range .Site.Menus.main -}}
<li><a href="{{.URL}}"> {{ .Name }} </a></li>
{{- end }}
</ul>
</nav>
<p>{{ with .Site.Params.copyright }}{{.}}{{ else }}© {{ now.Format "2006"}}. All rights reserved. {{end}}</p>
</div>
</aside>
```
8. 打開主頁看可以中英文切換
- 【入門】1:Hugo介紹
- 【入門】2:Hugo網站和主題演示
- 【入門】3:Hugo跟Wordpress和Hexo對比
- 【入門】4:20分鐘快速搭建Hugo網站
- 【入門】5:免費網站托管到Gitpages
- 【入門】6:圖標icon/robot.txt/404頁面創建和設置
- 【入門】7:網站地圖sitemap
- 【進階】8:自定義菜單
- 【進階】9:自定義Tag/category
- 【進階】10:頁面Meta keyword
- 【進階】12:創建頁面摘要
- 【進階】11:創建列表【進行中...】
- 【進階】13:創建分頁
- 【進階】14:創建統計
- 【進階】15:創建rss
- 【高級】16:創建頁面目錄
- 【高級】17:創建站內搜索
- 【高級】18:創建多語言支持
- 【高級】19:顯示相關內容
- 【高級】20:顯示當前頁面所有Tag
- 【高級】21:創建社交聯系方式
- 【高級】22:創建社交分享
- 【高級】23:創建評論gitalk
- 【高級】24:自動化部署-netlify
- 【高級】25:自動化部署-Github actions