Shortcodes
Shortcodes
This is the human-readable shortcode reference for authors and agents. The machine-readable source of truth is shortcodes.manifest.json, which distinguishes render variants from auxiliary support files.
Internal generator documentation helpers also exist:
docs-sourcedocs-json
Those are for rendering the generator’s own documentation website, not for normal site authoring.
Recommended Structured Content
These are available as shortcodes, but fenced blocks are usually better for editable website content because they round-trip cleanly through the page editor.
For fenced YAML blocks, Hugo render hooks are the source of truth. Browser-side JS should only preserve or hydrate the Hugo-rendered output, not replace Hugo as a second renderer.
team
- purpose: staff / committee / management cards
- preferred authoring: fenced
teamYAML block - shortcode params:
class
- inner data:
- list or map with
members/items/cards
- list or map with
- member fields:
name,role,image/src/photo,alt,bio,href/url/link,link_label,class,loading
gallery
- purpose: brochure/gallery image grids
- preferred authoring: fenced
galleryYAML block - shortcode params:
class
- inner data:
- list or map with
items/images/figures
- list or map with
- item fields:
image/src/photo,alt,caption/text/body,class,loading
contact
- purpose: contact card grids
- preferred authoring: fenced
contactYAML block - shortcode params:
class
- inner data:
- list or map with
items/cards/contacts
- list or map with
- item fields:
type,title,name,role,image,alt,body,href,link_label,class,loading
workspace
- purpose: collaboration/workspace boards with shared links and participant cards
- preferred authoring: fenced
workspaceYAML block - shortcode params:
class
- inner data:
- map or list with top-level workspace fields plus
participants/members/people/collaborators
- map or list with top-level workspace fields plus
- participant fields:
name,type,role,company,department,status,image,alt,summary,href,link_label,website,workspace,session,class,loading
world
- purpose: place-network maps for guided navigation across rooms, venues, portals, and member spaces
- preferred authoring: fenced
worldYAML block - shortcode params:
class
- inner data:
- map or list with top-level
eyebrow,title,intro,primary_href,primary_label,secondary_href,secondary_label, plussignals/factsandplaces/items/spaces/rooms
- map or list with top-level
- place fields:
title,kind,body,href,link_label,icon,access,status,state,meta,chips,class
- note:
accesscan be either a string or a nested map withlabelandstate- the same block is intended to cover both physical venue maps such as VillageHall rooms and online campus maps such as TutorLumin
room
- purpose: shared campus/venue rooms with a stage, hotspots, avatar presence, and SPA travel while keeping the page body as the knowledge layer
- preferred authoring: fenced
roomYAML block or{{</* room manifest="room.yaml" */>}} - shortcode params:
classmanifestkey
- inner data:
- map with
manifestor directroom_id,eyebrow,title,summary,travel_label,travel_hint thememap withbase,glow,accent,floor,panel,lineambienceorambientmap withmode(dust/embers) anddensityspawnmap with avatar startx/yactivitieslandmarkswithlabel,note,icon,x,y,w,h,tonehotspotswithlabel,href,icon,description,x,y,state, optionaltravel_label,travel_hint
- map with
- output:
.ql-roomsection rendered by room.html- canvas atmosphere and avatar/presence runtime from campusRoom.js
card_grid
- purpose: brochure/use-case/feature card grids
- preferred authoring: fenced
card_gridYAML block - shortcode params:
class
- inner data:
- list or map with optional
layout,columns,class, plusitems/cards/grid/entries
- list or map with optional
- item fields:
eyebrow,title,body,meta,href,link_label,icon,class,interaction
- behavior:
- cards with
hrefnow use a whole-card click target by default so hover and focus affordances stay truthful
- cards with
stats
- purpose: metrics / numeric highlight cards
- preferred authoring: fenced
statsYAML block - shortcode params:
class
- inner data:
- list or map with
items/stats/metrics
- list or map with
steps
- purpose: process rows / how-it-works / journey steps
- preferred authoring: fenced
stepsYAML block - shortcode params:
class
- inner data:
- list or map with
items/steps/process
- list or map with
- item fields:
step,title,body,href,link_label,class
pricing
- purpose: pricing tiers / offer cards / rate tables
- preferred authoring: fenced
pricingYAML block - shortcode params:
class
- inner data:
- list or map with
items/pricing/plans/tiers
- list or map with
- item fields:
tier,price,unit,body,features,cta_href,cta_label,class
catalog_grid
- purpose: reusable editable product/class offer collections with image, price, status, and CTA metadata
- preferred authoring: fenced
catalog_gridYAML block - shortcode params:
class
- inner data:
- list or map with
items/offers/products/classes/catalog
- list or map with
- item fields:
eyebrow,icon,title,price,unit,summary,body,description,note,meta,href,secondary_href,cta_label,secondary_label,image,image_alt,status,status_tone,featured,booking_owner,price_lookup_key,quantity_mode,class
venue_shop
- purpose: room-and-add-on booking planner with a persisted basket handoff into the shared booking widget
- preferred authoring: fenced
venue_shopYAML block - shortcode params:
class
- inner data:
- map with
eyebrow,title,intro,booking_url,booking_label,secondary_href,secondary_label,site_slug,cart_key, andgroups/sections
- map with
- group fields:
title,intro,selection,kind,items
- item fields:
title,price,unit,body,note,href,detail_label,price_lookup_key,booking_owner,quantity_mode,class
facts
- purpose: compact facts/spec rails and detail chips
- preferred authoring: fenced
factsYAML block - shortcode params:
class
- inner data:
- list or map with
items/facts/specs/details
- list or map with
- item fields:
label,value,icon,class
- note:
specsis available as a compatibility alias and renders through the same editor surface
testimonials
- purpose: quote/testimonial grids
- preferred authoring: fenced
testimonialsYAML block - shortcode params:
class
- inner data:
- list or map with
items/quotes/testimonials
- list or map with
faq
- purpose: question/answer blocks
- preferred authoring: fenced
faqYAML block - shortcode params:
class
- inner data:
- list or map with
items/faqs/questions
- list or map with
booking
- purpose: reservation widget backed by the shared booking API
- preferred authoring: fenced
bookingYAML block - shortcode params:
titleclass
- inner data:
- map with
title,intro,provider,view, booking/payment links, anditems/resources/rooms
- map with
- item fields:
owner,name/title,description,price_lookup_key,class
calendar
- purpose: public what’s-on calendar backed by the shared booking API
- preferred authoring: fenced
calendarYAML block - shortcode params:
titleclass
- inner data:
- map with
title,intro,view,booking_url,booking_label, andowners/items/resources/rooms
- map with
- item fields:
owner,name/title,description,class
helpdesk
- purpose: public same-origin helpdesk ticket widget backed by the shared control-plane helpdesk API
- preferred authoring: fenced
helpdeskYAML block - shortcode params:
class
- inner data:
- map with
title,intro,eyebrow,api_base_url,submit_label,password_reset_label,guest_hint,signed_in_hint,subject_prefill,hide_subject,message_placeholder,image_capture,image_label, andimage_hint
- map with
- behavior:
- signed-in users can submit normal support tickets against the trusted site session
- signed-out users do not get a general guest ticket path; when password reset is enabled they get a restricted email-confirmed password-reset form instead
- attachments support screenshots/photos and one short voice note only for signed-in helpdesk tickets within the configured size limits
- internal agent docs stay on the routing side; the public widget only exposes the customer-facing form
Related site config for Chatwoot support:
params.chatwoot.enabled = trueparams.chatwoot.profile = "support"params.chatwoot.supportSiteSlug = "<site-slug>"- build env should provide
HUGO_PARAMS_CHATWOOT_SITE_<SITE_SLUG>_WEBSITE_TOKEN - optional build envs:
HUGO_PARAMS_CHATWOOT_SITE_<SITE_SLUG>_IDENTIFIER_HASHandHUGO_PARAMS_CHATWOOT_SITE_<SITE_SLUG>_BASE_URL
platformfeed
- purpose: live notice, event, document, bulletin-board, or marketplace feeds backed by a shared platform API
- preferred authoring: shortcode params
- shortcode params:
titleintrokindapi_base_urlendpointsite_slugcategorytimelinelimitcta_urlcta_labelempty_textclass
- common
kindvalues:feedeventsdocumentsmarketplace
platformportal
- purpose: shared member/resident portal CTA card
- preferred authoring: shortcode params
- shortcode params:
titleintrourlportal_urllabelclass
coursepurchase
- purpose: course purchase widget that begins in
registration, applies customer credit when available, and can continue through hosted checkout inpaymentsbefore returning to registration - preferred authoring: fenced
coursepurchaseYAML block - shortcode params:
titleclass
- inner data:
- map with
title,intro,api_base_url, course labels, registration return URLs, payment provider fields, and price identifiers
- map with
- common fields:
manifest,keyevent_slugaccount_typeregistration_success_urlsuccess_urlcancel_urlprice_idorprice_lookup_keyuse_customer_creditproduct_codeplan_codecapture_study_profilequalification_label,qualification_options,qualification_defaultboard_label,board_options,board_defaultsubject_label,subject_options,subject_defaultstudy_stage_label,study_stage_options,study_stage_defaultfocus_label,focus_placeholderstudy_profile_manifest,study_profile_catalog
- note:
manifestcan point at a YAML file andkeycan select a nested section such aspurchase- study profile option fields can be authored either as YAML lists or as newline-separated literal text blocks
study_profile_manifestcan point at a YAML board catalog that narrows boards and subjects after qualification is chosen- when
capture_study_profile: true, the widget records qualification, exam board, subject, stage, and focus into registration metadata and notes
studycatalog
- purpose: manifest-driven study path section that composes pricing, facts, scholar-lane steps, and course purchase intake from shared generator blocks
- preferred authoring: fenced
studycatalogYAML block - shortcode params:
class
- inner data:
- map with
manifestor directtiers,facts,journey,steps, andpurchase/coursepurchase
- map with
- note:
manifestshould point at a study-path YAML file in site content, for examplecontent/courses/_study_paths/scholar-foundations.yaml- use
purchase.anchorin the manifest when pricing CTAs should jump to the rendered purchase widget
fundalumin
- purpose: Fundalumin discovery surface and live app embed backed by the shared funding app
- preferred authoring: fenced
fundaluminYAML block - shortcode params:
titleclass
- inner data:
- map with
title,intro,mode,app_base_url, optionalwidget_url, shared CTA links, optionalallow_external_app_links, optionalfeatured_slug,wishlist_limit,recent_donations_limit,quick_amounts, andcampaigns/items/profiles
- map with
- behavior:
- authored
campaignsmakeautoresolve tocards, so native campaign widgets are the default website path mode: cardskeeps the campaign-card widget inside the websitemode: cardsnow renders recent settled donations, supporter activity, quick amounts, and a TutorLumin-owned donation modal before hosted checkoutmode: directoryrenders a native public Fundalumin page: student directory, spotlighted profile, wishlist, recent support, and the same in-page donation modalmode: appembeds the live Fundalumin app when explicitly requestedallow_external_app_linksdefaults tofalsefor website widgets; set it only when you explicitly want brochure users to leave the site for the Fundalumin appwidget_urlonly works when that iframe page can reach the Fundalumin API on the same origin, via proxy, or with explicit CORS support
- authored
- item fields:
slug,label,description,url,cta_label,class,quick_amounts
Media And Embeds
embed
- purpose: iframe / external media / HTML / PDF / video embed wrapper
- shortcode params:
srcorurltitlelayoutclasscaptionwidthtypeheightaspectallowallowfullscreensandboxreferrerpolicyloadingiframeIdid
- inner text:
- optional caption if
captionis not set
- optional caption if
icon
- purpose: render a named inline icon
- params:
- first positional param = icon name
include
- purpose: inline a raw file into output
- params:
file
- note:
- powerful but easy to misuse; not usually the best website-editing path for agents
Widgets
skill-meter
- purpose: render the shared training/skill widget
- params:
widgetuservarianttitleeyebrowsubtextclass
quiz
- purpose: render a shared quiz widget
- params:
srcclassidtitle
- inner text:
- optional inline YAML/JSON model when
srcis omitted
- optional inline YAML/JSON model when
pydoc
- purpose: render Python API documentation from a source file
- params:
srcclass
purchasemembership
- purpose: QuantaLumin membership signup widget backed by the shared payments signup handoff
- status: site-specific
- note:
- available in the theme for QuantaLumin-style membership signup surfaces
- still site-specific, unlike the more reusable
coursepurchasewidget
domainorder
- purpose: render a same-origin domain search and ordering widget backed by the shared registration domain-order flow
- params:
class
- inner text:
- optional YAML map including:
titleintroeyebrowapi_base_urlsearch_placeholdersearch_button_labelorder_button_labeldefault_cluster_slugdefault_yearsdefault_website_enableddefault_mail_enableddefault_success_urldefault_cancel_urlnote
- optional YAML map including:
Citation And Reference Helpers
cite
- purpose: citation rendering helper
bibliography
- purpose: print bibliography
- bibliography grouping is controlled by
params.bibliography.groupBy - supported grouping modes:
type: normalized type buckets such as journal articles, books, thesesmanual:% bibgroup: key | Titlemarkers in the source.bibtheme: JSON-backed thematic grouping from bibliography entries carryingtheme/themesnone: flat ungrouped list
- theme grouping can be ordered and titled through
params.bibliography.themeFile- preferred source is a site data file such as
data/bibliography-themes.json - expected shape:
- top-level
groupsarray withkeyandtitle - top-level
entriesmap keyed by citekey, merged intobib.jsonby the site pipeline
- top-level
- preferred source is a site data file such as
bibentry
- purpose: print a single bibliography entry
references
- purpose: print references list
ref
- purpose: link equation/figure references by label
- usage shape:
- positional labels, including semicolon-separated groups
mref
- purpose: link to a documented class method anchor
- params:
classmethod