mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Merge pull request #1791 from Textualize/textual-markdown
Textual markdown
This commit is contained in:
28
docs/examples/widgets/markdown.py
Normal file
28
docs/examples/widgets/markdown.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from textual.app import App, ComposeResult
|
||||
from textual.widgets import Markdown
|
||||
|
||||
EXAMPLE_MARKDOWN = """\
|
||||
# Markdown Document
|
||||
|
||||
This is an example of Textual's `Markdown` widget.
|
||||
|
||||
## Features
|
||||
|
||||
Markdown syntax and extensions are supported.
|
||||
|
||||
- Typography *emphasis*, **strong**, `inline code` etc.
|
||||
- Headers
|
||||
- Lists (bullet and ordered)
|
||||
- Syntax highlighted code blocks
|
||||
- Tables!
|
||||
"""
|
||||
|
||||
|
||||
class MarkdownExampleApp(App):
|
||||
def compose(self) -> ComposeResult:
|
||||
yield Markdown(EXAMPLE_MARKDOWN)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = MarkdownExampleApp()
|
||||
app.run()
|
||||
60
docs/examples/widgets/markdown_viewer.py
Normal file
60
docs/examples/widgets/markdown_viewer.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from textual.app import App, ComposeResult
|
||||
from textual.widgets import MarkdownViewer
|
||||
|
||||
EXAMPLE_MARKDOWN = """\
|
||||
# Markdown Viewer
|
||||
|
||||
This is an example of Textual's `MarkdownViewer` widget.
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
Markdown syntax and extensions are supported.
|
||||
|
||||
- Typography *emphasis*, **strong**, `inline code` etc.
|
||||
- Headers
|
||||
- Lists (bullet and ordered)
|
||||
- Syntax highlighted code blocks
|
||||
- Tables!
|
||||
|
||||
## Tables
|
||||
|
||||
Tables are displayed in a DataTable widget.
|
||||
|
||||
| Name | Type | Default | Description |
|
||||
| --------------- | ------ | ------- | ---------------------------------- |
|
||||
| `show_header` | `bool` | `True` | Show the table header |
|
||||
| `fixed_rows` | `int` | `0` | Number of fixed rows |
|
||||
| `fixed_columns` | `int` | `0` | Number of fixed columns |
|
||||
| `zebra_stripes` | `bool` | `False` | Display alternating colors on rows |
|
||||
| `header_height` | `int` | `1` | Height of header row |
|
||||
| `show_cursor` | `bool` | `True` | Show a cell cursor |
|
||||
|
||||
|
||||
## Code Blocks
|
||||
|
||||
Code blocks are syntax highlighted, with guidelines.
|
||||
|
||||
```python
|
||||
class ListViewExample(App):
|
||||
def compose(self) -> ComposeResult:
|
||||
yield ListView(
|
||||
ListItem(Label("One")),
|
||||
ListItem(Label("Two")),
|
||||
ListItem(Label("Three")),
|
||||
)
|
||||
yield Footer()
|
||||
```
|
||||
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class MarkdownExampleApp(App):
|
||||
def compose(self) -> ComposeResult:
|
||||
yield MarkdownViewer(EXAMPLE_MARKDOWN, show_table_of_contents=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = MarkdownExampleApp()
|
||||
app.run()
|
||||
Reference in New Issue
Block a user