mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Add doc for Scratch
This commit is contained in:
parent
420c9e4d3d
commit
f264076f66
4 changed files with 48 additions and 1 deletions
|
@ -5,7 +5,7 @@ date: 2014-01-01
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
parent: extras
|
parent: extras
|
||||||
next: /extras/highlighting
|
next: /extras/scratch
|
||||||
prev: /extras/shortcodes
|
prev: /extras/shortcodes
|
||||||
title: Pagination
|
title: Pagination
|
||||||
weight: 80
|
weight: 80
|
||||||
|
|
42
docs/content/extras/scratch.md
Normal file
42
docs/content/extras/scratch.md
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- /doc/scratch/
|
||||||
|
date: 2015-01-22
|
||||||
|
menu:
|
||||||
|
main:
|
||||||
|
parent: extras
|
||||||
|
next: /extras/highlighting
|
||||||
|
prev: /extras/pagination
|
||||||
|
title: Scratch
|
||||||
|
weight: 80
|
||||||
|
---
|
||||||
|
|
||||||
|
`Scratch` -- a "scratchpad" for your node- or page-scoped variables. In most cases you can do well without `Scratch`, but there are some use cases that aren't solvable with Go's templates without `Scratch`'s help, due to scoping issues.
|
||||||
|
|
||||||
|
|
||||||
|
`Scratch` is added to both `Node` and `Page` -- with the three methods `Set`, `Get` and `Add`. `Set` and `Add` takes a `key` and the `value` to add. Get returns the `value` for the `key` given.
|
||||||
|
|
||||||
|
`Set` can store values of any type. `Add` accepts values that support Go's `+` operator.
|
||||||
|
|
||||||
|
The scope of the backing data is global for the given `Node` or `Page`, and spans partial and shortcode includes.
|
||||||
|
|
||||||
|
## Sample usage
|
||||||
|
|
||||||
|
The usage is best illustrated with some samples:
|
||||||
|
|
||||||
|
```
|
||||||
|
{{ .Scratch.Add "a1" 12 }}
|
||||||
|
{{ .Scratch.Get "a1" }} {{/* => 12 */}}
|
||||||
|
{{ .Scratch.Add "a1" 1 }}
|
||||||
|
{{ .Scratch.Get "a1" }} // {{/* => 13 */}}
|
||||||
|
|
||||||
|
{{ .Scratch.Add "a2" "AB" }}
|
||||||
|
{{ .Scratch.Get "a2" }} {{/* => AB */}}
|
||||||
|
{{ .Scratch.Add "a2" "CD" }}
|
||||||
|
{{ .Scratch.Get "a2" }} {{/* => ABCD */}}
|
||||||
|
|
||||||
|
{{ .Scratch.Set "v1" 123 }}
|
||||||
|
{{ .Scratch.Get "v1" }} {{/* => 123 */}}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ A lot has happened since Hugo v0.12.0 was released.
|
||||||
* `GroupByParamDate(key, format, order)`
|
* `GroupByParamDate(key, format, order)`
|
||||||
* The [shortcode](/extras/shortcodes/) handling is rewritten for speed and better error messages. Noticeable functional change is the distinction between `{{</* */>}}` (typically raw HTML) and `{{%/* */%}}` (Markdown)
|
* The [shortcode](/extras/shortcodes/) handling is rewritten for speed and better error messages. Noticeable functional change is the distinction between `{{</* */>}}` (typically raw HTML) and `{{%/* */%}}` (Markdown)
|
||||||
* Support for [cross-references](/extras/crossreferences/)
|
* Support for [cross-references](/extras/crossreferences/)
|
||||||
|
* `Scratch` -- [a "scratchpad"](/extras/scratch) for your node- and page-scoped variables
|
||||||
* A new, generic Next/Prev functionality is added to all lists of pages (sections, taxonomies, etc.)
|
* A new, generic Next/Prev functionality is added to all lists of pages (sections, taxonomies, etc.)
|
||||||
* Add in-section [Next/Prev](/templates/variables/) content pointers
|
* Add in-section [Next/Prev](/templates/variables/) content pointers
|
||||||
* Several [configurable improvements related to Markdown rendering](/overview/configuration/#configure-blackfriday-rendering:a66b35d20295cb764719ac8bd35837ec):
|
* Several [configurable improvements related to Markdown rendering](/overview/configuration/#configure-blackfriday-rendering:a66b35d20295cb764719ac8bd35837ec):
|
||||||
|
|
|
@ -22,6 +22,8 @@ The following is a list of most of the accessible variables which can be
|
||||||
defined for a piece of content. Many of these will be defined in the front
|
defined for a piece of content. Many of these will be defined in the front
|
||||||
matter, content or derived from file location.
|
matter, content or derived from file location.
|
||||||
|
|
||||||
|
**See also:** [Scratch](/extras/scratch) for page-scoped writable variables.
|
||||||
|
|
||||||
**.Title** The title for the content.<br>
|
**.Title** The title for the content.<br>
|
||||||
**.Content** The content itself, defined below the front matter.<br>
|
**.Content** The content itself, defined below the front matter.<br>
|
||||||
**.Summary** A generated summary of the content for easily showing a snippet in a summary view. Note that the breakpoint can be set manually by inserting <code><!--more--></code> at the appropriate place in the content page. See [Summaries](/content/summaries/) for more details.<br>
|
**.Summary** A generated summary of the content for easily showing a snippet in a summary view. Note that the breakpoint can be set manually by inserting <code><!--more--></code> at the appropriate place in the content page. See [Summaries](/content/summaries/) for more details.<br>
|
||||||
|
@ -65,6 +67,8 @@ Take for example I'm using *tags* and *categories* as my taxonomies. The followi
|
||||||
In Hugo, a node is any page not rendered directly by a content file. This
|
In Hugo, a node is any page not rendered directly by a content file. This
|
||||||
includes taxonomies, lists and the homepage.
|
includes taxonomies, lists and the homepage.
|
||||||
|
|
||||||
|
**See also:** [Scratch](/extras/scratch) for global node variables.
|
||||||
|
|
||||||
**.Title** The title for the content.<br>
|
**.Title** The title for the content.<br>
|
||||||
**.Date** The date the content is published on.<br>
|
**.Date** The date the content is published on.<br>
|
||||||
**.Permalink** The Permanent link for this node<br>
|
**.Permalink** The Permanent link for this node<br>
|
||||||
|
|
Loading…
Reference in a new issue