285 lines
12 KiB
Markdown
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
|