diff --git a/Cargo.toml b/Cargo.toml index 8c6a740..ebde56d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,5 +17,6 @@ image = { version = "0.24.9", default-features = false } databake = { version = "0.1.7", features = ["derive"], optional = true } [features] +default = ["serde", "databake"] serde = ["dep:serde", "rangemap/serde1"] databake = ["dep:databake"] diff --git a/src/serde_suck.rs b/src/serde_suck.rs index 7503334..4d47cc4 100644 --- a/src/serde_suck.rs +++ b/src/serde_suck.rs @@ -1,5 +1,4 @@ -use cosmic_text::{Align, Attrs, CacheKeyFlags, Color, Family, Stretch, Style, Weight}; - +use cosmic_text::CacheKeyFlags; #[cfg(feature = "databake")] use databake::Bake; use jotdown::{ListKind, OrderedListNumbering, OrderedListStyle}; @@ -51,18 +50,18 @@ pub enum OrderedListStyleSerde { #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] #[cfg_attr(feature = "serde", serde(remote = "cosmic_text::Metrics"))] #[cfg_attr(feature = "databake", derive(Bake))] -#[cfg_attr(feature = "databake", databake(path = cosmic_text::Metrics))] -pub struct MetricsSerde { +#[cfg_attr(feature = "databake", databake(path = cosmic_text))] +pub struct Metrics { pub font_size: f32, pub line_height: f32, } #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] -#[cfg_attr(feature = "serde", serde(remote = "Family"))] +#[cfg_attr(feature = "serde", serde(remote = "cosmic_text::Family"))] #[cfg_attr(feature = "databake", derive(Bake))] -#[cfg_attr(feature = "databake", databake(path = cosmic_text::Family))] -pub enum FamilySerde<'a> { +#[cfg_attr(feature = "databake", databake(path = cosmic_text))] +pub enum Family<'a> { Name(&'a str), Serif, SansSerif, @@ -71,25 +70,25 @@ pub enum FamilySerde<'a> { Monospace, } -impl<'a> From> for FamilySerde<'a> { - fn from(value: Family<'a>) -> Self { +impl<'a> From> for Family<'a> { + fn from(value: cosmic_text::Family<'a>) -> Self { match value { - Family::Name(n) => FamilySerde::Name(n), - Family::Serif => FamilySerde::Serif, - Family::SansSerif => FamilySerde::SansSerif, - Family::Cursive => FamilySerde::Cursive, - Family::Fantasy => FamilySerde::Fantasy, - Family::Monospace => FamilySerde::Monospace, + cosmic_text::Family::Name(n) => Self::Name(n), + cosmic_text::Family::Serif => Self::Serif, + cosmic_text::Family::SansSerif => Self::SansSerif, + cosmic_text::Family::Cursive => Self::Cursive, + cosmic_text::Family::Fantasy => Self::Fantasy, + cosmic_text::Family::Monospace => Self::Monospace, } } } #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] -#[cfg_attr(feature = "serde", serde(remote = "Stretch"))] +#[cfg_attr(feature = "serde", serde(remote = "cosmic_text::Stretch"))] #[cfg_attr(feature = "databake", derive(Bake))] -#[cfg_attr(feature = "databake", databake(path = cosmic_text::Stretch))] -pub enum StretchSerde { +#[cfg_attr(feature = "databake", databake(path = cosmic_text))] +pub enum Stretch { UltraCondensed, ExtraCondensed, Condensed, @@ -101,62 +100,62 @@ pub enum StretchSerde { UltraExpanded, } -impl From for StretchSerde { - fn from(value: Stretch) -> Self { +impl From for Stretch { + fn from(value: cosmic_text::Stretch) -> Self { match value { - Stretch::UltraCondensed => StretchSerde::UltraCondensed, - Stretch::ExtraCondensed => StretchSerde::ExtraCondensed, - Stretch::Condensed => StretchSerde::Condensed, - Stretch::SemiCondensed => StretchSerde::SemiCondensed, - Stretch::Normal => StretchSerde::Normal, - Stretch::SemiExpanded => StretchSerde::SemiExpanded, - Stretch::Expanded => StretchSerde::Expanded, - Stretch::ExtraExpanded => StretchSerde::ExtraExpanded, - Stretch::UltraExpanded => StretchSerde::UltraExpanded, + cosmic_text::Stretch::UltraCondensed => Self::UltraCondensed, + cosmic_text::Stretch::ExtraCondensed => Self::ExtraCondensed, + cosmic_text::Stretch::Condensed => Self::Condensed, + cosmic_text::Stretch::SemiCondensed => Self::SemiCondensed, + cosmic_text::Stretch::Normal => Self::Normal, + cosmic_text::Stretch::SemiExpanded => Self::SemiExpanded, + cosmic_text::Stretch::Expanded => Self::Expanded, + cosmic_text::Stretch::ExtraExpanded => Self::ExtraExpanded, + cosmic_text::Stretch::UltraExpanded => Self::UltraExpanded, } } } #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] -#[cfg_attr(feature = "serde", serde(remote = "Style"))] +#[cfg_attr(feature = "serde", serde(remote = "cosmic_text::Style"))] #[cfg_attr(feature = "databake", derive(Bake))] -#[cfg_attr(feature = "databake", databake(path = cosmic_text::Style))] -pub enum StyleSerde { +#[cfg_attr(feature = "databake", databake(path = cosmic_text))] +pub enum Style { Normal, Italic, Oblique, } -impl From