diff options
| author | Xe Iaso <me@christine.website> | 2022-07-04 16:35:14 +0000 |
|---|---|---|
| committer | Xe Iaso <me@christine.website> | 2022-07-04 16:35:14 +0000 |
| commit | 7f6de2cb092cdd0675ae393a0a737a2c08329046 (patch) | |
| tree | 29d74b18042f00f4b0d52cf3d9586135f5c9ce08 /lib/xesite_types/src | |
| parent | 8b6056fc09320473577f458fa86bda26159ea43b (diff) | |
| download | xesite-7f6de2cb092cdd0675ae393a0a737a2c08329046.tar.xz xesite-7f6de2cb092cdd0675ae393a0a737a2c08329046.zip | |
add _xesite_frontmatter extension
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'lib/xesite_types/src')
| -rw-r--r-- | lib/xesite_types/src/lib.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/xesite_types/src/lib.rs b/lib/xesite_types/src/lib.rs new file mode 100644 index 0000000..68ae4c4 --- /dev/null +++ b/lib/xesite_types/src/lib.rs @@ -0,0 +1,37 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Eq, PartialEq, Deserialize, Default, Debug, Serialize, Clone)] +pub struct Frontmatter { + #[serde(default = "frontmatter_about")] + pub about: String, + #[serde(skip_serializing)] + pub title: String, + #[serde(skip_serializing)] + pub date: String, + #[serde(skip_serializing)] + pub author: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + pub series: Option<String>, + #[serde(skip_serializing)] + pub tags: Option<Vec<String>>, + #[serde(skip_serializing_if = "Option::is_none")] + pub slides_link: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + pub image: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + pub thumb: Option<String>, + #[serde(skip_serializing)] + pub redirect_to: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + pub vod: Option<Vod>, +} + +fn frontmatter_about() -> String { + "https://xeiaso.net/blog/api-jsonfeed-extensions#_xesite_frontmatter".to_string() +} + +#[derive(Eq, PartialEq, Deserialize, Default, Debug, Serialize, Clone)] +pub struct Vod { + pub twitch: String, + pub youtube: String, +} |
