{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"The API Docs Podcast","title":"Recap of the Jamdesk September 2026 release","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/815cbccb\"></iframe>","width":"100%","height":180,"duration":287,"description":"In this episode, co-founders Boris and Geoff recap last month's feature releases.\nEpisode highlights:\n\nCustom CSS and JavaScript examples. A new guide shows how to add a branded header and a floating Ask AI button, with screenshots. You need a style.css, a script.js and a few lines of docs.json. The examples target stable hooks, not class names. They keep working when Jamdesk updates. CSS & JS Examples →\nOne llms-full.txt per language. /fr/llms-full.txt now holds only the French pages of a multilingual site. /en/llms-full.txt holds the default language. The root /llms-full.txt still holds every language. The default language's index also answers at /en/llms.txt. Single-language sites are unchanged. llms.txt →\nSend readers straight to their own language. Set \"localization\": { \"autoRedirect\": true } in docs.json. First-time visitors land on their browser's language, such as /fr, instead of your default. The choice sticks for a year. Picking a language from the switcher overrides it. Only the site root redirects. Crawlers are never redirected. Your hreflang tags still decide what gets indexed. Requires two or more languages. Automatic language routing →\nOverride the \"last updated\" date on a page. metadata.timestamp shows a \"Last updated on …\" line taken from the page's last Git commit. Add lastUpdatedDate: \"2026-09-01\" to a page's frontmatter to replace that date. The date also goes into your sitemap's <lastmod> and the page's structured-data dateModified, even when the footer line is off. Use it after you review a page, or when a formatting-only commit moved the date. Frontmatter →\nTurn off the copy button on a code block. Add nocopy to the code block's opening line. It works with a title and every other option. It applies per tab inside a <CodeGroup>. Use it for terminal transcripts, redacted examples, and \"don't do this\" snippets. Code Blocks →\nSign readers in with your own login. Turn on auth.jwt in docs.json. Generate an Ed25519 signing key in Settings. Your...","thumbnail_url":"https://img.transistorcdn.com/20XTQlJqLMbkHtBD7qep3UomEeUFywtCmgej_YRZE54/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8xM2Y1/NTliNzU0YWY4ZDJl/ZDZiYmM1NmVmOTc4/NzFkYS5wbmc.webp","thumbnail_width":300,"thumbnail_height":300}