43 lines
781 B
Rust
43 lines
781 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
#[serde(tag = "type")]
|
|
pub enum DocumentBlock {
|
|
Heading {
|
|
id: String,
|
|
level: u8,
|
|
text: String,
|
|
},
|
|
Paragraph {
|
|
id: String,
|
|
text: String,
|
|
},
|
|
List {
|
|
id: String,
|
|
ordered: bool,
|
|
items: Vec<String>,
|
|
},
|
|
CodeBlock {
|
|
id: String,
|
|
language: Option<String>,
|
|
code: String,
|
|
},
|
|
Quote {
|
|
id: String,
|
|
text: String,
|
|
},
|
|
Table {
|
|
id: String,
|
|
headers: Vec<String>,
|
|
rows: Vec<Vec<String>>,
|
|
},
|
|
Image {
|
|
id: String,
|
|
src: String,
|
|
alt: Option<String>,
|
|
},
|
|
HorizontalRule {
|
|
id: String,
|
|
},
|
|
}
|