pub enum Inline {
Text(String),
Link {
url: Url,
title: Option<String>,
children: Vec<Inline>,
is_wikilink: bool,
},
Image {
src: Url,
alt: String,
title: Option<String>,
is_wikilink: bool,
wikilink_pothole: Option<String>,
},
Emphasis(Vec<Inline>),
Strong(Vec<Inline>),
Code(String),
LineBreak,
Other(String),
}Expand description
An inline-level AST node.
Variants§
Text(String)
Link
[content](url "title") or [[wikilink]].
is_wikilink preserves pulldown-cmark’s LinkType::WikiLink
discriminator at parse time so the renderer can emit
class="wikilink" on the <a> tag and downstream consumers
(graph builder, link-resolver) can distinguish wikilink targets
from standard markdown links. Added Phase 4 PR7a (2026-05-28) as
the smallest AST change matching mdast convention (Link node +
extension flag, mirroring LinkType::WikiLink as a tag).
Fields
Image
 or ![[wikilink]].
is_wikilink + wikilink_pothole (Phase 4 PR7a-flip-core-B,
2026-05-28) preserve pulldown-cmark’s LinkType::WikiLink
discriminator and the original pothole text so the
dispatch_wikilink_embeds visitor can route ![[v.mp4|width=400]]
→ per-extension renderer (video / pdf / audio / iframe / 3D /
notebook / etc) with the typed params intact. The parser’s
Tag::Image arm captures the raw pothole BEFORE PR3.5’s
wikilink-alt classification consumes it into the alt field;
without preservation, the width=400 token is erased after
alt-classification.
is_wikilink: false and wikilink_pothole: None for standard
 markdown images.
Fields
Emphasis(Vec<Inline>)
*emphasis*
Strong(Vec<Inline>)
**strong**
Code(String)
`code`
LineBreak
Hard line break.
Other(String)
Escape hatch for unmodeled inline HTML.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Inline
impl<'de> Deserialize<'de> for Inline
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Inline
impl StructuralPartialEq for Inline
Auto Trait Implementations§
impl Freeze for Inline
impl RefUnwindSafe for Inline
impl Send for Inline
impl Sync for Inline
impl Unpin for Inline
impl UnsafeUnpin for Inline
impl UnwindSafe for Inline
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.