mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-20 10:53:06 +00:00
parent
6f069e549b
commit
1021714449
3 changed files with 8 additions and 2 deletions
|
@ -20,6 +20,9 @@ toc: false
|
||||||
|
|
||||||
[Shortcodes][shortcodes] have access to parameters delimited in the shortcode declaration via [`.Get`][getfunction], page- and site-level variables, and also the following shortcode-specific fields:
|
[Shortcodes][shortcodes] have access to parameters delimited in the shortcode declaration via [`.Get`][getfunction], page- and site-level variables, and also the following shortcode-specific fields:
|
||||||
|
|
||||||
|
.Name
|
||||||
|
: Shortcode name.
|
||||||
|
|
||||||
.Ordinal
|
.Ordinal
|
||||||
: Zero-based ordinal in relation to its parent. If the parent is the page itself, this ordinal will represent the position of this shortcode in the page content.
|
: Zero-based ordinal in relation to its parent. If the parent is the page itself, this ordinal will represent the position of this shortcode in the page content.
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,7 @@ type ShortcodeWithPage struct {
|
||||||
Inner template.HTML
|
Inner template.HTML
|
||||||
Page *PageWithoutContent
|
Page *PageWithoutContent
|
||||||
Parent *ShortcodeWithPage
|
Parent *ShortcodeWithPage
|
||||||
|
Name string
|
||||||
IsNamedParams bool
|
IsNamedParams bool
|
||||||
|
|
||||||
// Zero-based ordinal in relation to its parent. If the parent is the page itself,
|
// Zero-based ordinal in relation to its parent. If the parent is the page itself,
|
||||||
|
@ -401,7 +402,7 @@ func renderShortcode(
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
|
|
||||||
data := &ShortcodeWithPage{Ordinal: sc.ordinal, posOffset: sc.pos, Params: sc.params, Page: p, Parent: parent}
|
data := &ShortcodeWithPage{Ordinal: sc.ordinal, posOffset: sc.pos, Params: sc.params, Page: p, Parent: parent, Name: sc.name}
|
||||||
if sc.params != nil {
|
if sc.params != nil {
|
||||||
data.IsNamedParams = reflect.TypeOf(sc.params).Kind() == reflect.Map
|
data.IsNamedParams = reflect.TypeOf(sc.params).Kind() == reflect.Map
|
||||||
}
|
}
|
||||||
|
|
|
@ -1027,7 +1027,7 @@ ordinal: 4 scratch ordinal: 5 scratch get ordinal: 4`)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestShortcodePosition(t *testing.T) {
|
func TestShortcodeVariables(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
assert := require.New(t)
|
assert := require.New(t)
|
||||||
|
|
||||||
|
@ -1042,6 +1042,7 @@ title: "Hugo Rocks!"
|
||||||
{{< s1 >}}
|
{{< s1 >}}
|
||||||
|
|
||||||
`).WithTemplatesAdded("layouts/shortcodes/s1.html", `
|
`).WithTemplatesAdded("layouts/shortcodes/s1.html", `
|
||||||
|
Name: {{ .Name }}
|
||||||
{{ with .Position }}
|
{{ with .Position }}
|
||||||
File: {{ .Filename }}
|
File: {{ .Filename }}
|
||||||
Offset: {{ .Offset }}
|
Offset: {{ .Offset }}
|
||||||
|
@ -1059,6 +1060,7 @@ String: {{ . | safeHTML }}
|
||||||
filepath.FromSlash("File: content/page.md"),
|
filepath.FromSlash("File: content/page.md"),
|
||||||
"Line: 7", "Column: 4", "Offset: 40",
|
"Line: 7", "Column: 4", "Offset: 40",
|
||||||
filepath.FromSlash("String: \"content/page.md:7:4\""),
|
filepath.FromSlash("String: \"content/page.md:7:4\""),
|
||||||
|
"Name: s1",
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue