The latest LiveTemplate releases, fetched from the GitHub Releases API on page load. This page proves the docs site can bind to any REST endpoint, not just the patterns API — same lvt-source block type, different upstream.
This page binds to a releases source declared in the docs site's tinkerdown.yaml:
sources:
releases:
type: rest
from: https://api.github.com/repos/livetemplate/livetemplate/releases
cache:
ttl: 1h # GitHub allows 60 unauth requests/hour; 1h cache keeps us well under
Two things to notice:
releases is a public endpoint, so no headers: block is needed. For private endpoints (a private repo, an internal API behind a token), tinkerdown's headers: block supports ${ENV_VAR} expansion so secrets never live in the YAML.The pattern generalises. Want to surface a status page, a build dashboard, or your own API? Add another source:
sources:
status:
type: rest
from: https://your-status.example.com/api/incidents
cache:
ttl: 5m
headers:
Authorization: "Bearer ${STATUS_TOKEN}"
result_path: data.incidents
Then any markdown page can render it with <table lvt-source="status" lvt-columns="title,impact,started_at"> — no Go code, no template registration, just a YAML entry and an attribute.
For more REST source options (result_path, query_params, retry, auto_bind: false), see the tinkerdown source reference.