diff options
| author | Xe Iaso <me@christine.website> | 2022-10-12 02:39:57 +0000 |
|---|---|---|
| committer | Xe Iaso <me@christine.website> | 2022-10-12 02:39:57 +0000 |
| commit | 96caa7cccd8bedd7ebfffc9095c4f8fe44c9aa9d (patch) | |
| tree | c142d19c31ce35414eb68c32ce7518d1579a6b95 /lib/xesite_templates/src | |
| parent | 49fdd5ea3af11b965826543c4ee2cb5911fd82d4 (diff) | |
| download | xesite-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.rs | 33 |
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) + } +} |
