hugo/docs/content/en/render-hooks/tables.md
2024-09-04 18:57:34 +02:00

2.6 KiB
Executable file

title linkTitle description categories keywords menu weight toc
Table render hooks Tables Create a table render hook to override the rendering of Markdown tables to HTML.
render hooks
docs
parent weight
render-hooks 90
90 true

{{< new-in 0.134.0 >}}

Context

Table render hook templates receive the following context:

Attributes

(map) The Markdown attributes, available if you configure your site as follows:

{{< code-toggle file=hugo >}} [markup.goldmark.parser.attribute] block = true {{< /code-toggle >}}

Ordinal

(int) The zero-based ordinal of the table on the page.

Page

(page) A reference to the current page.

PageInner

(page) A reference to a page nested via the RenderShortcodes method. See details.

Position

(string) The position of the table within the page content.

THead

(slice) A slice of table header rows, where each element is a slice of table cells.

TBody

(slice) A slice of table body rows, where each element is a slice of table cells.

Table cells

Each table cell within the slice of slices returned by the THead and TBody methods has the following fields:

Alignment

(string) The alignment of the text within the table cell, one of left, center, or right.

Text

(template.HTML) The text within the table cell.

Example

In its default configuration, Hugo renders Markdown tables according to the GitHub Flavored Markdown specification. To create a render hook that does the same thing:

{{< code file=layouts/_default/_markup/render-table.html copy=true >}}

{{- range .THead }} {{- range . }} {{- end }} {{- end }} {{- range .TBody }} {{- range . }} {{- end }} {{- end }}
{{- .Text -}}
{{- .Text -}}
{{< /code >}}

{{% include "/render-hooks/_common/pageinner.md" %}}