aboutsummaryrefslogtreecommitdiff
path: root/lib/xesite_templates/src
diff options
context:
space:
mode:
authorXe Iaso <me@christine.website>2022-10-12 02:39:57 +0000
committerXe Iaso <me@christine.website>2022-10-12 02:39:57 +0000
commit96caa7cccd8bedd7ebfffc9095c4f8fe44c9aa9d (patch)
treec142d19c31ce35414eb68c32ce7518d1579a6b95 /lib/xesite_templates/src
parent49fdd5ea3af11b965826543c4ee2cb5911fd82d4 (diff)
downloadxesite-96caa7cccd8bedd7ebfffc9095c4f8fe44c9aa9d.tar.xz
xesite-96caa7cccd8bedd7ebfffc9095c4f8fe44c9aa9d.zip
HLS support
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'lib/xesite_templates/src')
-rw-r--r--lib/xesite_templates/src/lib.rs33
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/xesite_templates/src/lib.rs b/lib/xesite_templates/src/lib.rs
index 32ec07f..2e095db 100644
--- a/lib/xesite_templates/src/lib.rs
+++ b/lib/xesite_templates/src/lib.rs
@@ -1,4 +1,4 @@
-use maud::{html, Markup};
+use maud::{html, Markup, PreEscaped};
pub fn talk_warning() -> Markup {
html! {
@@ -94,3 +94,34 @@ pub fn sticker(name: String, mood: String) -> Markup {
}
}
}
+
+pub fn video(path: String) -> Markup {
+ let hls_script = PreEscaped(format!(
+ r#"
+<script>
+ if (Hls.isSupported()) {{
+ var video = document.getElementById('video');
+ var hls = new Hls();
+ hls.on(Hls.Events.MEDIA_ATTACHED, function () {{
+ console.log('video and hls.js are now bound together !');
+ }});
+ hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {{
+ console.log(
+ 'manifest loaded, found ' + data.levels.length + ' quality level'
+ );
+ }});
+ hls.loadSource("https://cdn.xeiaso.net/file/christine-static/{}/index.m3u8");
+ // bind them together
+ hls.attachMedia(video);
+ }}
+</script>
+"#,
+ path
+ ));
+
+ html! {
+ script src="/static/js/hls.js" {}
+ video id="video" width="100%" controls {}
+ (hls_script)
+ }
+}