Change:
This is a Bug Report <!-- Thanks for filing an issue! Before submitting, please fill in the following information. --<!-- See for guidance on writing an actionable issue description. --<!--Required Information--Problem: This works: and this too: but: renders incorrectly; the output is similar to the following HTML (escaped when it should not be): Proposed Solution: I'm not sure what needs to change here. I'd like to be able to use short glossary definitions with prepending. <!--Optional Information (remove the comment tags around information you would like to include)--<!--Kubernetes Version:--<!--Additional Information:--
/kind bug
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/remove-lifecycle stale

Discussion:
## Glossary <ins> There are two glossary tooltips. </ins> You can reference glossary terms with an inclusion that automatically updates and replaces content with the relevant links from [our glossary](/docs/reference/glossary/). When the term is moused-over by someone using the online documentation, the glossary entry displays a tooltip. <ins> As well as inclusions with tooltips, you can reuse the definitions from the glossary in page content. </ins> The raw data for glossary terms is stored at [https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary](https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary), with a content file for each glossary term. <del> ### Glossary Demo </del> <ins> ### Glossary demo </ins> For example, the following include within the markdown renders to {{< glossary_tooltip text="cluster" term_id="cluster" >}} with a tooltip: <del> ```liquid </del> <ins> ``` </ins> {{</* glossary_tooltip text="cluster" term_id="cluster" */>}} ``` <ins> Here's a short glossary definition: ``` {{</* glossary_definition prepend="A cluster is" term_id="cluster" length="short" */>}} ``` which renders as: {{< glossary_definition prepend="A cluster is" term_id="cluster" length="short" >}} You can also include a full definition: ``` {{</* glossary_definition term_id="cluster" length="all" */>}} ``` which renders as: {{< glossary_definition term_id="cluster" length="all" >}} </ins> ## Table captions You can make tables more accessible to screen readers by adding a table caption. To add a [caption](https://www.w3schools.com/tags/tag_caption.asp) to a table, enclose the table with a `table` shortcode and specify the caption with the `caption` parameter.

{{- $id := .Get "term_id" -}} {{- $length := .Get "length" -}} <del> {{- $prepend := .Get "prepend" }} </del> <ins> {{- $prepend := .Get "prepend" -}} </ins> {{- $glossaryBundle := site.GetPage "page" "docs/reference/glossary" -}} {{- $glossaryItems :=  $glossaryBundle.Resources.ByType "page" -}} {{- $term_info := $glossaryItems.GetMatch (printf "%s.md" $id ) -}} <ins> {{- $showFullDefinition := false -}} </ins> {{- if not $term_info -}} <del> {{- errorf "[%s] %q: %q is not a valid glossary term_id, see ./docs/reference/glossary/* for a full list" site.Language.Lang .Page.Path $id -}} {{- end -}} {{- with $term_info -}} {{- if (strings.Contains "short" $length) -}} {{- with .Summary -}} {{- if $prepend }}{{- replace . "<p>" (printf "<P>%s %s" $prepend .) -}}{{ else }}{{- . -}}{{ end -}} {{- else -}} {{- partial "templates/errorthrower.html" (dict "block" "summary" "purpose" .purpose "describes the key term in greater depth, supplementing the short_description") . -}} {{- end -}} {{- end -}} {{- if (strings.Contains "all|long" $length) -}} {{- with .Content -}} {{- if $prepend }} {{- $firstPara := index (findRE "(?s)<p>.*?</p>" . 1) 0 -}} {{- $firstPara := $firstPara | strings.TrimSuffix "</p>" | strings.TrimPrefix "<p>" -}} {{- $first := slicestr $firstPara 0 1 | lower }} {{- $prepended := printf "<p>%s %s%s</p>"  $prepend $first (slicestr $firstPara 1) -}} {{- replace . $firstPara $prepended | safeHTML -}}{{ else }}{{- . -}}{{ end -}} </del> <ins> {{- errorf "[%s] %q: %q is not a valid glossary term_id, see ./docs/reference/glossary/* for a full list" site.Language.Lang .Page.Path $id -}} </ins> {{- end -}} <ins> {{- if or (eq "long" $length) (eq "all" $length) -}} {{- $showFullDefinition = true -}} {{- else if (eq "short" $length) -}} {{- $showFullDefinition = false -}} {{- else -}} {{- errorf "[%s] %q: invalid glossary definition length %q" site.Language.Lang .Page.Path $length -}} </ins> {{- end -}} <ins> {{- with $term_info.Content -}} {{- if not $showFullDefinition -}} {{- $firstPara := index (findRE "(?s)<p>.*?</p>" . 1) 0 -}} {{- $firstPara := $firstPara | strings.TrimSuffix "</p>" | strings.TrimPrefix "<p>" -}} {{- $first := slicestr $firstPara 0 1 | lower -}} {{- if $prepend -}} {{- $prepended := printf "<p>%s %s%s</p>"  $prepend $first (slicestr $firstPara 1) -}} {{- $prepended | safeHTML -}} {{- else -}} {{- $firstPara | safeHTML -}} {{- end -}} {{- else -}} {{- if $prepend -}} {{- $firstPara := index (findRE "(?s)<p>.*?</p>" . 1) 0 -}} {{- $firstPara := $firstPara | strings.TrimSuffix "</p>" | strings.TrimPrefix "<p>" -}} {{- $first := slicestr $firstPara 0 1 | lower -}} {{- $prepended := printf "<p>%s %s%s</p>"  $prepend $first (slicestr $firstPara 1) -}} {{- replace . $firstPara $prepended | safeHTML -}} {{- else -}} {{- . -}} {{- end -}} {{- end -}} </ins> {{- end -}}