diff --git a/typed-html/src/elements.rs b/typed-html/src/elements.rs index c02d38b..5068de3 100644 --- a/typed-html/src/elements.rs +++ b/typed-html/src/elements.rs @@ -499,3 +499,16 @@ fn test_js() { assert_eq!("", frag.to_string()); } + +#[test] +fn test_twitter_cards() { + use crate as axohtml; + use crate::{dom::DOMTree, html}; + + let frag: DOMTree = html!(); + + assert_eq!( + "", + frag.to_string() + ); +} diff --git a/typed-html/src/types/mod.rs b/typed-html/src/types/mod.rs index 8a5c00c..f978db4 100644 --- a/typed-html/src/types/mod.rs +++ b/typed-html/src/types/mod.rs @@ -252,6 +252,53 @@ pub enum Metadata { Robots, #[strum(to_string = "viewport")] Viewport, + // Twitter Social meta card tags -> https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup + #[strum(to_string = "twitter:card")] + TwitterCard, + #[strum(to_string = "twitter:site:id")] + TwitterSiteId, + #[strum(to_string = "twitter:site")] + TwitterSite, + #[strum(to_string = "twitter:creator:id")] + TwitterCreatorId, + #[strum(to_string = "twitter:creator")] + TwitterCreator, + #[strum(to_string = "twitter:description")] + TwitterDescription, + #[strum(to_string = "twitter:title")] + TwitterTitle, + #[strum(to_string = "twitter:image:alt")] + TwitterImageAlt, + #[strum(to_string = "twitter:image")] + TwitterImage, + #[strum(to_string = "twitter:player:width")] + TwitterPlayerWidth, + #[strum(to_string = "twitter:player:height")] + TwitterPlayerHeight, + #[strum(to_string = "twitter:player:stream")] + TwitterPlayerStream, + #[strum(to_string = "twitter:player")] + TwitterPlayer, + #[strum(to_string = "twitter:app:name:phone")] + TwitterAppNamePhone, + #[strum(to_string = "twitter:app:name:iphone")] + TwitterAppNameIphone, + #[strum(to_string = "twitter:app:id:iphone")] + TwitterAppIdIphone, + #[strum(to_string = "twitter:app:url:iphone")] + TwitterAppUrlIphone, + #[strum(to_string = "twitter:app:name:ipad")] + TwitterAppNameIpad, + #[strum(to_string = "twitter:app:id:ipad")] + TwitterAppIdIpad, + #[strum(to_string = "twitter:app:url:ipad")] + TwitterAppUrlIpad, + #[strum(to_string = "twitter:app:name:googleplay")] + TwitterAppNameGooglePlay, + #[strum(to_string = "twitter:app:id:googleplay")] + TwitterAppIdGooglePlay, + #[strum(to_string = "twitter:app:url:googleplay")] + TwitterAppUrlGooglePlay, } #[derive(EnumString, Display, PartialEq, Eq, PartialOrd, Ord, AsRefStr, IntoStaticStr)] @@ -262,10 +309,24 @@ pub enum MetadataProperties { Type, #[strum(to_string = "og:image")] Image, + #[strum(to_string = "og:image:alt")] + ImageAlt, + #[strum(to_string = "og:image:type")] + ImageType, + #[strum(to_string = "og:image:width")] + ImageWidth, + #[strum(to_string = "og:image:height")] + ImageHeight, + #[strum(to_string = "og:image:secure_url")] + ImageSecureUrl, #[strum(to_string = "og:url")] Homepage, #[strum(to_string = "og:audio")] Audio, + #[strum(to_string = "og:audio:type")] + AudioType, + #[strum(to_string = "og:audio:secure_url")] + AudioSecureUrl, #[strum(to_string = "og:description")] Description, #[strum(to_string = "og:determiner")] @@ -276,6 +337,16 @@ pub enum MetadataProperties { ParentSiteName, #[strum(to_string = "og:video")] Video, + #[strum(to_string = "og:video:alt")] + VideoAlt, + #[strum(to_string = "og:video:type")] + VideoType, + #[strum(to_string = "og:video:width")] + VideoWidth, + #[strum(to_string = "og:video:height")] + VideoHeight, + #[strum(to_string = "og:video:secure_url")] + VideoSecureUrl, #[strum(to_string = "og:locale:alternate")] ExtraLocales, }