From dcc8882740abbafe5a880f501a25711344dddd85 Mon Sep 17 00:00:00 2001 From: Daan Boerlage Date: Wed, 22 Jan 2025 03:42:18 +0100 Subject: [PATCH] Add basic support for panels and code block in jiradoc --- crates/jirac/src/renderer/doc.rs | 19 +++++++++++++++++++ crates/libjirac/src/entities/doc.rs | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/crates/jirac/src/renderer/doc.rs b/crates/jirac/src/renderer/doc.rs index 939cfab..8f0b6d2 100644 --- a/crates/jirac/src/renderer/doc.rs +++ b/crates/jirac/src/renderer/doc.rs @@ -33,15 +33,34 @@ fn render_doc_node(f: &mut String, node: &DocNode) -> Result<(), Box { + writeln!(f)?; + write!(f, "## ")?; for node in x { render_text_node(f, node)?; } + writeln!(f)?; + writeln!(f)?; } DocNode::MediaSingle(x) => { for node in x { render_text_markets(f, node)?; } } + DocNode::Panel(x) => { + writeln!(f, "┌{:─<79}", "")?; + for node in x { + render_doc_node(f, node)?; + } + writeln!(f, "└{:─<79}", "")?; + } + DocNode::CodeBlock(x) => { + writeln!(f, "┌---------------")?; + for node in x { + render_text_node(f, node)?; + } + writeln!(f)?; + writeln!(f, "└---------------")?; + } } Ok(()) diff --git a/crates/libjirac/src/entities/doc.rs b/crates/libjirac/src/entities/doc.rs index ea8a53e..b9d5b1c 100644 --- a/crates/libjirac/src/entities/doc.rs +++ b/crates/libjirac/src/entities/doc.rs @@ -17,6 +17,8 @@ pub enum DocNode { Rule, Heading(Vec), MediaSingle(Vec), + Panel(Vec), + CodeBlock(Vec), } #[derive(Debug, Clone, Deserialize, Serialize)] @@ -86,5 +88,4 @@ pub struct DocMention { pub struct DocMentionAttrs { pub id: String, pub text: String, - pub local_id: String, }