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-source
  • docs-json

Those are for rendering the generator’s own documentation website, not for normal site authoring.

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 team YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with members / items / cards
  • member fields:
    • name, role, image / src / photo, alt, bio, href / url / link, link_label, class, loading
  • purpose: brochure/gallery image grids
  • preferred authoring: fenced gallery YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / images / figures
  • item fields:
    • image / src / photo, alt, caption / text / body, class, loading

contact

  • purpose: contact card grids
  • preferred authoring: fenced contact YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / cards / contacts
  • 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 workspace YAML block
  • shortcode params:
    • class
  • inner data:
    • map or list with top-level workspace fields plus participants / members / people / collaborators
  • 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 world YAML block
  • shortcode params:
    • class
  • inner data:
    • map or list with top-level eyebrow, title, intro, primary_href, primary_label, secondary_href, secondary_label, plus signals / facts and places / items / spaces / rooms
  • place fields:
    • title, kind, body, href, link_label, icon, access, status, state, meta, chips, class
  • note:
    • access can be either a string or a nested map with label and state
    • 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 room YAML block or {{</* room manifest="room.yaml" */>}}
  • shortcode params:
    • class
    • manifest
    • key
  • inner data:
    • map with manifest or direct room_id, eyebrow, title, summary, travel_label, travel_hint
    • theme map with base, glow, accent, floor, panel, line
    • ambience or ambient map with mode (dust / embers) and density
    • spawn map with avatar start x / y
    • activities
    • landmarks with label, note, icon, x, y, w, h, tone
    • hotspots with label, href, icon, description, x, y, state, optional travel_label, travel_hint
  • output:
    • .ql-room section 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_grid YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with optional layout, columns, class, plus items / cards / grid / entries
  • item fields:
    • eyebrow, title, body, meta, href, link_label, icon, class, interaction
  • behavior:
    • cards with href now use a whole-card click target by default so hover and focus affordances stay truthful

stats

  • purpose: metrics / numeric highlight cards
  • preferred authoring: fenced stats YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / stats / metrics

steps

  • purpose: process rows / how-it-works / journey steps
  • preferred authoring: fenced steps YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / steps / process
  • item fields:
    • step, title, body, href, link_label, class

pricing

  • purpose: pricing tiers / offer cards / rate tables
  • preferred authoring: fenced pricing YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / pricing / plans / tiers
  • 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_grid YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / offers / products / classes / catalog
  • 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_shop YAML block
  • shortcode params:
    • class
  • inner data:
    • map with eyebrow, title, intro, booking_url, booking_label, secondary_href, secondary_label, site_slug, cart_key, and groups / sections
  • 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 facts YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / facts / specs / details
  • item fields:
    • label, value, icon, class
  • note:
    • specs is available as a compatibility alias and renders through the same editor surface

testimonials

  • purpose: quote/testimonial grids
  • preferred authoring: fenced testimonials YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / quotes / testimonials

faq

  • purpose: question/answer blocks
  • preferred authoring: fenced faq YAML block
  • shortcode params:
    • class
  • inner data:
    • list or map with items / faqs / questions

booking

  • purpose: reservation widget backed by the shared booking API
  • preferred authoring: fenced booking YAML block
  • shortcode params:
    • title
    • class
  • inner data:
    • map with title, intro, provider, view, booking/payment links, and items / resources / rooms
  • 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 calendar YAML block
  • shortcode params:
    • title
    • class
  • inner data:
    • map with title, intro, view, booking_url, booking_label, and owners / items / resources / rooms
  • 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 helpdesk YAML 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, and image_hint
  • 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 = true
  • params.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_HASH and HUGO_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:
    • title
    • intro
    • kind
    • api_base_url
    • endpoint
    • site_slug
    • category
    • timeline
    • limit
    • cta_url
    • cta_label
    • empty_text
    • class
  • common kind values:
    • feed
    • events
    • documents
    • marketplace

