hass.tibber_prices/docs/user/sidebars.ts
Julian Pawlowski 0e699ae142 feat(docs): add multi-language entity reference with search
Add a comprehensive entity reference system that helps users find
entities across all 5 supported languages (EN, DE, NO, NL, SV).

Core components:
- Generator script (scripts/docs/generate-sensor-reference) that
  builds sensor-reference.md from translation files with --check
  mode for CI validation
- EntityRef component for compact inline entity annotations with
  tooltip and version-aware linking to the reference table
- EntitySearch component with live filtering, clickable results,
  keyboard navigation, "/" shortcut to focus, category filter chips,
  match highlighting, copy-entity-ID button per row, back-links to
  documentation pages, persistent row highlights, hash-based deep
  linking, and mobile-responsive layout
- MDXComponents theme override for global component registration

Documentation updates:
- New sensor-reference.md page (115 entities x 5 languages)
- EntityRef annotations across 10 documentation pages
- Sidebar entry for quick navigation
- CI integration (docusaurus.yml + scripts/check)
- Ruff per-file-ignores for scripts/ (T201, INP001)

Impact: Users can now find any entity by its localized display name
regardless of their UI language. Inline EntityRef annotations link
directly to the multi-language lookup table with version-aware URLs.
2026-04-11 09:55:28 +00:00

70 lines
1.7 KiB
TypeScript

import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
tutorialSidebar: [
'intro',
{
type: 'category',
label: '🚀 Getting Started',
items: ['installation', 'configuration'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '📖 Core Concepts',
items: ['concepts', 'glossary'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '📊 Features',
items: ['sensors', 'sensor-reference', 'period-calculation', 'dynamic-icons', 'icon-colors', 'actions'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🎨 Visualization',
items: ['dashboard-examples', 'chart-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🤖 Automation',
items: ['automation-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '👥 Community',
items: ['community-examples'],
collapsible: true,
collapsed: false,
},
{
type: 'category',
label: '🔧 Help & Support',
items: ['faq', 'troubleshooting'],
collapsible: true,
collapsed: false,
},
],
};
export default sidebars;