Squashed 'docs/' changes from 96fdc246c..30f32a624

30f32a624 Update scss-sass.md
503130186 Update scss-sass.md
cbfaa6704 Remove references to outdated Blackfriday markdown processor (#1748)
e43948d26 netlify: Hugo 0.100.2
aaabe0ee9 Merge branch 'tempv0.100.2'
bc615f257 tpl/path: Add path.BaseName function
5dddbf95e Add Chinese translation for _documentation and _index.md
b1e4f3200 Add translation for search tools
23281633a Update introduction.md
3abb5fb5d netlify: Hugo 0.100.1
644ed3b01 Update faq.md
54f377051 Add some lines about resources.Copy
82cf08355 Remove most Blackfriday references
bfbe5aaf3 netlify: Update to Hugo 0.100.0
8b6f8577f docs: Regen CLI docs
858a5d39c docs: Regen docs helper
5037d504f Merge commit 'e4bfe59c4e043c92d3992587d8c64d264b262a22'
03ca7be5b Fix indentation in highlight shortcode

git-subtree-dir: docs
git-subtree-split: 30f32a62433a6d62b680a2dd874c72bb8fb0b728
This commit is contained in:
Bjørn Erik Pedersen 2022-06-16 07:22:11 +02:00
parent e4bfe59c4e
commit 475f87f685
32 changed files with 284 additions and 199 deletions

View file

@ -47,6 +47,7 @@ hugo [flags]
--log enable Logging
--logFile string log File path (if set, logging enabled automatically)
--minify minify any supported output format (HTML, XML etc.)
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noTimes don't sync modification time of files
--panicOnWarning panic on first WARNING log

View file

@ -42,6 +42,7 @@ See https://gohugo.io/hugo-modules/ for more information.
--ignoreCache ignores the cache directory
-l, --layoutDir string filesystem path to layout directory
--minify minify any supported output format (HTML, XML etc.)
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noTimes don't sync modification time of files
--panicOnWarning panic on first WARNING log

View file

@ -43,6 +43,7 @@ hugo new [path] [flags]
-k, --kind string content type to create
-l, --layoutDir string filesystem path to layout directory
--minify minify any supported output format (HTML, XML etc.)
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noTimes don't sync modification time of files
--panicOnWarning panic on first WARNING log

View file

@ -54,6 +54,7 @@ hugo server [flags]
--memstats string log memory usage to this file
--minify minify any supported output format (HTML, XML etc.)
--navigateToChanged navigate to changed content file on live browser reload
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noHTTPCache prevent HTTP caching
--noTimes don't sync modification time of files

View file

@ -126,4 +126,3 @@ refLinksNotFoundURL
[lists]: /templates/lists/
[output formats]: /templates/output-formats/
[shortcode]: /content-management/shortcodes/
[bfext]: /content-management/formats/#blackfriday-extensions

View file

@ -29,7 +29,6 @@ The current list of content formats in Hugo:
| Name | Markup identifiers | Comment |
| ------------- | ------------- |-------------|
| Goldmark | md, markdown, goldmark |Note that you can set the default handler of `md` and `markdown` to something else, see [Configure Markup](/getting-started/configuration-markup/).{{< new-in "0.60.0" >}} |
| Blackfriday | blackfriday |Blackfriday will eventually be deprecated.|
|Emacs Org-Mode|org|See [go-org](https://github.com/niklasfasching/go-org).|
|AsciiDoc|asciidocext, adoc, ad|Needs [Asciidoctor][ascii] installed.|
|RST|rst|Needs [RST](https://docutils.sourceforge.io/rst.html) installed.|
@ -128,8 +127,6 @@ Markdown syntax is simple enough to learn in a single sitting. The following are
[`emojify` function]: /functions/emojify/
[ascii]: https://asciidoctor.org/
[bfconfig]: /getting-started/configuration/#configuring-blackfriday-rendering
[blackfriday]: https://github.com/russross/blackfriday
[config]: /getting-started/configuration/
[developer tools]: /tools/
[emojis]: https://www.webpagefx.com/tools/emoji-cheat-sheet/

View file

@ -217,7 +217,7 @@ You can assign content-specific `weight` in the front matter of your content. Th
## Override Global Markdown Configuration
It's possible to set some options for Markdown rendering in a content's front matter as an override to the [BlackFriday rendering options set in your project configuration][config].
It's possible to set some options for Markdown rendering in a content's front matter as an override to the [Rendering options set in your project configuration][config].
## Front Matter Format Specs

View file

@ -140,31 +140,6 @@ Press Ctrl+C to stop
Live reload and `--navigateToChanged` between the servers work as expected.
### Taxonomies and Blackfriday
Taxonomies and [Blackfriday configuration][config] can also be set per language:
{{< code-toggle file="config" >}}
[Taxonomies]
tag = "tags"
[blackfriday]
angledQuotes = true
hrefTargetBlank = true
[languages]
[languages.en]
weight = 1
title = "English"
[languages.en.blackfriday]
angledQuotes = false
[languages.fr]
weight = 2
title = "Français"
[languages.fr.Taxonomies]
plaque = "plaques"
{{</ code-toggle >}}
## Translate Your Content

View file

@ -13,7 +13,7 @@ workson: []
relatedfuncs: [humanize]
---
If [Goldmark](https://gohugo.io/getting-started/configuration-markup#goldmark) is set as `defaultMarkdownHandler`, the sanitizing logic adheres to the setting [`markup.goldmark.parser.autoHeadingIDType`](https://gohugo.io/getting-started/configuration-markup#goldmark). If [Blackfriday](https://gohugo.io/getting-started/configuration-markup#blackfriday) is set as `defaultMarkdownHandler`, this template function uses the [`SanitizedAnchorName` logic from Blackfriday](https://github.com/russross/blackfriday#sanitized-anchor-names) (the same applies when `markup.goldmark.parser.autoHeadingIDType` is set to `blackfriday`).
If [Goldmark](https://gohugo.io/getting-started/configuration-markup#goldmark) is set as `defaultMarkdownHandler`, the sanitizing logic adheres to the setting [`markup.goldmark.parser.autoHeadingIDType`](https://gohugo.io/getting-started/configuration-markup#goldmark).
Since the `defaultMarkdownHandler` and this template function use the same sanitizing logic, you can use the latter to determine the ID of a header for linking with anchor tags.

View file

@ -12,7 +12,7 @@ keywords: [path, base]
signature: ["path.Base PATH"]
workson: []
hugoversion: "0.40"
relatedfuncs: [path.Dir, path.Ext, path.Split]
relatedfuncs: [path.BaseName, path.Clean, path.Dir, path.Ext, path.Join, path.Split]
deprecated: false
---

View file

@ -0,0 +1,24 @@
---
title: path.BaseName
description: BaseName returns the last element of a path, removing the extension if present.
date: 2022-06-04
categories: [functions]
menu:
docs:
parent: "functions"
keywords: [path, base]
signature: ["path.BaseName PATH"]
relatedfuncs: [path.Base, path.Clean, path.Dir, path.Ext, path.Join, path.Split]
deprecated: false
---
If `PATH` is empty, `.` is returned.
**Note:** On Windows, `PATH` is converted to slash (`/`) separators.
```go-html-template
{{ path.BaseName "a/news.html" }} → "news"
{{ path.BaseName "news.html" }} → "news"
{{ path.BaseName "a/b/c" }} → "c"
{{ path.BaseName "/x/y/z/" }} → "z"
```

View file

@ -8,8 +8,9 @@ categories: [functions]
menu:
docs:
parent: "functions"
keywords: [path]
keywords: [path, clean]
signature: ["path.Clean PATH"]
relatedfuncs: [path.Base, path.BaseName, path.Dir, path.Ext, path.Join, path.Split]
---
`path.Clean` replaces path separators with slashes (`/`) and removes extraneous separators, including trailing separators.

View file

@ -12,7 +12,7 @@ keywords: [path, dir]
signature: ["path.Dir PATH"]
workson: []
hugoversion: "0.40"
relatedfuncs: [path.Base, path.Ext, path.Split]
relatedfuncs: [path.Base, path.BaseName, path.Clean, path.Ext, path.Join, path.Split]
deprecated: false
---

View file

@ -12,7 +12,7 @@ keywords: [path, ext, extension]
signature: ["path.Ext PATH"]
workson: []
hugoversion: "0.40"
relatedfuncs: [path.Base, path.Dir, path.Split]
relatedfuncs: [path.Base, path.BaseName, path.Clean, path.Dir, path.Join, path.Split]
deprecated: false
---

View file

@ -12,7 +12,7 @@ keywords: [path, join]
signature: ["path.Join ELEMENT..."]
workson: []
hugoversion: "0.39"
relatedfuncs: [path.Split]
relatedfuncs: [path.Base, path.BaseName, path.Clean, path.Dir, path.Ext, path.Split]
deprecated: false
---

View file

@ -12,7 +12,7 @@ keywords: [path, split]
signature: ["path.Split PATH"]
workson: []
hugoversion: "0.39"
relatedfuncs: [path.Split]
relatedfuncs: [path.Base, path.BaseName, path.Clean, path.Dir, path.Ext, path.Join]
deprecated: false
---

View file

@ -24,7 +24,7 @@ Below are all markup related configuration in Hugo with their default settings:
### Goldmark
[Goldmark](https://github.com/yuin/goldmark/) is from Hugo 0.60 the default library used for Markdown. It's fast, it's [CommonMark](https://spec.commonmark.org/0.29/) compliant and it's very flexible. Note that the feature set of Goldmark vs Blackfriday isn't the same; you gain a lot but also lose some, but we will work to bridge any gap in the upcoming Hugo versions.
[Goldmark](https://github.com/yuin/goldmark/) is from Hugo 0.60 the default library used for Markdown. It's fast, it's [CommonMark](https://spec.commonmark.org/0.29/) compliant and it's very flexible.
This is the default configuration:
@ -77,16 +77,8 @@ Note that attributes in [code fences](/content-management/syntax-highlighting/#h
````
autoHeadingIDType ("github") {{< new-in "0.62.2" >}}
: The strategy used for creating auto IDs (anchor names). Available types are `github`, `github-ascii` and `blackfriday`. `github` produces GitHub-compatible IDs, `github-ascii` will drop any non-Ascii characters after accent normalization, and `blackfriday` will make the IDs work as with [Blackfriday](#blackfriday), the default Markdown engine before Hugo 0.60. Note that if Goldmark is your default Markdown engine, this is also the strategy used in the [anchorize](/functions/anchorize/) template func.
: The strategy used for creating auto IDs (anchor names). Available types are `github`, `github-ascii` and `blackfriday`. `github` produces GitHub-compatible IDs, `github-ascii` will drop any non-Ascii characters after accent normalization, and `blackfriday` will make the IDs compatible with [Blackfriday](#blackfriday), the default Markdown engine before Hugo 0.60. Note that if Goldmark is your default Markdown engine, this is also the strategy used in the [anchorize](/functions/anchorize/) template func.
### Blackfriday
[Blackfriday](https://github.com/russross/blackfriday) was Hugo's default Markdown rendering engine, now replaced with Goldmark. But you can still use it: Just set `defaultMarkdownHandler` to `blackfriday` in your top level `markup` config.
This is the default config:
{{< code-toggle config="markup.blackFriday" />}}
### Highlight

View file

@ -121,9 +121,6 @@ The directory where Hugo finds asset files used in [Hugo Pipes](/hugo-pipes/). {
### baseURL
Hostname (and path) to the root, e.g. https://bep.is/
### blackfriday
See [Configure Blackfriday](/getting-started/configuration-markup#blackfriday)
### build
See [Configure Build](#configure-build)

View file

@ -53,6 +53,17 @@ With `resources.GetRemote`, the first argument is a remote URL:
`resources.Get` and `resources.GetRemote` return `nil` if the resource is not found.
## Copy a Resource
{{< new-in "0.100.0" >}}
`resources.Copy` allows you to copy almost any Hugo `Resource` (the one exception is the `Page`), possibly most useful for renaming things:
```go-html-template
{{ $resized := $image.Resize "400x400" | resources.Copy "images/mynewname.jpg" }}
<img src="{{ $resized.RelPermalink }}">
```
### Caching
By default, Hugo calculates a cache key based on the `URL` and the `options` (e.g. headers) given.

View file

@ -45,7 +45,8 @@ Note that this import routine does not care about the CSS spec, so you can have
Hugo will look for imports relative to the module mount and will respect theme overrides.
skipInlineImportsNotFound [bool] {{< new-in "0.99.0" >}}
:Before Hugo 0.99.0 when `inlineImports` was enabled and we failed to resolve an import, we logged it as a warning. We now fail the build. If you have regular CSS imports in your CSS that you want to preserve, you can either use imports with URL or media queries (Hugo does not try to resolve those) or set `skipInlineImportsNotFound` to true.
Before Hugo 0.99.0 when `inlineImports` was enabled and we failed to resolve an import, we logged it as a warning. We now fail the build. If you have regular CSS imports in your CSS that you want to preserve, you can either use imports with URL or media queries (Hugo does not try to resolve those) or set `skipInlineImportsNotFound` to true.
_If no configuration file is used:_

View file

@ -45,7 +45,7 @@ includePaths [string slice]
: Additional SCSS/SASS include paths. Paths must be relative to the project directory.
```go-html-template
{{ $options := (dict "targetPath" "style.css" "outputStyle" "compressed" "enableSourceMap" true "includePaths" (slice "node_modules/myscss")) }}
{{ $options := (dict "targetPath" "style.css" "outputStyle" "compressed" "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules/myscss")) }}
{{ $style := resources.Get "sass/main.scss" | resources.ToCSS $options }}
```

View file

@ -10,7 +10,7 @@ siteURL: https://www.tomango.co.uk
siteSource: https://github.com/trys/tomango-2018
byline: "[Trys Mudford](http://www.trysmudford.com), Lead Developer, Tomango"
byline: "[Trys Mudford](https://www.trysmudford.com), Lead Developer, Tomango"
---

View file

@ -112,7 +112,7 @@ You can use the following code to render the `Short Description` in your layout:
<div>Short Description of {{.Site.Data.User0123.Name}}: <p>{{ index .Site.Data.User0123 "Short Description" | markdownify }}</p></div>
```
Note the use of the [`markdownify` template function][markdownify]. This will send the description through the Blackfriday Markdown rendering engine.
Note the use of the [`markdownify` template function][markdownify]. This will send the description through the Markdown rendering engine.
## Get Remote Data

View file

@ -43,7 +43,7 @@ To use the `readFile` function in your templates, make sure the path is relative
### `readFile` Example: Add a Project File to Content
As `readFile` is a function, it is only available to you in your templates and not your content. However, we can create a simple [shortcode template][sct] that calls `readFile`, passes the first argument through the function, and then allows an optional second argument to send the file through the Blackfriday markdown processor. The pattern for adding this shortcode to your content will be as follows:
As `readFile` is a function, it is only available to you in your templates and not your content. However, we can create a simple [shortcode template][sct] that calls `readFile`, passes the first argument through the function, and then allows an optional second argument to send the file through the markdown processor. The pattern for adding this shortcode to your content will be as follows:
```
{{</* readfile file="/path/to/local/file.txt" markdown="true" */>}}

View file

@ -45,9 +45,9 @@ Also see this Twitter thread:
Yes you can! Read [this](/hosting-and-deployment/hosting-on-netlify/#configure-hugo-version-in-netlify).
## I get "TOCSS ... this feature is not available in your current Hugo version"
## I get "... this feature is not available in your current Hugo version"
If you process `SCSS` or `SASS` to `CSS` in your Hugo project, you need the Hugo `extended` version, or else you may see this error message:
If you process `SCSS` or `SASS` to `CSS` in your Hugo project with `libsass` as the transpiler or if you convert images to the `webp` format, you need the Hugo `extended` version, or else you may see an error message similar to the below:
```bash
error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo version

View file

@ -45,4 +45,8 @@ toc: false
[markdownshortcode]: /content-management/shortcodes/#shortcodes-with-markdown
[shortcodes]: /templates/shortcode-templates/
.InnerDeindent {{< new-in "0.100.0" >}}
: Gets the `.Inner` with any indentation removed. This is what's used in the built-in `{{</* highlight */>}}` shortcode.

View file

@ -1,49 +1,49 @@
---
title: "世界上最快的网站构建框架 The worlds fastest framework for building websites"
title: "世界上最快的网站构建框架"
date: 2017-03-02T12:00:00-05:00
features:
- heading: Blistering Speed
- heading: 飞快的速度
image_path: /images/icon-fast.svg
tagline: What's modern about waiting for your site to build?
copy: Hugo is the fastest tool of its kind. At <1 ms per page, the average site builds in less than a second.
tagline: 摩登发布
copy: Hugo 是同类中最快的工具。生成一页小于 1ms生成一个站点平均不超过 1s。
- heading: Robust Content Management
- heading: 强大的内容管理
image_path: /images/icon-content-management.svg
tagline: Flexibility rules. Hugo is a content strategist's dream.
copy: Hugo supports unlimited content types, taxonomies, menus, dynamic API-driven content, and more, all without plugins.
tagline: 灵活的规则。Hugo 是一个设计师的梦想。
copy: Hugo 支持无限的内容类型、分类、菜单、动态 API 驱动的内容,以及更多,都不需要插件。
- heading: Shortcodes
- heading: 短代码
image_path: /images/icon-shortcodes.svg
tagline: Hugo's shortcodes are Markdown's hidden superpower.
copy: We love the beautiful simplicity of markdowns syntax, but there are times when we want more flexibility. Hugo shortcodes allow for both beauty and flexibility.
tagline: Hugo 短代码是 Markdown 隐藏的强大功能。
copy: 我们喜欢美丽简洁的 markdown 语法但是有时候我们也想要更灵活一些。Hugo 短代码允许既美丽又灵活。
- heading: Built-in Templates
- heading: 内置模板
image_path: /images/icon-built-in-templates.svg
tagline: Hugo has common patterns to get your work done quickly.
copy: Hugo ships with pre-made templates to make quick work of SEO, commenting, analytics and other functions. One line of code, and you're done.
tagline: Hugo 有通用的模式让你快速的完成工作。
copy: Hugo 平台预置的模板会快速实现搜索引擎优化、评论、分析和其他的功能。一行代码,你就完成了。
- heading: Multilingual and i18n
- heading: 多语言和国际化
image_path: /images/icon-multilingual2.svg
tagline: Polyglot baked in.
copy: Hugo provides full i18n support for multi-language sites with the same straightforward development experience Hugo users love in single-language sites.
tagline: 多语言制作
copy: Hugo 为多语言站点提供了完整的国际化支持,并且具有与 Hugo 用户在单语言站点中喜爱的相同的简单开发体验。
- heading: Custom Outputs
- heading: 自定义输出
image_path: /images/icon-custom-outputs.svg
tagline: HTML not enough?
copy: Hugo allows you to output your content in multiple formats, including JSON or AMP, and makes it easy to create your own.
tagline: HTML 不够用吗?
copy: Hugo 允许您以多种格式输出内容,包括 JSON 或 AMP并且可以很容易地创建自己的内容。
sections:
- heading: "100s of Themes"
cta: Check out the Hugo's themes.
- heading: "100 多个主题"
cta: 看看 Hugo 的主题
link: https://themes.gohugo.io/
color_classes: bg-accent-color white
image: /images/homepage-screenshot-hugo-themes.jpg
copy: "Hugo provides a robust theming system that is easy to implement but capable of producing even the most complicated websites."
- heading: "Capable Templating"
cta: Get Started.
copy: "Hugo 提供了一个强大的主题系统,易于实现,但能够生成即使是最复杂的网站。"
- heading: "功能模板"
cta: 开始吧。
link: templates/
color_classes: bg-primary-color-light black
image: /images/home-page-templating-example.png
copy: "Hugo's Go-based templating provides just the right amount of logic to build anything from the simple to complex. If you prefer Jade/Pug-like syntax, you can also use Amber, Ace, or any combination of the three."
copy: "Hugo 基于 Go 的模板提供了恰当的方法来生成从简单到复杂的任何东西。如果你喜欢 Jade/Pug 类似的语法,你也可以使用 Amber、Ace 或三种任意组合。"
---
Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.
Hugo 是最受欢迎的开源静态站点生成器之一。凭借惊人的速度和灵活性Hugo 使建设网站的乐趣再现。

View file

@ -1,7 +1,7 @@
---
title: Hugo 说明文档
linktitle: Hugo
description: Hugo is the world's fastest static website engine. It's written in Go (aka Golang) and developed by bep, spf13 and friends.
description: Hugo 是世界上最快的静态网站引擎。它是用 Go (即 Golang) 编程语言所写成,由 bep、spf13 和朋友们共同开发。
date: 2017-02-01
publishdate: 2017-02-01
menu:
@ -16,6 +16,6 @@ toc: false
layout: documentation-home
isCJKLanguage: true
---
Hugo 号称**世界上最快的静态网站引擎**。它是以 Go (即 Golang) 编程语言所写成,并由 [bep](https://github.com/bep)、[spf13](https://github.com/spf13) 和[朋友们](https://github.com/gohugoio/hugo/graphs/contributors) 共同开发。
Hugo 是世界上最快的静态网站引擎。它是用 Go (即 Golang) 编程语言所写成,由 [bep](https://github.com/bep)、[spf13](https://github.com/spf13) 和[朋友们](https://github.com/gohugoio/hugo/graphs/contributors)共同开发。
下面是我们说明文档中最常用和实用的章节:

View file

@ -0,0 +1,25 @@
---
title:  开发者工具
linktitle:  开发者工具概览
description: 除了 Hugo 强大的命令外,对于 Hugo 开发者还有大量社区开发的工具链。
date: 2018-05-29
publishdate: 2018-05-29
lastmod: 2018-05-29
categories: [developer tools]
keywords: []
menu:
docs:
parent: "tools"
weight: 01
weight: 01
sections_weight: 01
draft: false
aliases: [/tools/]
---
Hugo 最强大的在于它是活跃的——并总在发展的——开发者社区。除了在[语法高亮][syntax] 中提到的 `highlight` 简码外,该章节中的这些工具和其它项目特色都是由商业服务和开源项目提供,很多就是由像你一样的 Hugo 开发者开发的。
[查看 Hugo 的流行程度与其它静态网站生成器的比较。][staticgen]
[staticgen]: https://staticgen.com
[syntax]: /tools/syntax-highlighting/

View file

@ -0,0 +1,31 @@
---
title: 搜索你的 Hugo 网站
linktitle: 搜索
description: 为你最新添加的 Hugo 网站看一些开源和商业搜索选择。
date: 2018-05-29
publishdate: 2018-05-29
lastmod: 2018-05-29
categories: [developer tools]
keywords: [search,tools]
menu:
docs:
parent: "tools"
weight: 60
weight: 60
sections_weight: 60
draft: false
aliases: []
toc: true
---
静态网站还有动态搜索功能?是的。作为可选方案,来自 Google 或者其它搜索引擎的嵌入式脚本,可以给你的访客提供一个自定义的直接基于你的内容文件索引的搜素。
* [GitHub Gist for Hugo Workflow](https://gist.github.com/sebz/efddfc8fdcb6b480f567). Gist 包含一个为你的网站创建索引的简单流程。它使用简单的 Grunt 脚本索引你所有的内容文件,并且 [lunr.js](http://lunrjs.com/) 会提供搜索结果。
* [hugo-lunr](https://www.npmjs.com/package/hugo-lunr). 一个使用 [lunr.js](http://lunrjs.com/) 为你的 Hugo 静态网站添加搜索的简单方法。Hugo-lunr 将会给你的 Hugo 项目中任意 html 和 markdown 文件创建一个索引文件。
* [hugo-lunr-zh](https://www.npmjs.com/package/hugo-lunr-zh). 有点像 Hugo-lunr但是 Hugo-lunr-zh 能帮助你分割中文关键字。
* [Github Gist for Fuse.js integration](https://gist.github.com/eddiewebb/735feb48f50f0ddd65ae5606a1cb41ae). 该 gist 显示如何借助 Hugo 已有的构建时间在客户端通过 [Fuse.js](http://fusejs.io/) 生成可搜索的 JSON 索引。尽管 gist 使用 Fuse.js 进行模糊匹配,任何有能力读取 JSON 索引的客户端工具都可以运行。不需要 Hugo 以外, npm、grunt 或者其它构建时工具。
* [hugo-search-index](https://www.npmjs.com/package/hugo-search-index). 一个包含实现了搜索的 Gulp 任务和内置浏览器脚本的库。Gulp 从项目中的 markdown 文件生成索引。
## 商业搜索服务
* [Algolia](https://www.algolia.com/) 的搜索 API 使得在你的应用和网站中提供一个很好的搜索体验变得简单。Algolia 搜索提供托管的全文本、数字化、分面以及地理定位搜索。

View file

@ -1728,24 +1728,6 @@
"taskList": true
}
},
"blackFriday": {
"smartypants": true,
"smartypantsQuotesNBSP": false,
"angledQuotes": false,
"fractions": true,
"hrefTargetBlank": false,
"nofollowLinks": false,
"noreferrerLinks": false,
"smartDashes": true,
"latexDashes": true,
"taskLists": true,
"plainIDAnchors": true,
"extensions": null,
"extensionsMask": null,
"skipHTML": false,
"footnoteAnchorPrefix": "",
"footnoteReturnLinkContents": ""
},
"asciidocExt": {
"backend": "html5",
"extensions": [],
@ -2228,6 +2210,21 @@
"jsx"
]
},
{
"mainType": "text",
"subType": "markdown",
"delimiter": ".",
"firstSuffix": {
"suffix": "md",
"fullSuffix": ".md"
},
"type": "text/markdown",
"string": "text/markdown",
"suffixes": [
"md",
"markdown"
]
},
{
"mainType": "text",
"subType": "plain",
@ -2458,6 +2455,20 @@
"permalinkable": false,
"weight": 0
},
{
"mediaType": "text/markdown",
"name": "MARKDOWN",
"path": "",
"baseName": "index",
"rel": "alternate",
"protocol": "",
"isPlainText": true,
"isHTML": false,
"noUgly": false,
"notAlternative": false,
"permalinkable": false,
"weight": 0
},
{
"mediaType": "text/plain",
"name": "ROBOTS",
@ -3116,7 +3127,7 @@
"funcs": {
"cast": {
"ToFloat": {
"Description": "ToFloat converts the given value to a float.",
"Description": "ToFloat converts v to a float.",
"Args": [
"v"
],
@ -3131,7 +3142,7 @@
]
},
"ToInt": {
"Description": "ToInt converts the given value to an int.",
"Description": "ToInt converts v to an int.",
"Args": [
"v"
],
@ -3146,7 +3157,7 @@
]
},
"ToString": {
"Description": "ToString converts the given value to a string.",
"Description": "ToString converts v to a string.",
"Args": [
"v"
],
@ -3652,10 +3663,17 @@
},
"crypto": {
"FNV32a": {
"Description": "",
"Args": null,
"Description": "FNV32a hashes using fnv32a algorithm",
"Args": [
"in"
],
"Aliases": null,
"Examples": null
"Examples": [
[
"{{ crypto.FNV32a \"Hugo Rocks!!\" }}",
"1515779328"
]
]
},
"HMAC": {
"Description": "HMAC returns a cryptographic hash that uses a key to sign a message.",
@ -3828,10 +3846,10 @@
},
"fmt": {
"Errorf": {
"Description": "Errorf formats according to a format specifier and logs an ERROR.\nIt returns an empty string.",
"Description": "Errorf formats args according to a format specifier and logs an ERROR.\nIt returns an empty string.",
"Args": [
"format",
"a"
"args"
],
"Aliases": [
"errorf"
@ -3844,11 +3862,11 @@
]
},
"Erroridf": {
"Description": "Erroridf formats according to a format specifier and logs an ERROR and\nan information text that the error with the given ID can be suppressed in config.\nIt returns an empty string.",
"Description": "Erroridf formats args according to a format specifier and logs an ERROR and\nan information text that the error with the given ID can be suppressed in config.\nIt returns an empty string.",
"Args": [
"id",
"format",
"a"
"args"
],
"Aliases": [
"erroridf"
@ -3861,9 +3879,9 @@
]
},
"Print": {
"Description": "Print returns string representation of the passed arguments.",
"Description": "Print returns a string representation args.",
"Args": [
"a"
"args"
],
"Aliases": [
"print"
@ -3876,10 +3894,10 @@
]
},
"Printf": {
"Description": "Printf returns a formatted string representation of the passed arguments.",
"Description": "Printf returns a formatted string representation of args.",
"Args": [
"format",
"a"
"args"
],
"Aliases": [
"printf"
@ -3892,9 +3910,9 @@
]
},
"Println": {
"Description": "Println returns string representation of the passed arguments ending with a newline.",
"Description": "Println returns string representation of args ending with a newline.",
"Args": [
"a"
"args"
],
"Aliases": [
"println"
@ -3907,10 +3925,10 @@
]
},
"Warnf": {
"Description": "Warnf formats according to a format specifier and logs a WARNING.\nIt returns an empty string.",
"Description": "Warnf formats args according to a format specifier and logs a WARNING.\nIt returns an empty string.",
"Args": [
"format",
"a"
"args"
],
"Aliases": [
"warnf"
@ -4253,10 +4271,10 @@
},
"math": {
"Add": {
"Description": "Add adds two numbers.",
"Description": "Add adds the two addends n1 and n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"add"
@ -4269,9 +4287,9 @@
]
},
"Ceil": {
"Description": "Ceil returns the least integer value greater than or equal to x.",
"Description": "Ceil returns the least integer value greater than or equal to n.",
"Args": [
"x"
"n"
],
"Aliases": null,
"Examples": [
@ -4288,10 +4306,10 @@
"Examples": null
},
"Div": {
"Description": "Div divides two numbers.",
"Description": "Div divides n1 by n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"div"
@ -4304,9 +4322,9 @@
]
},
"Floor": {
"Description": "Floor returns the greatest integer value less than or equal to x.",
"Description": "Floor returns the greatest integer value less than or equal to n.",
"Args": [
"x"
"n"
],
"Aliases": null,
"Examples": [
@ -4317,9 +4335,9 @@
]
},
"Log": {
"Description": "Log returns the natural logarithm of a number.",
"Description": "Log returns the natural logarithm of the number n.",
"Args": [
"a"
"n"
],
"Aliases": null,
"Examples": [
@ -4330,10 +4348,10 @@
]
},
"Max": {
"Description": "Max returns the greater of two numbers.",
"Description": "Max returns the greater of the two numbers n1 or n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": null,
"Examples": [
@ -4344,10 +4362,10 @@
]
},
"Min": {
"Description": "Min returns the smaller of two numbers.",
"Description": "Min returns the smaller of two numbers n1 or n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": null,
"Examples": [
@ -4358,10 +4376,10 @@
]
},
"Mod": {
"Description": "Mod returns a % b.",
"Description": "Mod returns n1 % n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"mod"
@ -4374,10 +4392,10 @@
]
},
"ModBool": {
"Description": "ModBool returns the boolean of a % b. If a % b == 0, return true.",
"Description": "ModBool returns the boolean of n1 % n2. If n1 % n2 == 0, return true.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"modBool"
@ -4390,10 +4408,10 @@
]
},
"Mul": {
"Description": "Mul multiplies two numbers.",
"Description": "Mul multiplies the two numbers n1 and n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"mul"
@ -4406,10 +4424,10 @@
]
},
"Pow": {
"Description": "Pow returns a raised to the power of b.",
"Description": "Pow returns n1 raised to the power of n2.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"pow"
@ -4422,9 +4440,9 @@
]
},
"Round": {
"Description": "Round returns the nearest integer, rounding half away from zero.",
"Description": "Round returns the integer nearest to n, rounding half away from zero.",
"Args": [
"x"
"n"
],
"Aliases": null,
"Examples": [
@ -4435,9 +4453,9 @@
]
},
"Sqrt": {
"Description": "Sqrt returns the square root of a number.",
"Description": "Sqrt returns the square root of the number n.",
"Args": [
"a"
"n"
],
"Aliases": null,
"Examples": [
@ -4448,10 +4466,10 @@
]
},
"Sub": {
"Description": "Sub subtracts two numbers.",
"Description": "Sub subtracts n2 from n1.",
"Args": [
"a",
"b"
"n1",
"n2"
],
"Aliases": [
"sub"
@ -4690,6 +4708,12 @@
"Aliases": null,
"Examples": null
},
"Copy": {
"Description": "",
"Args": null,
"Aliases": null,
"Examples": null
},
"ExecuteAsTemplate": {
"Description": "",
"Args": null,
@ -4779,9 +4803,9 @@
},
"safe": {
"CSS": {
"Description": "CSS returns a given string as html/template CSS content.",
"Description": "CSS returns the string s as html/template CSS content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeCSS"
@ -4794,9 +4818,9 @@
]
},
"HTML": {
"Description": "HTML returns a given string as html/template HTML content.",
"Description": "HTML returns the string s as html/template HTML content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeHTML"
@ -4813,9 +4837,9 @@
]
},
"HTMLAttr": {
"Description": "HTMLAttr returns a given string as html/template HTMLAttr content.",
"Description": "HTMLAttr returns the string s as html/template HTMLAttr content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeHTMLAttr"
@ -4825,7 +4849,7 @@
"JS": {
"Description": "JS returns the given string as a html/template JS content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeJS"
@ -4840,7 +4864,7 @@
"JSStr": {
"Description": "JSStr returns the given string as a html/template JSStr content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeJSStr"
@ -4848,9 +4872,9 @@
"Examples": []
},
"SanitizeURL": {
"Description": "SanitizeURL returns a given string as html/template URL content.",
"Description": "SanitizeURL returns the string s as html/template URL content.",
"Args": [
"a"
"s"
],
"Aliases": [
"sanitizeURL",
@ -4859,9 +4883,9 @@
"Examples": []
},
"URL": {
"Description": "URL returns a given string as html/template URL content.",
"Description": "URL returns the string s as html/template URL content.",
"Args": [
"a"
"s"
],
"Aliases": [
"safeURL"
@ -5076,7 +5100,7 @@
]
},
"FirstUpper": {
"Description": "FirstUpper returns a string with the first character as upper case.",
"Description": "FirstUpper converts s making the first character upper case.",
"Args": [
"s"
],
@ -5115,7 +5139,7 @@
"Examples": null
},
"Repeat": {
"Description": "Repeat returns a new string consisting of count copies of the string s.",
"Description": "Repeat returns a new string consisting of n copies of the string s.",
"Args": [
"n",
"s"
@ -5281,7 +5305,7 @@
]
},
"Trim": {
"Description": "Trim returns a string with all leading and trailing characters defined\ncontained in cutset removed.",
"Description": "Trim returns converts the strings s removing all leading and trailing characters defined\ncontained.",
"Args": [
"s",
"cutset"
@ -5432,7 +5456,7 @@
]
},
"Format": {
"Description": "Format converts the textual representation of the datetime string into\nthe other form or returns it of the time.Time value. These are formatted\nwith the layout string",
"Description": "Format converts the textual representation of the datetime string in v into\ntime.Time if needed and formats it with the given layout.",
"Args": [
"layout",
"v"
@ -5448,7 +5472,7 @@
]
},
"Now": {
"Description": "Now returns the current local time.",
"Description": "Now returns the current local time or `clock` time",
"Args": null,
"Aliases": [
"now"
@ -5456,9 +5480,9 @@
"Examples": []
},
"ParseDuration": {
"Description": "ParseDuration parses a duration string.\nA duration string is a possibly signed sequence of\ndecimal numbers, each with optional fraction and a unit suffix,\nsuch as \"300ms\", \"-1.5h\" or \"2h45m\".\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\nSee https://golang.org/pkg/time/#ParseDuration",
"Description": "ParseDuration parses the duration string s.\nA duration string is a possibly signed sequence of\ndecimal numbers, each with optional fraction and a unit suffix,\nsuch as \"300ms\", \"-1.5h\" or \"2h45m\".\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\nSee https://golang.org/pkg/time/#ParseDuration",
"Args": [
"in"
"s"
],
"Aliases": null,
"Examples": [
@ -5515,7 +5539,7 @@
]
},
"HTMLUnescape": {
"Description": "HTMLUnescape returns a copy of with HTML escape requences converted to plain\ntext.",
"Description": "HTMLUnescape returns a copy of s with HTML escape requences converted to plain\ntext.",
"Args": [
"s"
],
@ -5560,7 +5584,7 @@
"Examples": null
},
"Markdownify": {
"Description": "Markdownify renders a given input from Markdown to HTML.",
"Description": "Markdownify renders s from Markdown to HTML.",
"Args": [
"s"
],
@ -5625,9 +5649,9 @@
},
"urls": {
"AbsLangURL": {
"Description": "AbsLangURL takes a given string and converts it to an absolute URL according\nto a page's position in the project directory structure and the current\nlanguage.",
"Description": "AbsLangURL the string s and converts it to an absolute URL according\nto a page's position in the project directory structure and the current\nlanguage.",
"Args": [
"a"
"s"
],
"Aliases": [
"absLangURL"
@ -5635,9 +5659,9 @@
"Examples": []
},
"AbsURL": {
"Description": "AbsURL takes a given string and converts it to an absolute URL.",
"Description": "AbsURL takes the string s and converts it to an absolute URL.",
"Args": [
"a"
"s"
],
"Aliases": [
"absURL"
@ -5645,9 +5669,9 @@
"Examples": []
},
"Anchorize": {
"Description": "Anchorize creates sanitized anchor names that are compatible with Blackfriday.",
"Description": "Anchorize creates sanitized anchor name version of the string s that is compatible\nwith how your configured markdown renderer does it.",
"Args": [
"a"
"s"
],
"Aliases": [
"anchorize"
@ -5666,9 +5690,9 @@
"Examples": null
},
"Ref": {
"Description": "Ref returns the absolute URL path to a given content item.",
"Description": "Ref returns the absolute URL path to a given content item from Page p.",
"Args": [
"in",
"p",
"args"
],
"Aliases": [
@ -5677,9 +5701,9 @@
"Examples": []
},
"RelLangURL": {
"Description": "RelLangURL takes a given string and prepends the relative path according to a\npage's position in the project directory structure and the current language.",
"Description": "RelLangURL takes the string s and prepends the relative path according to a\npage's position in the project directory structure and the current language.",
"Args": [
"a"
"s"
],
"Aliases": [
"relLangURL"
@ -5687,9 +5711,9 @@
"Examples": []
},
"RelRef": {
"Description": "RelRef returns the relative URL path to a given content item.",
"Description": "RelRef returns the relative URL path to a given content item from Page p.",
"Args": [
"in",
"p",
"args"
],
"Aliases": [
@ -5698,9 +5722,9 @@
"Examples": []
},
"RelURL": {
"Description": "RelURL takes a given string and prepends the relative path according to a\npage's position in the project directory structure.",
"Description": "RelURL takes the string s and prepends the relative path according to a\npage's position in the project directory structure.",
"Args": [
"a"
"s"
],
"Aliases": [
"relURL"
@ -5708,9 +5732,9 @@
"Examples": []
},
"URLize": {
"Description": "URLize returns the given argument formatted as URL.",
"Description": "URLize returns the the strings s formatted as an URL.",
"Args": [
"a"
"s"
],
"Aliases": [
"urlize"

View file

@ -3,7 +3,7 @@ publish = "public"
command = "hugo --gc --minify"
[context.production.environment]
HUGO_VERSION = "0.99.1"
HUGO_VERSION = "0.100.2"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
@ -11,20 +11,20 @@ HUGO_ENABLEGITINFO = "true"
command = "hugo --gc --minify --enableGitInfo"
[context.split1.environment]
HUGO_VERSION = "0.99.1"
HUGO_VERSION = "0.100.2"
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.deploy-preview.environment]
HUGO_VERSION = "0.99.1"
HUGO_VERSION = "0.100.2"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
[context.branch-deploy.environment]
HUGO_VERSION = "0.99.1"
HUGO_VERSION = "0.100.2"
[context.next.environment]
HUGO_ENABLEGITINFO = "true"