1
0
Fork 0
hugo/docs/content/en/methods/shortcode/Parent.md

1.3 KiB

title description categories keywords params
Parent Returns the parent shortcode context in nested shortcodes.
functions_and_methods
returnType signatures
hugolib.ShortcodeWithPage
SHORTCODE.Parent

This is useful for inheritance of common shortcode arguments from the root.

In this contrived example, the "greeting" shortcode is the parent, and the "now" shortcode is child.

{{</* greeting dateFormat="Jan 2, 2006" */>}}
Welcome. Today is {{</* now */>}}.
{{</* /greeting */>}}
<div class="greeting">
  {{ .Inner | strings.TrimSpace | .Page.RenderString }}
</div>
{{- $dateFormat := "January 2, 2006 15:04:05" }}

{{- with .Params }}
  {{- with .dateFormat }}
    {{- $dateFormat = . }}
  {{- end }}
{{- else }}
  {{- with .Parent.Params }}
    {{- with .dateFormat }}
      {{- $dateFormat = . }}
    {{- end }}
  {{- end }}
{{- end }}

{{- now | time.Format $dateFormat -}}

The "now" shortcode formats the current time using:

  1. The dateFormat argument passed to the "now" shortcode, if present
  2. The dateFormat argument passed to the "greeting" shortcode, if present
  3. The default layout string defined at the top of the shortcode