commit
f8308cca78
70
CHANGELOG.md
70
CHANGELOG.md
|
@ -1,34 +1,74 @@
|
|||
# Changelog
|
||||
|
||||
## 0.3.0 - 2023-01-02
|
||||
|
||||
### 🎁 Features
|
||||
|
||||
- **✨ More robust `aria` type checking - [SaraVieira], [I2]/[PR12], [I3]/[PR11]**
|
||||
|
||||
`aria-sort` and `aria-orientation` now offer more robust type checking following the guidelines of MDN you can see in their pages:
|
||||
|
||||
- [`aria-sort`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-sort)
|
||||
- [`aria-orientation`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-orientation)
|
||||
|
||||
[I2]: https://github.com/axodotdev/axohtml/issues/2
|
||||
[PR12]: https://github.com/axodotdev/axohtml/pull/12
|
||||
[I3]: https://github.com/axodotdev/axohtml/issues/3
|
||||
[PR11]: https://github.com/axodotdev/axohtml/pull/11
|
||||
|
||||
- **✨ Add twitter SEO tag support - [SaraVieira], [PR17]**
|
||||
|
||||
Add support for meta tags used for twitter cards as showed in [their docs](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup)
|
||||
|
||||
[PR17]: https://github.com/axodotdev/axohtml/pull/17
|
||||
|
||||
### 🛠️ Fixes
|
||||
|
||||
- **✨ Data Attributes now work with more than one hyphen - [SaraVieira], [PR10]**
|
||||
|
||||
Our support for `data` attributes was limited in the way that it only supported one hyphen in said attributes, well, no more, use as many hyphens as your heart pleases
|
||||
|
||||
[PR10]: https://github.com/axodotdev/axohtml/pull/10
|
||||
|
||||
- **✨ Allow `script` tags in HTML - [SaraVieira], [PR10]**
|
||||
|
||||
We now allow you to add script tags in the HTML after the body as the HTML standards also allow
|
||||
|
||||
- **✨ Allow unescaped text in`script`- [SaraVieira], [PR14]**
|
||||
|
||||
Until now we were escaping the text passed down to the `script` tag and in the `script` tag is the only place we are sure we don't want to escape that so that's fixed and you can add `script` tags with unescaped text inside
|
||||
|
||||
[PR14]: https://github.com/axodotdev/axohtml/pull/14
|
||||
|
||||
## 0.2.0 - 2022-12-19
|
||||
|
||||
### 🎁 Features
|
||||
|
||||
- **✨ New Attribute - `aria`** - [SaraVieira]
|
||||
|
||||
[`aria` attributes] are critical to making the web more accessible to
|
||||
everyone, but most importantly, people with disabilities. These were a to-do
|
||||
item from the original project, and so we to-did them. At least most of
|
||||
them. There are a [few open issues] if you'd like to help us complete the
|
||||
implementation.
|
||||
[`aria` attributes] are critical to making the web more accessible to
|
||||
everyone, but most importantly, people with disabilities. These were a to-do
|
||||
item from the original project, and so we to-did them. At least most of
|
||||
them. There are a [few open issues] if you'd like to help us complete the
|
||||
implementation.
|
||||
|
||||
[`aria` attributes]: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA
|
||||
[few open issues]: https://github.com/axodotdev/axohtml/issues?q=is%3Aissue+is%3Aopen+aria
|
||||
|
||||
- **✨ New Attribute - `meta:property`** - [SaraVieira]
|
||||
|
||||
If you ask the internet why `meta` tags have a `property` attribute that
|
||||
isn't in the spec, you won't get great answers. Although not formally
|
||||
specified in HTML5, `property` attributes in `meta` tags are important for
|
||||
SEO and [the Open Graph Protocol]. They *are* documented in [RDFa] which is
|
||||
a formal W3C recommendation.
|
||||
If you ask the internet why `meta` tags have a `property` attribute that
|
||||
isn't in the spec, you won't get great answers. Although not formally
|
||||
specified in HTML5, `property` attributes in `meta` tags are important for
|
||||
SEO and [the Open Graph Protocol]. They _are_ documented in [RDFa] which is
|
||||
a formal W3C recommendation.
|
||||
|
||||
It is outside the scope of this project to standardize standards bodies. We
|
||||
needed to support the `property` attribute, and so we did.
|
||||
It is outside the scope of this project to standardize standards bodies. We
|
||||
needed to support the `property` attribute, and so we did.
|
||||
|
||||
[SaraVieira]: https://github.com/SaraVieira
|
||||
[the Open Graph Protocol]: https://ogp.me/
|
||||
[RDFa]: https://en.wikipedia.org/wiki/RDFa
|
||||
[saravieira]: https://github.com/SaraVieira
|
||||
[the open graph protocol]: https://ogp.me/
|
||||
[rdfa]: https://en.wikipedia.org/wiki/RDFa
|
||||
|
||||
## 0.1.0 - 2022-12-16
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "axohtml-macros"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
edition = "2018"
|
||||
authors = ["Axo Developer Co <hello@axo.dev>", "Bodil Stokke <bodil@bodil.org>"]
|
||||
build = "build.rs"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "axohtml"
|
||||
version = "0.2.0"
|
||||
version = "0.3.0"
|
||||
edition = "2021"
|
||||
authors = ["Axo Developer Co <hello@axo.dev>", "Bodil Stokke <bodil@bodil.org>"]
|
||||
license = "MPL-2.0+"
|
||||
|
|
|
@ -499,3 +499,16 @@ fn test_js() {
|
|||
|
||||
assert_eq!("<script>console.log('sup')</script>", frag.to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_twitter_cards() {
|
||||
use crate as axohtml;
|
||||
use crate::{dom::DOMTree, html};
|
||||
|
||||
let frag: DOMTree<String> = html!(<meta name="twitter:card" content="summary_large_image"/>);
|
||||
|
||||
assert_eq!(
|
||||
"<meta content=\"summary_large_image\" name=\"twitter:card\"/>",
|
||||
frag.to_string()
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue