aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorXe Iaso <me@christine.website>2023-01-21 15:42:53 -0500
committerXe Iaso <me@christine.website>2023-01-21 15:42:53 -0500
commit12d3a86c3976db81929e26ee96afa5ca2ad1c5d6 (patch)
treef590d63e0737fca36d0985cae7052b2ce36961f7 /lib
parent16bf3a0f1f1a06c17474467648592ad4025f87c2 (diff)
downloadxesite-12d3a86c3976db81929e26ee96afa5ca2ad1c5d6.tar.xz
xesite-12d3a86c3976db81929e26ee96afa5ca2ad1c5d6.zip
support xedn resizable stickers
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'lib')
-rw-r--r--lib/xesite_markdown/src/lib.rs23
-rw-r--r--lib/xesite_templates/src/lib.rs4
2 files changed, 17 insertions, 10 deletions
diff --git a/lib/xesite_markdown/src/lib.rs b/lib/xesite_markdown/src/lib.rs
index 941761d..0767c30 100644
--- a/lib/xesite_markdown/src/lib.rs
+++ b/lib/xesite_markdown/src/lib.rs
@@ -111,16 +111,23 @@ pub fn render(inp: &str) -> Result<String> {
.ok_or(Error::MissingElementAttribute("mood".to_string()))?;
let name = name.replace("_", " ");
- el.before(&format!(r#"
+ let (size, class) = el
+ .get_attribute("standalone")
+ .map_or((64, "conversation-smol"), |_| {
+ (128, "conversation-standalone")
+ });
+
+ el.before(
+ &format!(
+ r#"
<div class="conversation">
- <div class="conversation-picture conversation-smol">
- <picture>
- <source srcset="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.avif" type="image/avif">
- <source srcset="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.webp" type="image/webp">
- <img src="https://cdn.xeiaso.net/file/christine-static/stickers/{name_lower}/{mood}.png" alt="{name} is {mood}">
- </picture>
+ <div class="{class}">
+ <img src="https://cdn.xeiaso.net/sticker/{name_lower}/{mood}/{size}" alt="{name} is {mood}">
</div>
- <div class="conversation-chat">&lt;<b>{name}</b>&gt; "#), ContentType::Html);
+ <div class="conversation-chat">&lt;<b>{name}</b>&gt; "#
+ ),
+ ContentType::Html,
+ );
el.after("</div></div>", ContentType::Html);
el.remove_and_keep_content();
diff --git a/lib/xesite_templates/src/lib.rs b/lib/xesite_templates/src/lib.rs
index 62f7502..d6b3abe 100644
--- a/lib/xesite_templates/src/lib.rs
+++ b/lib/xesite_templates/src/lib.rs
@@ -66,11 +66,11 @@ pub fn conv(name: String, mood: String, body: Markup) -> Markup {
html! {
.conversation {
- ."conversation-picture"."conversation-smol" {
+ ."conversation-standalone" {
picture {
source type="image/avif" srcset={"https://cdn.xeiaso.net/file/christine-static/stickers/" (name_lower) "/" (mood) ".avif"};
source type="image/webp" srcset={"https://cdn.xeiaso.net/file/christine-static/stickers/" (name_lower) "/" (mood) ".webp"};
- img alt={(name) " is " (mood)} loading="lazy" src={"https://cdn.xeiaso.net/file/christine-static/stickers/" (name_lower) "/" (mood) ".png"};
+ img style="max-height:4.5rem" alt={(name) " is " (mood)} loading="lazy" src={"https://cdn.xeiaso.net/file/christine-static/stickers/" (name_lower) "/" (mood) ".png"};
}
}
."conversation-chat" {