pub struct MarkdownTheme {
pub name: Option<String>,
pub markdown_text: Option<ColorMapping>,
pub markdown_heading: Option<ColorMapping>,
pub markdown_code: Option<ColorMapping>,
pub markdown_block_quote: Option<ColorMapping>,
pub markdown_emph: Option<ColorMapping>,
pub markdown_strong: Option<ColorMapping>,
pub markdown_link: Option<ColorMapping>,
pub markdown_hr: Option<ColorMapping>,
pub markdown_table: Option<ColorMapping>,
}Available on crate feature
markdown-preview only.Expand description
Constructor functions for MarkdownTheme.
Methods for MarkdownTheme.
Markdown theme configuration struct.
The MarkdownTheme struct defines the color scheme for different markdown
elements, supporting both light and dark mode variants through ColorMapping.
Markdown theme configuration.
This struct holds color mappings for various markdown elements. Each field is optional, allowing themes to only override specific elements while inheriting defaults for others.
§Fields
name- Optional theme name for identificationmarkdown_text- Color for regular textmarkdown_heading- Color for headings (h1-h6)markdown_code- Color for inline code and code blocksmarkdown_block_quote- Color for block quotesmarkdown_emph- Color for emphasized (italic) textmarkdown_strong- Color for strong (bold) textmarkdown_link- Color for linksmarkdown_hr- Color for horizontal rulesmarkdown_table- Color for tables
§Example
ⓘ
use ratatui_toolkit::markdown_widget::extensions::theme::{MarkdownTheme, load_theme_from_json};
let json = r#"{
"name": "my-theme",
"markdown_heading": { "dark": "blue", "light": "oceanBlue" }
}"#;
let theme = load_theme_from_json(json).unwrap();
assert_eq!(theme.name, Some("my-theme".to_string()));Fields§
§name: Option<String>Optional theme name for identification.
markdown_text: Option<ColorMapping>Color for regular text.
markdown_heading: Option<ColorMapping>Color for headings (h1-h6).
markdown_code: Option<ColorMapping>Color for inline code and code blocks.
markdown_block_quote: Option<ColorMapping>Color for block quotes.
markdown_emph: Option<ColorMapping>Color for emphasized (italic) text.
markdown_strong: Option<ColorMapping>Color for strong (bold) text.
markdown_link: Option<ColorMapping>Color for links.
markdown_hr: Option<ColorMapping>Color for horizontal rules.
markdown_table: Option<ColorMapping>Color for tables.
Trait Implementations§
Source§impl Clone for MarkdownTheme
impl Clone for MarkdownTheme
Source§fn clone(&self) -> MarkdownTheme
fn clone(&self) -> MarkdownTheme
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MarkdownTheme
impl Debug for MarkdownTheme
Source§impl Default for MarkdownTheme
impl Default for MarkdownTheme
Source§fn default() -> MarkdownTheme
fn default() -> MarkdownTheme
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MarkdownTheme
impl<'de> Deserialize<'de> for MarkdownTheme
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MarkdownTheme, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MarkdownTheme, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MarkdownTheme
impl RefUnwindSafe for MarkdownTheme
impl Send for MarkdownTheme
impl Sync for MarkdownTheme
impl Unpin for MarkdownTheme
impl UnsafeUnpin for MarkdownTheme
impl UnwindSafe for MarkdownTheme
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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