Crate serde_frontmatter[][src]

Expand description

This crate is a Rust library for using the Serde serialization framework with Jekyll-style front matter.

Examples

use serde::{Deserialize, Serialize};

#[derive(Deserialize, Serialize, PartialEq, Debug)]
pub struct MyData {
    pub title: String
}

fn main() {
   // Serialize
   let front_matter = MyData { title: "Hello, World!".to_string() };
   let content = "This is some content";
   let output = serde_frontmatter::serialize(front_matter, content).unwrap();
   assert_eq!("---\ntitle: \"Hello, World!\"\n\n---\nThis is some content", output);

   // Deserialize
   let input = "---\ntitle: Hello, World!\n---\nThis is some content";
   let (front_matter, content) = serde_frontmatter::deserialize::<MyData>(input).unwrap();
   assert_eq!(front_matter, MyData { title: "Hello, World!".to_string() });
   assert_eq!(content, "\nThis is some content");
}

Enums

Errors generated by this crate

Functions

Deserialize a string containing front matter into a struct and the content of the string

Serialize a struct and data into a string containing front matter