platformportal

  • purpose: shared member/resident portal CTA card
  • preferred authoring: shortcode params
  • shortcode params:
    • title
    • intro
    • url
    • portal_url
    • label
    • class

coursepurchase

  • purpose: course purchase widget that begins in registration, applies customer credit when available, and can continue through hosted checkout in payments before returning to registration
  • preferred authoring: fenced coursepurchase YAML block
  • shortcode params:
    • title
    • class
  • inner data:
    • map with title, intro, api_base_url, course labels, registration return URLs, payment provider fields, and price identifiers
  • common fields:
    • manifest, key
    • event_slug
    • account_type
    • registration_success_url
    • success_url
    • cancel_url
    • price_id or price_lookup_key
    • use_customer_credit
    • product_code
    • plan_code
    • capture_study_profile
    • qualification_label, qualification_options, qualification_default
    • board_label, board_options, board_default
    • subject_label, subject_options, subject_default
    • study_stage_label, study_stage_options, study_stage_default
    • focus_label, focus_placeholder
    • study_profile_manifest, study_profile_catalog
  • note:
    • manifest can point at a YAML file and key can select a nested section such as purchase
    • study profile option fields can be authored either as YAML lists or as newline-separated literal text blocks
    • study_profile_manifest can 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 studycatalog YAML block
  • shortcode params:
    • class
  • inner data:
    • map with manifest or direct tiers, facts, journey, steps, and purchase / coursepurchase
  • note:
    • manifest should point at a study-path YAML file in site content, for example content/courses/_study_paths/scholar-foundations.yaml
    • use purchase.anchor in 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 fundalumin YAML block
  • shortcode params:
    • title
    • class
  • inner data:
    • map with title, intro, mode, app_base_url, optional widget_url, shared CTA links, optional allow_external_app_links, optional featured_slug, wishlist_limit, recent_donations_limit, quick_amounts, and campaigns / items / profiles
  • behavior:
    • authored campaigns make auto resolve to cards, so native campaign widgets are the default website path
    • mode: cards keeps the campaign-card widget inside the website
    • mode: cards now renders recent settled donations, supporter activity, quick amounts, and a TutorLumin-owned donation modal before hosted checkout
    • mode: directory renders a native public Fundalumin page: student directory, spotlighted profile, wishlist, recent support, and the same in-page donation modal
    • mode: app embeds the live Fundalumin app when explicitly requested
    • allow_external_app_links defaults to false for website widgets; set it only when you explicitly want brochure users to leave the site for the Fundalumin app
    • widget_url only works when that iframe page can reach the Fundalumin API on the same origin, via proxy, or with explicit CORS support
  • 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:
    • src or url
    • title
    • layout
    • class
    • caption
    • width
    • type
    • height
    • aspect
    • allow
    • allowfullscreen
    • sandbox
    • referrerpolicy
    • loading
    • iframeId
    • id
  • inner text:
    • optional caption if caption is not set

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:
    • widget
    • user
    • variant
    • title
    • eyebrow
    • subtext
    • class

quiz

  • purpose: render a shared quiz widget
  • params:
    • src
    • class
    • id
    • title
  • inner text:
    • optional inline YAML/JSON model when src is omitted

pydoc

  • purpose: render Python API documentation from a source file
  • params:
    • src
    • class

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 coursepurchase widget

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:
      • title
      • intro
      • eyebrow
      • api_base_url
      • search_placeholder
      • search_button_label
      • order_button_label
      • default_cluster_slug
      • default_years
      • default_website_enabled
      • default_mail_enabled
      • default_success_url
      • default_cancel_url
      • note

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, theses
    • manual: % bibgroup: key | Title markers in the source .bib
    • theme: JSON-backed thematic grouping from bibliography entries carrying theme / themes
    • none: 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 groups array with key and title
      • top-level entries map keyed by citekey, merged into bib.json by the site pipeline

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:
    • class
    • method

TutorLumin partners with QuantaLumin

You’re connecting to your QuantaLumin account on members.quantalumin.com.