feat: subtile config and docs
This commit is contained in:
@@ -7,6 +7,7 @@ draft: false
|
||||
author: "Dillon"
|
||||
authorLink: "https://dillonzq.com"
|
||||
description: "Discover what the Hugo - LoveIt theme is all about and the core-concepts behind it."
|
||||
images: []
|
||||
resources:
|
||||
- name: "featured-image"
|
||||
src: "featured-image.jpg"
|
||||
@@ -76,21 +77,28 @@ The following is a basic configuration for the LoveIt theme:
|
||||
|
||||
```toml
|
||||
baseURL = "http://example.org/"
|
||||
# [en, zh-cn, fr, ...] determines default content language
|
||||
defaultContentLanguage = "en"
|
||||
# language code
|
||||
languageCode = "en"
|
||||
title = "My New Hugo Site"
|
||||
|
||||
# Change the default theme to be use when building the site with Hugo
|
||||
theme = "LoveIt"
|
||||
|
||||
[params]
|
||||
# LoveIt theme version
|
||||
version = "0.2.X"
|
||||
# website title
|
||||
title = "My New Hugo Site"
|
||||
|
||||
# language code ["en", "zh-CN", "fr", "pl", ...]
|
||||
languageCode = "en"
|
||||
# language name ["English", "简体中文", "Français", "Polski", ...]
|
||||
languageName = "English"
|
||||
|
||||
# Author config
|
||||
[author]
|
||||
name = "xxxx"
|
||||
email = ""
|
||||
link = ""
|
||||
|
||||
# Menu config
|
||||
[menu]
|
||||
[[menu.main]]
|
||||
weight = 1
|
||||
identifier = "posts"
|
||||
# you can add extra information before the name (HTML format is supported), such as icons
|
||||
pre = ""
|
||||
@@ -100,23 +108,22 @@ theme = "LoveIt"
|
||||
url = "/posts/"
|
||||
# title will be shown when you hover on this menu link
|
||||
title = ""
|
||||
weight = 1
|
||||
[[menu.main]]
|
||||
weight = 2
|
||||
identifier = "tags"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Tags"
|
||||
url = "/tags/"
|
||||
title = ""
|
||||
weight = 2
|
||||
[[menu.main]]
|
||||
weight = 3
|
||||
identifier = "categories"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Categories"
|
||||
url = "/categories/"
|
||||
title = ""
|
||||
weight = 3
|
||||
|
||||
# Markup related configuration in Hugo
|
||||
[markup]
|
||||
@@ -194,66 +201,27 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
|
||||
```toml
|
||||
[params]
|
||||
# {{< version 0.2.0 changed >}} LoveIt theme version
|
||||
version = "0.2.X"
|
||||
# site description
|
||||
description = "This is My New Hugo Site"
|
||||
# site keywords
|
||||
keywords = ["Theme", "Hugo"]
|
||||
# site default theme ("light", "dark", "auto")
|
||||
# site default theme ["auto", "light", "dark"]
|
||||
defaultTheme = "auto"
|
||||
# public git repo url only then enableGitInfo is true
|
||||
gitRepo = ""
|
||||
# {{< version 0.1.1 >}} which hash function used for SRI, when empty, no SRI is used
|
||||
# ("sha256", "sha384", "sha512", "md5")
|
||||
# ["sha256", "sha384", "sha512", "md5"]
|
||||
fingerprint = ""
|
||||
# {{< version 0.2.0 >}} date format
|
||||
dateFormat = "2006-01-02"
|
||||
# website title for Open Graph and Twitter Cards
|
||||
title = "My cool site"
|
||||
# website description for RSS, SEO, Open Graph and Twitter Cards
|
||||
description = "This is my cool site"
|
||||
# website images for Open Graph and Twitter Cards
|
||||
images = ["/logo.png"]
|
||||
|
||||
# {{< version 0.2.0 >}} App icon config
|
||||
[params.app]
|
||||
# optional site title override for the app when added to an iOS home screen or Android launcher
|
||||
title = "LoveIt"
|
||||
# whether to omit favicon resource links
|
||||
noFavicon = false
|
||||
# modern SVG favicon to use in place of older style .png and .ico files
|
||||
svgFavicon = ""
|
||||
# Android browser theme color
|
||||
themeColor = "#ffffff"
|
||||
# Safari mask icon color
|
||||
iconColor = "#5bbad5"
|
||||
# Windows v8-10 tile color
|
||||
tileColor = "#da532c"
|
||||
|
||||
# {{< version 0.2.0 >}} Search config
|
||||
[params.search]
|
||||
enable = true
|
||||
# type of search engine ("lunr", "algolia")
|
||||
type = "lunr"
|
||||
# max index length of the chunked content
|
||||
contentLength = 4000
|
||||
# placeholder of the search bar
|
||||
placeholder = ""
|
||||
# {{< version 0.2.1 >}} max number of results length
|
||||
maxResultLength = 10
|
||||
# {{< version 0.2.3 >}} snippet length of the result
|
||||
snippetLength = 30
|
||||
# {{< version 0.2.1 >}} HTML tag name of the highlight part in results
|
||||
highlightTag = "em"
|
||||
# {{< version 0.2.4 >}} whether to use the absolute URL based on the baseURL in search index
|
||||
absoluteURL = false
|
||||
[params.search.algolia]
|
||||
index = ""
|
||||
appID = ""
|
||||
searchKey = ""
|
||||
|
||||
# Header config
|
||||
[params.header]
|
||||
# desktop header mode ("fixed", "normal", "auto")
|
||||
# desktop header mode ["fixed", "normal", "auto"]
|
||||
desktopMode = "fixed"
|
||||
# mobile header mode ("fixed", "normal", "auto")
|
||||
# mobile header mode ["fixed", "normal", "auto"]
|
||||
mobileMode = "auto"
|
||||
# {{< version 0.2.0 >}} Header title config
|
||||
[params.header.title]
|
||||
@@ -304,6 +272,43 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
# amount of RSS pages
|
||||
rss = 10
|
||||
|
||||
# {{< version 0.2.0 >}} App icon config
|
||||
[params.app]
|
||||
# optional site title override for the app when added to an iOS home screen or Android launcher
|
||||
title = "My cool site"
|
||||
# whether to omit favicon resource links
|
||||
noFavicon = false
|
||||
# modern SVG favicon to use in place of older style .png and .ico files
|
||||
svgFavicon = ""
|
||||
# Android browser theme color
|
||||
themeColor = "#ffffff"
|
||||
# Safari mask icon color
|
||||
iconColor = "#5bbad5"
|
||||
# Windows v8-10 tile color
|
||||
tileColor = "#da532c"
|
||||
|
||||
# {{< version 0.2.0 >}} Search config
|
||||
[params.search]
|
||||
enable = true
|
||||
# type of search engine ["lunr", "algolia"]
|
||||
type = "lunr"
|
||||
# max index length of the chunked content
|
||||
contentLength = 4000
|
||||
# placeholder of the search bar
|
||||
placeholder = ""
|
||||
# {{< version 0.2.1 >}} max number of results length
|
||||
maxResultLength = 10
|
||||
# {{< version 0.2.3 >}} snippet length of the result
|
||||
snippetLength = 30
|
||||
# {{< version 0.2.1 >}} HTML tag name of the highlight part in results
|
||||
highlightTag = "em"
|
||||
# {{< version 0.2.4 >}} whether to use the absolute URL based on the baseURL in search index
|
||||
absoluteURL = false
|
||||
[params.search.algolia]
|
||||
index = ""
|
||||
appID = ""
|
||||
searchKey = ""
|
||||
|
||||
# Home page config
|
||||
[params.home]
|
||||
# {{< version 0.2.0 >}} amount of RSS pages
|
||||
@@ -317,7 +322,7 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
avatarURL = "/images/avatar.png"
|
||||
# {{< version 0.2.7 changed >}} title shown in home page (HTML format is supported)
|
||||
title = ""
|
||||
# subtitle shown in home page
|
||||
# subtitle shown in home page (HTML format is supported)
|
||||
subtitle = "This is My New Hugo Site"
|
||||
# whether to use typeit animation for subtitle
|
||||
typeit = true
|
||||
@@ -398,10 +403,12 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
XMPP = ""
|
||||
Matrix = ""
|
||||
Bilibili = ""
|
||||
Discord = ""
|
||||
DiscordInvite = ""
|
||||
Email = "xxxx@xxxx.com"
|
||||
RSS = true # {{< version 0.2.0 >}}
|
||||
|
||||
# {{< version 0.2.0 changed >}} Page config
|
||||
# {{< version 0.2.0 changed >}} Page global config
|
||||
[params.page]
|
||||
# {{< version 0.2.0 >}} whether to hide a page from home page
|
||||
hiddenFromHomePage = false
|
||||
@@ -432,12 +439,12 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
# {{< version 0.2.0 changed >}} {{< link "https://katex.org/" KaTeX >}} mathematical formulas
|
||||
[params.page.math]
|
||||
enable = true
|
||||
# default block delimiter is $$ ... $$ and \\[ ... \\]
|
||||
blockLeftDelimiter = ""
|
||||
blockRightDelimiter = ""
|
||||
# default inline delimiter is $ ... $ and \\( ... \\)
|
||||
# {{< version 0.2.11 changed >}} default inline delimiter is $ ... $ and \( ... \)
|
||||
inlineLeftDelimiter = ""
|
||||
inlineRightDelimiter = ""
|
||||
# {{< version 0.2.11 changed >}} default block delimiter is $$ ... $$, \[ ... \], \begin{equation} ... \end{equation} and some other functions
|
||||
blockLeftDelimiter = ""
|
||||
blockRightDelimiter = ""
|
||||
# KaTeX extension copy_tex
|
||||
copyTex = true
|
||||
# KaTeX extension mhchem
|
||||
@@ -447,15 +454,15 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
# whether to show the copy button of the code block
|
||||
copy = true
|
||||
# the maximum number of lines of displayed code by default
|
||||
maxShownLines = 10
|
||||
maxShownLines = 50
|
||||
# {{< version 0.2.0 >}} {{< link "https://docs.mapbox.com/mapbox-gl-js" "Mapbox GL JS" >}} config
|
||||
[params.page.mapbox]
|
||||
# access token of Mapbox GL JS
|
||||
accessToken = ""
|
||||
# style for the light theme
|
||||
lightStyle = "mapbox://styles/mapbox/light-v9"
|
||||
lightStyle = "mapbox://styles/mapbox/light-v10?optimize=true"
|
||||
# style for the dark theme
|
||||
darkStyle = "mapbox://styles/mapbox/dark-v9"
|
||||
darkStyle = "mapbox://styles/mapbox/dark-v10?optimize=true"
|
||||
# whether to add {{< link "https://docs.mapbox.com/mapbox-gl-js/api#navigationcontrol" NavigationControl >}}
|
||||
navigation = true
|
||||
# whether to add {{< link "https://docs.mapbox.com/mapbox-gl-js/api#geolocatecontrol" GeolocateControl >}}
|
||||
@@ -470,10 +477,10 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
Twitter = true
|
||||
Facebook = true
|
||||
Linkedin = false
|
||||
Whatsapp = true
|
||||
Whatsapp = false
|
||||
Pinterest = false
|
||||
Tumblr = false
|
||||
HackerNews = false
|
||||
HackerNews = true
|
||||
Reddit = false
|
||||
VK = false
|
||||
Buffer = false
|
||||
@@ -481,22 +488,18 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
Line = true
|
||||
Instapaper = false
|
||||
Pocket = false
|
||||
Digg = false
|
||||
Stumbleupon = false
|
||||
Flipboard = false
|
||||
Weibo = true
|
||||
Renren = false
|
||||
Myspace = true
|
||||
Blogger = true
|
||||
Blogger = false
|
||||
Baidu = false
|
||||
Odnoklassniki = false
|
||||
Evernote = true
|
||||
Evernote = false
|
||||
Skype = false
|
||||
Trello = false
|
||||
Mix = false
|
||||
# {{< version 0.2.0 changed >}} Comment config
|
||||
[params.page.comment]
|
||||
enable = true
|
||||
enable = false
|
||||
# {{< link "https://disqus.com/" Disqus >}} comment config
|
||||
[params.page.comment.disqus]
|
||||
# {{< version 0.1.1 >}}
|
||||
@@ -527,10 +530,10 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
enableQQ = false
|
||||
serverURLs = ""
|
||||
# {{< version 0.2.6 >}} emoji data file name, default is "google.yml"
|
||||
# ("apple.yml", "google.yml", "facebook.yml", "twitter.yml")
|
||||
# located in "themes/LoveIt/assets/data/emoji/" directory
|
||||
# ["apple.yml", "google.yml", "facebook.yml", "twitter.yml"]
|
||||
# located in "themes/LoveIt/assets/lib/valine/emoji/" directory
|
||||
# you can store your own data files in the same path under your project:
|
||||
# "assets/data/emoji/"
|
||||
# "assets/lib/valine/emoji/"
|
||||
emoji = ""
|
||||
# {{< link "https://developers.facebook.com/docs/plugins/comments" "Facebook comment" >}} config
|
||||
[params.page.comment.facebook]
|
||||
@@ -621,6 +624,9 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
id = ""
|
||||
# server url for your tracker if you're self hosting
|
||||
server = ""
|
||||
# Plausible Analytics
|
||||
[params.analytics.plausible]
|
||||
dataDomain = ""
|
||||
|
||||
# {{< version 0.2.7 >}} Cookie consent config
|
||||
[params.cookieconsent]
|
||||
@@ -634,7 +640,7 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
# {{< version 0.2.7 changed >}} CDN config for third-party library files
|
||||
[params.cdn]
|
||||
# CDN data file name, disabled by default
|
||||
# ("jsdelivr.yml")
|
||||
# ["jsdelivr.yml"]
|
||||
# located in "themes/LoveIt/assets/data/cdn/" directory
|
||||
# you can store your own data files in the same path under your project:
|
||||
# "assets/data/cdn/"
|
||||
@@ -676,12 +682,6 @@ Please open the code block below to view the complete sample configuration :(far
|
||||
startLevel = 2
|
||||
endLevel = 6
|
||||
|
||||
# Author config
|
||||
[author]
|
||||
name = "xxxx"
|
||||
email = ""
|
||||
link = ""
|
||||
|
||||
# Sitemap config
|
||||
[sitemap]
|
||||
changefreq = "weekly"
|
||||
@@ -743,7 +743,7 @@ You could enable these features with `hugo serve -e production`.
|
||||
```toml
|
||||
[params.cdn]
|
||||
# CDN data file name, disabled by default
|
||||
# ("jsdelivr.yml")
|
||||
# ["jsdelivr.yml"]
|
||||
data = ""
|
||||
````
|
||||
|
||||
@@ -836,6 +836,7 @@ In `assets/css/_custom.scss`, you can add some css style code to customize the s
|
||||
|:-------------------- |:---------:|:---------------------:|:-----------------------------:|:-----------------------------:|
|
||||
| English | `en` | `en` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Simplified Chinese | `zh-cn` | `zh-CN` | :(far fa-check-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Traditional Chinese | `zh-tw` | `zh-TW` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| French | `fr` | `fr` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Polish | `pl` | `pl` | :(far fa-square fa-fw): | :(far fa-square fa-fw): |
|
||||
| Brazilian Portuguese | `pt-br` | `pt-BR` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
@@ -847,6 +848,11 @@ In `assets/css/_custom.scss`, you can add some css style code to customize the s
|
||||
| Russian | `ru` | `ru` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Romanian | `ro` | `ro` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Vietnamese | `vi` | `vi` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Arabic | `ar` | `ar` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Catalan | `ca` | `ca` | :(far fa-square fa-fw): | :(far fa-square fa-fw): |
|
||||
| Thai | `th` | `th` | :(far fa-square fa-fw): | :(far fa-check-square fa-fw): |
|
||||
| Telugu | `te` | `te` | :(far fa-square fa-fw): | :(far fa-square fa-fw): |
|
||||
| Indonesian | `id` | `id` | :(far fa-square fa-fw): | :(far fa-square fa-fw): |
|
||||
|
||||
### 4.2 Basic Configuration
|
||||
|
||||
@@ -855,7 +861,7 @@ After learning [how Hugo handle multilingual websites](https://gohugo.io/content
|
||||
For example with English, Chinese and French website:
|
||||
|
||||
```toml
|
||||
# [en, zh-cn, fr, pl, ...] determines default content language
|
||||
# determines default content language ["en", "zh-cn", "fr", "pl", ...]
|
||||
defaultContentLanguage = "en"
|
||||
|
||||
[languages]
|
||||
@@ -865,62 +871,60 @@ defaultContentLanguage = "en"
|
||||
languageCode = "en"
|
||||
languageName = "English"
|
||||
[[languages.en.menu.main]]
|
||||
weight = 1
|
||||
identifier = "posts"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Posts"
|
||||
url = "/posts/"
|
||||
title = ""
|
||||
weight = 1
|
||||
[[languages.en.menu.main]]
|
||||
weight = 2
|
||||
identifier = "tags"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Tags"
|
||||
url = "/tags/"
|
||||
title = ""
|
||||
weight = 2
|
||||
[[languages.en.menu.main]]
|
||||
weight = 3
|
||||
identifier = "categories"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Categories"
|
||||
url = "/categories/"
|
||||
title = ""
|
||||
weight = 3
|
||||
|
||||
[languages.zh-cn]
|
||||
weight = 2
|
||||
title = "我的全新 Hugo 网站"
|
||||
# language code, CN only here
|
||||
languageCode = "zh-CN"
|
||||
languageName = "简体中文"
|
||||
# whether to include Chinese/Japanese/Korean
|
||||
hasCJKLanguage = true
|
||||
[[languages.zh-cn.menu.main]]
|
||||
weight = 1
|
||||
identifier = "posts"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "文章"
|
||||
url = "/posts/"
|
||||
title = ""
|
||||
weight = 1
|
||||
[[languages.zh-cn.menu.main]]
|
||||
weight = 2
|
||||
identifier = "tags"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "标签"
|
||||
url = "/tags/"
|
||||
title = ""
|
||||
weight = 2
|
||||
[[languages.zh-cn.menu.main]]
|
||||
weight = 3
|
||||
identifier = "categories"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "分类"
|
||||
url = "/categories/"
|
||||
title = ""
|
||||
weight = 3
|
||||
|
||||
[languages.fr]
|
||||
weight = 3
|
||||
@@ -928,29 +932,29 @@ defaultContentLanguage = "en"
|
||||
languageCode = "fr"
|
||||
languageName = "Français"
|
||||
[[languages.fr.menu.main]]
|
||||
weight = 1
|
||||
identifier = "posts"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Postes"
|
||||
url = "/posts/"
|
||||
title = ""
|
||||
weight = 1
|
||||
[[languages.fr.menu.main]]
|
||||
weight = 2
|
||||
identifier = "tags"
|
||||
pre = ""
|
||||
post = ""
|
||||
name = "Balises"
|
||||
url = "/tags/"
|
||||
title = ""
|
||||
weight = 2
|
||||
[[languages.fr.menu.main]]
|
||||
weight = 3
|
||||
identifier = "categories"
|
||||
name = "Catégories"
|
||||
pre = ""
|
||||
post = ""
|
||||
url = "/categories/"
|
||||
title = ""
|
||||
weight = 3
|
||||
```
|
||||
|
||||
Then, for each new page, append the language code to the file name.
|
||||
@@ -1001,7 +1005,7 @@ Here is the search configuration in your [site configuration](#site-configuratio
|
||||
```toml
|
||||
[params.search]
|
||||
enable = true
|
||||
# type of search engine ("lunr", "algolia")
|
||||
# type of search engine ["lunr", "algolia"]
|
||||
type = "lunr"
|
||||
# max index length of the chunked content
|
||||
contentLength = 4000
|
||||
@@ -1035,7 +1039,7 @@ The following is a comparison of two search engines:
|
||||
{{< admonition tip "Tips about algolia" >}}
|
||||
You need to upload `index.json` files to algolia to activate searching.
|
||||
You could upload the `index.json` files by browsers but a CLI tool may be better.
|
||||
[Algolia Atomic](https://github.com/chrisdmacrae/atomic-algolia) is a good choice.
|
||||
The official [Algolia CLI](https://github.com/algolia/algolia-cli) is a good choice.
|
||||
To be compatible with Hugo multilingual mode,
|
||||
you need to upload different `index.json` for each language to the different index of algolia, such as `zh-cn/index.json` or `fr/index.json`...
|
||||
{{< /admonition >}}
|
||||
|
||||
Reference in New Issue
Block a user