Skip to content
Clone
2f5d35e
36 lines 862 B Rust
use crate::parse::{EmbedRule, Platform};
use crate::Category;
pub struct Audius;
impl Platform for Audius {
fn id(&self) -> &'static str {
"audius"
}
fn name(&self) -> &'static str {
"Audius"
}
fn category(&self) -> Category {
Category::Music
}
fn domains(&self) -> &'static [&'static str] {
&["audius.co"]
}
fn embed_rule(&self) -> Option<EmbedRule> {
// `/[artist]/[track]` -> `/embed/[artist]/[track]`,实测返回播放器。
Some(EmbedRule::capture(
r"^/([A-Za-z0-9_.-]+)/([A-Za-z0-9_.-]+)/?$",
"https://audius.co/embed/{1}/{2}",
crate::Aspect::Auto,
))
}
fn oembed(&self) -> Option<&'static str> {
Some("https://audius.co/oembed?url={url_enc}&format=json")
}
}
pub static PLATFORM: Audius = Audius;