aboutsummaryrefslogtreecommitdiff
path: root/lib/xesite_templates/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xesite_templates/src/lib.rs')
-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)
+ }
+}