pub struct Markdown { /* private fields */ }Expand description
Renders CommonMark / Markdown text as styled terminal output.
Supports headings (bold + underline, no # prefix), bold, italic,
inline code (configurable style, no backticks), lists with bullet markers,
soft/hard breaks, and raw HTML passthrough. Text is automatically wrapped
to the requested width via
wrap_text_with_ansi.
Implementations§
Source§impl Markdown
impl Markdown
Sourcepub fn new(text: impl Into<String>) -> Self
pub fn new(text: impl Into<String>) -> Self
Create a new Markdown component from the given text.
Defaults: headings are bold+underlined, inline code is cyan, bold is bright white, italic is slanted.
Sourcepub fn with_code_style(self, style: fn(&str) -> String) -> Self
pub fn with_code_style(self, style: fn(&str) -> String) -> Self
Override the inline code styling.
The function receives the raw code text and should return the styled string (including any ANSI reset). Defaults to cyan foreground.
§Example
use photon_ui::components::Markdown;
let md = Markdown::new("`hello`").with_code_style(|s| format!("\x1b[48;5;240m{}\x1b[0m", s));Trait Implementations§
Source§impl Component for Markdown
impl Component for Markdown
Source§fn render(&self, width: u16) -> Result<Rendered, RenderError>
fn render(&self, width: u16) -> Result<Rendered, RenderError>
Render this component into lines of text at the given width. Read more
Source§fn render_rect(&self, rect: Rect) -> Result<Rendered, RenderError>
fn render_rect(&self, rect: Rect) -> Result<Rendered, RenderError>
Render this component into a specific rectangular area. Read more
Source§fn handle_input(&mut self, _event: &Event) -> InputResult
fn handle_input(&mut self, _event: &Event) -> InputResult
Handle an input event (key press, resize, mouse, etc.). Read more
Source§fn wants_key_release(&self) -> bool
fn wants_key_release(&self) -> bool
Returns
true if this component wants to receive
KeyEventKind::Release events in addition to Press / Repeat. Read moreAuto Trait Implementations§
impl Freeze for Markdown
impl RefUnwindSafe for Markdown
impl Send for Markdown
impl Sync for Markdown
impl Unpin for Markdown
impl UnsafeUnpin for Markdown
impl UnwindSafe for Markdown
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more