From 1ac09764691f1fe5e60b51e6aff6f6d153c5a664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 21 Mar 2016 11:10:57 +0100 Subject: [PATCH] Add Scratch to shortcode Fixes #2000 --- content/extras/scratch.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/extras/scratch.md b/content/extras/scratch.md index dce53574b..0b93747ec 100644 --- a/content/extras/scratch.md +++ b/content/extras/scratch.md @@ -14,8 +14,7 @@ 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 following methods: +`Scratch` is added to both `Node` and `Page` and `Shortcode` -- with following methods: * `Set` and `Add` takes a `key` and the `value` to add. * `Get` returns the `value` for the `key` given. * `SetInMap` takes a `key`, `mapKey` and `value` @@ -25,7 +24,9 @@ weight: 80 For single values, `Add` accepts values that support Go's `+` operator. If the first `Add` for a key is an array or slice, the follwing adds will be appended to that list. -The scope of the backing data is global for the given `Node` or `Page`, and spans partial and shortcode includes. +The scope of the backing data is global for the given `Node`, `Page` or `Shortcode`, and spans partial and shortcode includes. + +Note that `.Scratch` from a shortcode will return the shortcode's `Scratch`, which in most casses is what you want. If you want to store it in the page scroped Scratch, then use `.Page.Scratch`. ## Sample usage