Repository navigation
doc: Align docs theme with TTI brand guidelines and drop TTUI - #1500
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Code whitespace preservation, mobile snippet wrapping, and error-token contrast need correction before approval.
3 open issues
What changed in this PR
Updates the Hugo documentation theme to current TTI branding and removes its dependency on retired TTUI assets. This implements the branding stage of #1499, ahead of the planned accessibility and native-search work.
Changes:
- Introduces brand tokens, typography, icons, and shared styles; rebuilds home-page cards and callouts without TTUI.
- Adds responsive navigation groups and copy buttons for code blocks and standalone snippets.
- Replaces branding assets and includes generated Pagefind assets without switching the search integration.
| File | Description |
|---|---|
| doc/yarn.lock | Removes the TTUI lockfile entry. |
| doc/themes/the-things-stack/layouts/shortcodes/warning.html | Updates warning markup and icon. |
| doc/themes/the-things-stack/layouts/shortcodes/note.html | Updates note markup and icon. |
| doc/themes/the-things-stack/layouts/shortcodes/cli-downloader.html | Replaces TTUI button classes. |
| doc/themes/the-things-stack/layouts/shortcodes/aws-deploy-cloudformation.html | Uses the replacement button style. |
| doc/themes/the-things-stack/layouts/partials/whats-new.html | Rebuilds featured-release cards. |
| doc/themes/the-things-stack/layouts/partials/pages-cards.html | Updates section-card styling. |
| doc/themes/the-things-stack/layouts/partials/icon.html | Adds reusable inline Tabler icons. |
| doc/themes/the-things-stack/layouts/partials/header/nav.html | Updates the logo and adds grouped navigation. |
| doc/themes/the-things-stack/layouts/partials/head/head.html | Updates favicon links and removes TTUI CSS. |
| doc/themes/the-things-stack/layouts/partials/footer/footer.html | Loads the copy-button script. |
| doc/themes/the-things-stack/layouts/index.html | Rebuilds the home page without TTUI. |
| doc/themes/the-things-stack/assets/js/theme.js | Removes TTUI imports and handles navigation groups. |
| doc/themes/the-things-stack/assets/js/copy-code.js | Adds clipboard controls and announcements. |
| doc/themes/the-things-stack/assets/icons/tabler/server-2.svg | Adds the Enterprise card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/router.svg | Adds the Hardware card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/rocket.svg | Adds the Getting Started card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/plug-connected.svg | Adds the Integrations card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/LICENSE | Includes the Tabler license. |
| doc/themes/the-things-stack/assets/icons/tabler/cloud.svg | Adds the Cloud card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/bulb.svg | Adds the Concepts card icon. |
| doc/themes/the-things-stack/assets/icons/tabler/api.svg | Adds the API card icon. |
| doc/themes/the-things-stack/assets/css/theme.scss | Imports the new theme foundations. |
| doc/themes/the-things-stack/assets/css/pages/homepage.scss | Styles the rebuilt home page. |
| doc/themes/the-things-stack/assets/css/highlight.scss | Maps syntax colors to brand tokens. |
| doc/themes/the-things-stack/assets/css/header/nav.scss | Updates navigation borders and radius. |
| doc/themes/the-things-stack/assets/css/footer/footer.scss | Points to consolidated footer styles. |
| doc/themes/the-things-stack/assets/css/common/variables.scss | Maps Bulma settings to brand tokens. |
| doc/themes/the-things-stack/assets/css/common/typography.scss | Defines heading, body, and code styles. |
| doc/themes/the-things-stack/assets/css/common/tokens.scss | Defines shared design tokens. |
| doc/themes/the-things-stack/assets/css/common/tabs.scss | Refreshes tab styling. |
| doc/themes/the-things-stack/assets/css/common/global.scss | Updates shared styles and removes obsolete rules. |
| doc/themes/the-things-stack/assets/css/common/fonts.scss | Declares the replacement typefaces. |
| doc/themes/the-things-stack/assets/css/common/components.scss | Styles shared components and responsive navigation. |
| doc/themes/the-things-stack/assets/css/common/code.scss | Styles copy controls and snippet layouts. |
| doc/static/pagefind/pagefind.js | Adds the generated Pagefind runtime. |
| doc/static/pagefind/pagefind-worker.js | Adds the generated search worker. |
| doc/static/pagefind/pagefind-ui.css | Adds standard Pagefind UI styles. |
| doc/static/pagefind/pagefind-modular-ui.js | Adds modular Pagefind UI code. |
| doc/static/pagefind/pagefind-modular-ui.css | Adds modular Pagefind UI styles. |
| doc/static/pagefind/pagefind-entry.json | Adds generated search-index metadata. |
| doc/static/img/TTS-logo.svg | Removes the previous logo. |
| doc/static/img/tts-horizontal-standard-color.svg | Adds the current horizontal logo. |
| doc/static/favicon.svg | Replaces the favicon artwork. |
| doc/package.json | Removes the TTUI dependency. |
| doc/content/integrations/cloud-integrations/azure-iot-hub/deployment.md | Migrates the deployment button styling. |
| doc/content/enterprise/_index.md | Shortens the Enterprise navigation label. |
| doc/content/cloud/_index.md | Shortens and reorders the Cloud navigation entry. |
| doc/config/_default/config.toml | Configures Deployment and Build navigation groups. |
Review effort: Balanced
da75a62 to
2b93926
Compare
happyRip
left a comment
There was a problem hiding this comment.
It looks like an improvement on the previous website.
doc/static/pagefind/fragments look like some local directory added by accident. It might be worth it adding that dir to.gitignoreif they're generated on each local build.
| <a href="{{ $pagePermalink }}" class="whats-new-item"> | ||
| <span class="pill pill--subtle">{{ $feature_category | title }}</span> | ||
| <span class="whats-new-item__text">{{ . | markdownify }}</span> | ||
| <span class="whats-new-item__arrow" aria-hidden="true">→</span> | ||
| </a> |
There was a problem hiding this comment.
There is an edge case where if a changelog entry would contain a link it would produce invalid HTML (nested <a> tag).
This was never the case so far, but if we can avoid it by using a <div> or something, then it might be worth it.
| <link rel="icon" type="image/png" sizes="64x64" href="{{ "favicon.png" | relURL }}"> | ||
| <link rel="icon" type="image/png" sizes="120x120" href="{{ "favicon-120.png" | relURL }}"> |
There was a problem hiding this comment.
This changed from alternate icon to icon. Is this intended?
There was a problem hiding this comment.
Not intended, thanks for catching. Reverted.
| <link rel="icon" type="image/svg+xml" href="{{ "favicon.svg" | relURL }}"> | ||
| <link rel="icon" type="image/png" sizes="64x64" href="{{ "favicon.png" | relURL }}"> | ||
| <link rel="icon" type="image/png" sizes="120x120" href="{{ "favicon-120.png" | relURL }}"> | ||
| <link rel="apple-touch-icon" href="{{ "favicon-120.png" | relURL }}"> |
There was a problem hiding this comment.
AFAIK the touch icon should be 180px.
There was a problem hiding this comment.
It should indeed be 180px, adjusted now
Replace the retired The Things UI (TTUI 1.10.1) stylesheet and scripts with design tokens from the Figma brand variables, so the docs follow the current brand guidelines without an external dependency. - Add common/tokens.scss (tts, grey and status scales, spacing, radius, motion); Bulma variables and legacy theme colors map onto it - Remove the TTUI stylesheet, scripts and the @ttui/design dependency; rebuild the home page and What's new partial without TTUI classes - Typefaces: Poppins SemiBold (headings), Inter variable (body), Geist Mono (code); remove ITC Avant Garde and unused Inter files - Non-clickable headings tts-1000; links and clickable card titles tts-500 (hover tts-700); 8px radii; Note/Warning callouts in status colors with Tabler icons - New The Things Stack logo and favicon (SVG with a 64px PNG fallback and a 180px touch icon) - Home page section cards share one style and get 40px Tabler outline icons (new icon partial) - Syntax highlighting colors pass WCAG AA on the code background - Navigation: labels "Cloud" and "Enterprise"; every section as a link from 1216px, grouped Deployment and Build dropdowns (params.navgroups) from 1024px to 1215px, menu button below; search is a full field from 1344px and an icon below; 32px after the logo, 8px between items, Inter Medium 15/21. Nothing is clipped at any width (measured with search enabled) - Edition labels (Cloud, Enterprise, Sandbox, Open Source) at full size on their own line - Copy button on code blocks and on standalone code snippets (addresses, commands), shown on hover, keyboard focus and always on touch screens, with a screen reader announcement when copied Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U1LoAGVHbV3q1xi4EEPGQw
2b93926 to
48e7203
Compare
Pagefind: Removed from the commit and added /doc/static/pagefind/ to .gitignore, thanks. |
KrishnaIyer
left a comment
There was a problem hiding this comment.
@happyRip's review is pretty complete.

Summary
References #1499 (part 1 of 3). Aligns the docs theme with the current TTI brand guidelines and removes the dependency on The Things UI (TTUI 1.10.1), so design#323 can delete TTUI without breaking the docs.
Follow-up PRs, stacked on this one: accessibility fixes (
doc/accessibility) and native Pagefind search replacing Algolia (doc/native-search). They will be opened after this one is merged.Screenshots
Changes
common/tokens.scss(tts, grey and status scales, spacing, radius, motion) from the Figma brand variables; Bulma variables and legacy theme colors map onto it@ttui/designdependency; rebuild the home page and What's new partial without TTUI classesicon.htmlpartial)params.navgroups) from 1024–1215px, menu button below; nothing clips at any widthNotes for Reviewers
make serverand comparing the home page, a guide page and the navigation at 1440px, 1100px and 390px.Checklist
make server, posted screenshots, verified external links. Test withHUGO_PARAMS_SEARCH_ENABLED=trueif style changes will affect the search bar.new-in-versionshortcode, according to the guidelines in CONTRIBUTING.