pub struct MarkdownStyle {Show 21 fields
pub block_label: Option<Rc<dyn Fn(&str, &str) -> Option<String>>>,
pub block_ref_count: Option<BlockRefCountFn>,
pub text_color: Hsla,
pub text_size: Pixels,
pub line_height: f32,
pub heading_color: Hsla,
pub link_color: Hsla,
pub tag_color: Hsla,
pub code_color: Hsla,
pub code_bg: Hsla,
pub muted_color: Hsla,
pub rule_color: Hsla,
pub guide_color: Hsla,
pub mark_bg: Hsla,
pub search_bg: Hsla,
pub search_current_bg: Hsla,
pub list_indent: Pixels,
pub mono_font: SharedString,
pub alerts: AlertColors,
pub alert_icons: Option<AlertIcons>,
pub property_icon: Option<PropertyIconFn>,
}Expand description
Visual configuration for the renderer. The host fills this from its own theme; defaults are a neutral dark palette.
Fields§
§block_label: Option<Rc<dyn Fn(&str, &str) -> Option<String>>>Resolves a block link’s display text: (page, id) → the target
block’s text, host-supplied. None (or a None return) keeps the
Page → id form.
block_ref_count: Option<BlockRefCountFn>How many pages reference a block id — a non-zero count renders a small
clickable badge in place of the hidden ^id anchor (Logseq-style),
linked through the refs:^id target the host resolves. None (or 0)
keeps the anchor invisible.
text_color: Hsla§text_size: Pixels§line_height: f32Body line height as a multiple of text_size. Hosts with an editor
match it to the editor’s ratio so reading and editing line up (Zorite
passes zorite-editor’s 1.45); the default follows suit.
heading_color: Hsla§link_color: Hsla§tag_color: Hsla§code_color: Hsla§code_bg: Hsla§muted_color: Hsla§rule_color: HslaThematic break (---) divider color.
guide_color: HslaNested-list indent guide — a hairline, fainter than rule_color.
mark_bg: HslaBackground for <mark>…</mark> highlighted text. Translucent so the body text
stays readable over it in any theme.
search_bg: HslaBackgrounds for in-page search: every match (search_bg) and the current /
active one (search_current_bg). Painted only when a query is set via
MarkdownView::search; the host owns the find UI. Translucent so text
stays readable.
search_current_bg: Hsla§list_indent: PixelsHorizontal indent per nested list level. The host sizes this to match its editor’s literal indent (so reading + editing line up).
mono_font: SharedStringMonospace font family for code blocks + inline code. The host picks one that exists on the platform; an unknown family just falls back to the default font.
alerts: AlertColorsGitHub-style alert (> [!NOTE] …) border + title colors.
alert_icons: Option<AlertIcons>SVG asset paths for the alert title icons, resolved through the host’s
AssetSource. None (the default) renders the title without an icon,
keeping the crate asset-free.
property_icon: Option<PropertyIconFn>Resolves a property key (tags, status, …) to an icon shown before it
in the property panel. Host-provided (asset path through the host’s
AssetSource) so the crate stays asset-agnostic; None = no icons.
Trait Implementations§
Source§impl Clone for MarkdownStyle
impl Clone for MarkdownStyle
Source§fn clone(&self) -> MarkdownStyle
fn clone(&self) -> MarkdownStyle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for MarkdownStyle
impl !Send for MarkdownStyle
impl !Sync for MarkdownStyle
impl !UnwindSafe for MarkdownStyle
impl Freeze for MarkdownStyle
impl Unpin for MarkdownStyle
impl UnsafeUnpin for MarkdownStyle
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().