pub struct MarkdownRenderer;Expand description
A markdown rendering component with scroll support.
Parses markdown source text and renders it with styled headings, bold, italic, strikethrough, inline code, code blocks, lists, links, blockquotes, and horizontal rules. Supports toggling between rendered and raw source views.
§Key Bindings
Up/k– Scroll up one lineDown/j– Scroll down one linePageUp/Ctrl+u– Scroll up half a pagePageDown/Ctrl+d– Scroll down half a pageHome/g– Scroll to topEnd/G– Scroll to bottoms– Toggle between rendered and raw source views
§Example
use envision::component::{Component, MarkdownRenderer, MarkdownRendererState};
let state = MarkdownRendererState::new()
.with_source("# Hello\n\nWorld");
assert_eq!(state.source(), "# Hello\n\nWorld");Trait Implementations§
Source§impl Component for MarkdownRenderer
impl Component for MarkdownRenderer
Source§type State = MarkdownRendererState
type State = MarkdownRendererState
The component’s internal state type. Read more
Source§type Message = MarkdownRendererMessage
type Message = MarkdownRendererMessage
Messages this component can receive. Read more
Source§fn handle_event(
_state: &Self::State,
event: &Event,
ctx: &EventContext,
) -> Option<Self::Message>
fn handle_event( _state: &Self::State, event: &Event, ctx: &EventContext, ) -> Option<Self::Message>
Maps an input event to a component message. Read more
Source§fn update(state: &mut Self::State, msg: Self::Message) -> Option<Self::Output>
fn update(state: &mut Self::State, msg: Self::Message) -> Option<Self::Output>
Update component state based on a message. Read more
Source§fn view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)
fn view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)
Render the component to the given area. Read more
Source§fn traced_view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)
fn traced_view(state: &Self::State, ctx: &mut RenderContext<'_, '_>)
Renders the component with optional tracing instrumentation. Read more
Source§fn dispatch_event(
state: &mut Self::State,
event: &Event,
ctx: &EventContext,
) -> Option<Self::Output>
fn dispatch_event( state: &mut Self::State, event: &Event, ctx: &EventContext, ) -> Option<Self::Output>
Dispatches an event by mapping it to a message and updating state. Read more
Auto Trait Implementations§
impl Freeze for MarkdownRenderer
impl RefUnwindSafe for MarkdownRenderer
impl Send for MarkdownRenderer
impl Sync for MarkdownRenderer
impl Unpin for MarkdownRenderer
impl UnsafeUnpin for MarkdownRenderer
impl UnwindSafe for MarkdownRenderer
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more