Files
gh-aperepel-textual-tui-skill/skill/references/official-guides-index.md
2025-11-29 17:58:08 +08:00

285 lines
12 KiB
Markdown

# Textual Official Guide Index
High-level index of every guide from the official Textual documentation. Use `web_fetch` to retrieve full content on-demand when needed.
## Getting Started
### Installation
**URL:** https://textual.textualize.io/getting_started/
**Topics:** Installing Textual, requirements, first app
**When to fetch:** User asks about installation, setup, or getting started
### Tutorial
**URL:** https://textual.textualize.io/tutorial/
**Topics:** Building a stopwatch app, complete walkthrough, reactive attributes, widgets
**When to fetch:** User wants step-by-step tutorial or building their first app
## Core Concepts
### App Basics
**URL:** https://textual.textualize.io/guide/app/
**Topics:** Creating apps, running apps, compose method, mounting widgets, app lifecycle, application mode, inline mode, suspending apps
**When to fetch:** Questions about app structure, lifecycle, or basic app operations
### Widgets
**URL:** https://textual.textualize.io/guide/widgets/
**Topics:** Creating custom widgets, widget communication, compound widgets, render method, line API, renderables, uni-directional data flow, widget design patterns
**When to fetch:** Creating custom widgets, widget architecture, or advanced widget patterns
### Layout
**URL:** https://textual.textualize.io/guide/layout/
**Topics:** Vertical layout, horizontal layout, grid layout, dock layout, layers, FR units, container layouts, grid-size, grid-columns, grid-rows, row-span, column-span
**When to fetch:** Layout questions, arranging widgets, grid systems, positioning
### CSS & Styling
**URL:** https://textual.textualize.io/guide/CSS/
**Topics:** Textual CSS basics, selectors (type, ID, class, universal), pseudo-classes, CSS_PATH, live editing, combinator selectors
**When to fetch:** CSS syntax, selectors, styling fundamentals
### Styles
**URL:** https://textual.textualize.io/guide/styles/
**Topics:** Style properties, colors (hex, RGB, HSL), units (%, fr, vw, vh, w, h), box model, box-sizing, dimensions, spacing
**When to fetch:** Specific style properties, units, colors, dimensions
### Design System / Themes
**URL:** https://textual.textualize.io/guide/design/
**Topics:** Theme system, built-in themes, creating custom themes, color variables, semantic colors, $text variables, theme switching, design tokens
**When to fetch:** Theming, color systems, design tokens, theme customization
## Interaction & Events
### Input
**URL:** https://textual.textualize.io/guide/input/
**Topics:** Keyboard input, mouse input, focus, key events, mouse events, input handling
**When to fetch:** Handling keyboard/mouse input, focus management, input events
### Events
**URL:** https://textual.textualize.io/guide/events/
**Topics:** Event system, message handlers, event bubbling, preventing events, custom events, event lifecycle
**When to fetch:** Event handling, custom events, event propagation
### Actions
**URL:** https://textual.textualize.io/guide/actions/
**Topics:** Action system, key bindings, BINDINGS, action_* methods, built-in actions, custom actions
**When to fetch:** Keyboard shortcuts, actions, key bindings
### Reactivity
**URL:** https://textual.textualize.io/guide/reactivity/
**Topics:** Reactive attributes, watch methods, compute methods, reactive decorators, smart refresh, recompose, data binding
**When to fetch:** Reactive programming, automatic updates, computed values, watchers
## Advanced Features
### Screens
**URL:** https://textual.textualize.io/guide/screens/
**Topics:** Screen stack, push_screen, pop_screen, ModalScreen, screen navigation, installed screens, SCREENS, screen opacity
**When to fetch:** Multi-screen apps, navigation, modal dialogs, screen management
### Query
**URL:** https://textual.textualize.io/guide/queries/
**Topics:** Querying widgets, query_one, query, set methods, DOM traversal, selectors in queries
**When to fetch:** Finding widgets, DOM navigation, bulk operations
### Workers
**URL:** https://textual.textualize.io/guide/workers/
**Topics:** Background tasks, @work decorator, run_worker, thread workers, async workers, worker lifecycle, cancellation
**When to fetch:** Background processing, async operations, threading, long-running tasks
### Animation
**URL:** https://textual.textualize.io/guide/animation/
**Topics:** Animating styles, animate method, easing functions, duration, transitions, animation callbacks
**When to fetch:** Animations, transitions, easing, style animations
### Command Palette
**URL:** https://textual.textualize.io/guide/command_palette/
**Topics:** Built-in command palette, Provider class, fuzzy matching, custom commands, command discovery
**When to fetch:** Command palette, custom commands, keyboard-driven interfaces
## Content & Display
### Content / Markup
**URL:** https://textual.textualize.io/guide/content/
**Topics:** Content markup, Rich renderables, styling text, markup tags, links, clickable actions, content objects
**When to fetch:** Text formatting, markup syntax, Rich renderables, styled text
### Rich Content
**URL:** https://textual.textualize.io/guide/rich/
**Topics:** Using Rich library, Rich renderables, tables, syntax highlighting, panels, progress bars
**When to fetch:** Rich library integration, advanced text formatting, Rich features
## Development & Debugging
### Devtools
**URL:** https://textual.textualize.io/guide/devtools/
**Topics:** textual command, console, run command, live CSS editing, --dev mode, debugging, logging
**When to fetch:** Development workflow, debugging, console logging, dev tools
### Testing
**URL:** https://textual.textualize.io/guide/testing/
**Topics:** Testing apps, Pilot API, run_test, simulating input, snapshots, unit testing
**When to fetch:** Testing, unit tests, test automation, Pilot
### Performance
**URL:** https://textual.textualize.io/guide/performance/
**Topics:** Performance optimization, profiling, rendering performance, widget efficiency, best practices
**When to fetch:** Performance issues, optimization, profiling
## Reference Documentation
### Widgets Reference
**URL:** https://textual.textualize.io/widgets/
**Topics:** Complete widget reference, all built-in widgets with examples
**When to fetch:** Looking for specific widget documentation, widget API details
### Styles Reference
**URL:** https://textual.textualize.io/styles/
**Topics:** Complete CSS properties reference, all style properties
**When to fetch:** Specific style property details, CSS reference
### API Reference
**URL:** https://textual.textualize.io/api/
**Topics:** Complete Python API reference
**When to fetch:** API details, method signatures, class documentation
## Specialized Topics
### Scrolling
**URL:** https://textual.textualize.io/guide/scrolling/
**Topics:** Scroll views, ScrollableContainer, scrolling behavior, scroll_visible, programmatic scrolling
**When to fetch:** Scrolling issues, scroll containers, programmatic scrolling
### Tooltips
**URL:** https://textual.textualize.io/guide/tooltips/
**Topics:** Adding tooltips, tooltip property, tooltip customization
**When to fetch:** Tooltips, hover help text
### Notifications
**URL:** https://textual.textualize.io/guide/notifications/
**Topics:** Toast notifications, notify method, notification severity, notification styling
**When to fetch:** Notifications, alerts, toasts
### Input Validation
**URL:** https://textual.textualize.io/guide/input_validation/
**Topics:** Validating input, Validator class, built-in validators, custom validators
**When to fetch:** Form validation, input validation, validators
### Timers
**URL:** https://textual.textualize.io/guide/timers/
**Topics:** Scheduling tasks, set_timer, set_interval, timer callbacks, timer management
**When to fetch:** Scheduled tasks, periodic updates, timers
### Paths
**URL:** https://textual.textualize.io/guide/paths/
**Topics:** File paths, resource paths, CSS_PATH, path resolution
**When to fetch:** File loading, resource paths, path management
## Additional Topics
### FAQ
**URL:** https://textual.textualize.io/FAQ/
**Topics:** Common questions, troubleshooting, best practices
**When to fetch:** Common issues, general questions, troubleshooting
### Why Textual?
**URL:** https://textual.textualize.io/guide/why/
**Topics:** Benefits of Textual, use cases, comparison with alternatives
**When to fetch:** Understanding Textual benefits, when to use Textual
## Usage Guidelines
### When to Fetch Guides
1. **Don't fetch unless needed**: The skill already covers fundamentals. Only fetch when:
- User asks about a specific topic not covered in skill
- Need detailed API information
- Complex examples required
- Latest updates needed (docs may be newer than skill)
2. **Fetch specific sections**: Use targeted URLs for relevant topics
3. **Combine with skill knowledge**: Use fetched content to supplement, not replace, skill knowledge
### Example Fetch Patterns
```python
# User asks about command palette
web_fetch("https://textual.textualize.io/guide/command_palette/")
# User needs animation details
web_fetch("https://textual.textualize.io/guide/animation/")
# User wants testing info
web_fetch("https://textual.textualize.io/guide/testing/")
# Need widget reference
web_fetch("https://textual.textualize.io/widgets/data_table/")
```
## Quick Reference by Topic
### Need information about...
**App Structure** → App Basics guide
**Layout & Positioning** → Layout guide
**Styling & CSS** → CSS guide, Styles guide, Design guide
**User Input** → Input guide, Events guide, Actions guide
**Custom Widgets** → Widgets guide
**Navigation** → Screens guide
**Async Tasks** → Workers guide
**Animations** → Animation guide
**Commands** → Command Palette guide
**Testing** → Testing guide
**Development** → Devtools guide
**Rich Integration** → Rich Content guide
**Form Validation** → Input Validation guide
**Auto-Updates** → Reactivity guide
## Widget-Specific Documentation
All built-in widgets have dedicated documentation at:
`https://textual.textualize.io/widgets/{widget_name}/`
Common widget docs:
- **Button**: https://textual.textualize.io/widgets/button/
- **Input**: https://textual.textualize.io/widgets/input/
- **DataTable**: https://textual.textualize.io/widgets/data_table/
- **Tree**: https://textual.textualize.io/widgets/tree/
- **Select**: https://textual.textualize.io/widgets/select/
- **TextArea**: https://textual.textualize.io/widgets/text_area/
- **ListView**: https://textual.textualize.io/widgets/list_view/
- **ProgressBar**: https://textual.textualize.io/widgets/progress_bar/
- **Markdown**: https://textual.textualize.io/widgets/markdown/
- **MarkdownViewer**: https://textual.textualize.io/widgets/markdown_viewer/
- **DirectoryTree**: https://textual.textualize.io/widgets/directory_tree/
- **Header**: https://textual.textualize.io/widgets/header/
- **Footer**: https://textual.textualize.io/widgets/footer/
- **Label**: https://textual.textualize.io/widgets/label/
- **Static**: https://textual.textualize.io/widgets/static/
- **Log**: https://textual.textualize.io/widgets/log/
- **RichLog**: https://textual.textualize.io/widgets/rich_log/
- **Sparkline**: https://textual.textualize.io/widgets/sparkline/
- **Switch**: https://textual.textualize.io/widgets/switch/
- **Checkbox**: https://textual.textualize.io/widgets/checkbox/
- **RadioButton**: https://textual.textualize.io/widgets/radio_button/
- **RadioSet**: https://textual.textualize.io/widgets/radio_set/
- **TabbedContent**: https://textual.textualize.io/widgets/tabbed_content/
- **ContentSwitcher**: https://textual.textualize.io/widgets/content_switcher/
- **LoadingIndicator**: https://textual.textualize.io/widgets/loading_indicator/
## Container Widget Documentation
- **Container**: https://textual.textualize.io/widgets/container/
- **Horizontal**: https://textual.textualize.io/widgets/horizontal/
- **Vertical**: https://textual.textualize.io/widgets/vertical/
- **Grid**: https://textual.textualize.io/widgets/grid/
- **ScrollableContainer**: https://textual.textualize.io/widgets/scrollable_container/
- **VerticalScroll**: https://textual.textualize.io/widgets/vertical_scroll/
- **HorizontalScroll**: https://textual.textualize.io/widgets/horizontal_scroll/
## Notes
- All URLs follow pattern: `https://textual.textualize.io/{section}/{topic}/`
- Official docs are actively maintained and may have updates not in this skill
- Use web_fetch with specific URLs when detailed or latest information needed
- Combine official docs with skill knowledge for best results