This page exists for one job. You have a helper name — from a template you inherited, a build log line, or a half-memory — and you want the page that documents it. Find the name, follow the link.
Everything here assumes the mechanics set out in How Helpers Work: the trailing options object, when {{ }} is not enough, and what the context has to carry. Before you use any of these in anger, the cross-cutting failure modes — which ones throw and stop the build, which return nothing silently, and which need triple braces — are collected once on Helper Gotchas and Failures.
All helpers, A to Z
Form is the call shape the helper’s body expects — see Inline, block and subexpression. A row marked (internal) is system plumbing that Leed’s own shipped templates call; it is documented so that reading those templates makes sense, not because you are expected to reach for it. A † marks a deprecated helper.
| Helper | Form | Does | Documented on |
|---|---|---|---|
absoluteImageUrl | inline | Swaps in a size variant and makes the URL absolute | Image and Media |
AnnouncementSeries | block | Iterates the announcement-series pages carrying a label | Collection, Lookup and Series |
Authors | block | Iterates the page’s authors | Collection, Lookup and Series |
breadcrumbsNav | inline | Renders the breadcrumb trail from the left docs menu | Documentation Navigation |
buildUrl | inline | Appends a query string, choosing ? or & | URL and Link |
collection | subexpression | Fetches a named Eleventy collection | Collection, Lookup and Series |
concat | inline | Joins its string arguments | Utility |
CTA | inline | † Emits a hidden call-to-action target marker | Form and CTA |
date | block | Formats the date its block body produces | Date and Content |
docsColorTheme | inline | Returns the documentation color theme name | Documentation Navigation |
docsLayoutName | inline | Returns the documentation layout name | Documentation Navigation |
docsLayoutTemplate | inline | Returns the layout’s base partial path (internal) | Documentation Navigation |
docsMenuName | inline | Returns a documentation menu’s name key | Documentation Navigation |
FeatureImage | block | Renders the page’s feature image as an <img> | Image and Media |
FeatureVideo | block or inline | Embeds the page’s feature video | Image and Media |
fieldId | inline | Builds a form field’s id for a <label for> | Form and CTA |
filterObject | subexpression | Filters a keyed map by a field path | Collection, Lookup and Series |
firstTruthy | block | Renders its block with the first truthy argument | Utility |
formatSecurityName | inline | Title-cases OpenAPI security scheme names (internal) | Utility |
fullName | inline | Joins an author’s first and last name | Collection, Lookup and Series |
hasFeature | subexpression | Is a named feature included in this plan? | Tier Gating |
hasTier | subexpression | Does this plan meet a minimum tier? | Tier Gating |
hrefIsRenderable | subexpression | Will this href resolve to a page that rendered? | Menu-Safety |
IfAnnouncementSeries | block | Renders its block when the label is an announcement series | Collection, Lookup and Series |
IfMultipartSeries | block | Renders its block when the label is a multipart series | Collection, Lookup and Series |
Image | block | Renders an <img> from a URL at a chosen variant | Image and Media |
ImageTag | block or inline | Renders an <img> from an image-reference object | Image and Media |
imageUrl | inline | Swaps a size variant into an image URL | Image and Media |
JSON-LD | inline | Emits the page’s structured-data script | Date and Content |
JSONsafe | inline | Emits a value as a quoted JSON string literal | Utility |
label | block or inline | Looks up a label by id | Collection, Lookup and Series |
Labels | block | Iterates the page’s labels | Collection, Lookup and Series |
latestDate | inline | Finds the latest date value in a collection | Date and Content |
leedConfiguredCSS | inline | Builds the documentation theme class string (internal) | Documentation Navigation |
logger | inline | Prints values to the build console; emits nothing | Utility |
menuItemShouldRender | subexpression | Should this menu item appear at all? | Menu-Safety |
MultipartSeries | block | Iterates the multipart-series pages carrying a label | Collection, Lookup and Series |
nextPageNav | inline | Renders the link to the next documentation page | Documentation Navigation |
pageIdExists | subexpression | Did a page with this id render in this build? | Menu-Safety |
pagesUrl | inline | Returns the workers preview host (internal) | URL and Link |
pageType | block or inline | Looks up a page type by id | Collection, Lookup and Series |
pageTypeSlug | inline | Returns a page type’s slugified name (internal) | Collection, Lookup and Series |
PaginationLinks | block | Iterates every page in a paginated set | Pagination |
PaginationRange | block | Exposes range start, end and total for a list | Pagination |
previousPageNav | inline | Renders the link to the previous documentation page | Documentation Navigation |
process | inline | Renders CMS content: autolinks and expands partials | Date and Content |
readingTime | inline | Returns whole minutes to read the page | Collection, Lookup and Series |
Recommendations | inline | † Emits a hidden recommendations target marker | Form and CTA |
resolveRedirectIndex | inline | Builds a page type’s index redirect rules (internal) | URL and Link |
searchDocumentHash | inline | Returns the build’s search document hash (internal) | Utility |
searchIndexHash | inline | Returns the build’s search index hash (internal) | Utility |
Series | block | Iterates every page in a series, whatever its type | Collection, Lookup and Series |
siteUrl | inline | Returns the site’s origin, with no trailing slash | URL and Link |
SmartPaginationLinks | inline | Renders windowed numbered links with ellipses | Pagination |
sorted | subexpression | Returns a sorted copy of a list | Collection, Lookup and Series |
staticImage | block | Renders an <img> for a file shipped in your repository | Image and Media |
stripTags | inline | Removes tags and neutralises & and = | Utility |
svgDiagram | inline | Inlines an SVG partial inside a themed wrapper | Image and Media |
templateExists | subexpression | Does this file exist in _includes? | Utility |
toc | inline | Builds an on-this-page list from id-bearing headings | Documentation Navigation |
turnstileKey | inline | Returns the Turnstile public key for this environment | Form and CTA |
url | inline | Returns this page’s URL, absolute unless you ask otherwise | URL and Link |
useCustomTemplate | subexpression | Did the build detect an override file for this slot? | Utility |
user | block or inline | Looks up a user by id | Collection, Lookup and Series |
wrapSubstring | inline | Wraps every occurrence of a substring in a span | Utility |
toc is the one row here that is not Leed’s code. It comes from eleventy-plugin-toc, and it is an Eleventy filter rather than a shortcode — but filters and shortcodes are both handed to Handlebars as helpers, so at the call site there is nothing to tell them apart.
† Deprecated. CTA and Recommendations still work and still emit their marker, but the supported approach is now a data-leed-cta or data-leed-recommendations attribute on the target element itself. Form and CTA Helpers has the replacement.
By job
When you know what you want to do but not what it is called, start here instead.
| Page | Helpers it covers | Count |
|---|---|---|
| URL and Link Helpers | url, siteUrl, pagesUrl, buildUrl, resolveRedirectIndex | 5 |
| Image and Media Helpers | Image, FeatureImage, ImageTag, staticImage, svgDiagram, FeatureVideo, imageUrl, absoluteImageUrl | 8 |
| Collection, Lookup and Series Helpers | pageType, user, label, Authors, Labels, Series, MultipartSeries, AnnouncementSeries, IfMultipartSeries, IfAnnouncementSeries, collection, filterObject, sorted, pageTypeSlug, readingTime, fullName | 16 |
| Menu-Safety Helpers | hrefIsRenderable, menuItemShouldRender, pageIdExists | 3 |
| Pagination Helpers | PaginationLinks, SmartPaginationLinks, PaginationRange | 3 |
| Documentation Navigation Helpers | docsLayoutName, docsColorTheme, docsLayoutTemplate, docsMenuName, previousPageNav, nextPageNav, breadcrumbsNav, leedConfiguredCSS | 8 |
| Date and Content Helpers | date, latestDate, process, JSON-LD | 4 |
| Form and CTA Helpers | fieldId, turnstileKey, CTA, Recommendations | 4 |
| Tier Gating in Templates | hasTier, hasFeature | 2 |
| Utility Helpers | useCustomTemplate, templateExists, concat, JSONsafe, stripTags, firstTruthy, wrapSubstring, logger, searchDocumentHash, searchIndexHash, formatSecurityName | 11 |
| 64 |
The count column is the coverage claim for this whole reference: every helper Leed registers is documented on exactly one of those ten pages, and the ten add up to 64. toc is not in the total because it is not Leed’s, and it is documented alongside the other documentation-navigation helpers because that is the only place it is used.
Not helpers
Four things people look for on this page and will not find here.
Partials. leed/form, leed/head, leed/components/pagination and the rest are includes, written with {{> leed/… }} rather than a helper call. They take named arguments, not positional ones, and they render a whole component rather than returning a value. Their catalog is the Leed Partial Index.
The CMS Shortcodes feature. Branded /s/ short links with UTM parameters and click tracking. Unrelated to anything on this page, and documented at Short Links and Attribution. The name collision is unfortunate and real: Leed’s source calls template helpers “shortcodes” too.
The string category of handlebars-helpers. uppercase, lowercase, titleize, truncate, replace, split, trim and 29 others are not registered in a Leed build, because that category collides with the array helpers on reverse. A template calling one renders an empty string rather than failing. The full list of 36, and the four stand-ins Leed provides instead, are on How Helpers Work.
addAnchorReason. Removed from the product. Recommendation and CTA links now carry their attribution through a build-time data-reason convention instead. If you find it in an old template, delete the call.