From 399fccb73b09f8c4c6cd274c5aa2da5953b599db Mon Sep 17 00:00:00 2001 From: rm-dr <96270320+rm-dr@users.noreply.github.com> Date: Wed, 5 Nov 2025 21:46:49 -0800 Subject: [PATCH] Upgrade mdx parser --- .../service-webpage/src/components/md.rs | 235 +++++++++++++----- .../service-webpage/src/pages/handouts.md | 23 +- .../service-webpage/src/pages/index.md | 30 +-- 3 files changed, 203 insertions(+), 85 deletions(-) diff --git a/crates/service/service-webpage/src/components/md.rs b/crates/service/service-webpage/src/components/md.rs index 20a5bbb..89be1c0 100644 --- a/crates/service/service-webpage/src/components/md.rs +++ b/crates/service/service-webpage/src/components/md.rs @@ -9,7 +9,7 @@ use std::str::FromStr; use crate::components::fa::FAIcon; use crate::components::mangle::{MangledBetaEmail, MangledGoogleEmail}; -use crate::components::misc::Backlinks; +use crate::components::misc::{Backlinks, FarLink}; lazy_static! { static ref MdParser: MarkdownIt = { @@ -159,6 +159,10 @@ impl NodeValue for InlineMdx { return; } + if mdx_external(&self.0, node, fmt) { + return; + } + fmt.open("code", &[]); fmt.text(&self.0); fmt.close("code"); @@ -200,78 +204,83 @@ impl InlineRule for InlineMdx { } fn mdx_style(mdx: &str, _node: &Node, fmt: &mut dyn Renderer) -> bool { - // Parse inside of mdx: `style(