summaryrefslogtreecommitdiff
path: root/layout/_partial/scripts.ejs
blob: 14348a9dca8b3cb16d61449ff4fc4dd78d3a8a26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!-- Lazyload support -->
<%- js('js/script.min.js') %>
<% if (theme.lazyload) { %>
    <script async defer src="https://cdn.staticfile.org/vanilla-lazyload/17.3.1/lazyload.min.js"></script>
    <script>
        window.lazyLoadOptions = {
            elements_selector: ".lazy",
            threshold: 0,
            effect: "fadeIn"
        };
        window.addEventListener("LazyLoad::Initialized", 
        function (event) {
            window.lazyLoader = event.detail.instance;
        }, false);
    </script>
<% } %>

<!-- Highlight.js support -->
<% if (theme.highlight.enable === true) { %> 
    <link media="none" onload="media='all'" id="highlight-light-theme" rel="stylesheet" 
        href="https://cdn.staticfile.org/highlight.js/9.16.2/styles/<%= theme.highlight.lightmode %>.min.css">
    <link media="none" onload="media='all'" id="highlight-dark-theme" rel="stylesheet"
        href="https://cdn.staticfile.org/highlight.js/9.16.2/styles/<%= theme.highlight.darkmode %>.min.css">
    <script>
        window.addEventListener("load", () => {
            const theme_selector = (mode) => {
                if (mode === SystemDarkmodePreference.dark) {
                    document.getElementById("highlight-light-theme").setAttribute("disabled", "disabled");
                    document.getElementById("highlight-dark-theme").removeAttribute("disabled");
                } else {
                    document.getElementById("highlight-dark-theme").setAttribute("disabled", "disabled");
                    document.getElementById("highlight-light-theme").removeAttribute("disabled");
                }
                console.debug(`highlightjs theme set to ${mode}`);
            };
            darklistener.add(theme_selector);
        }, false);
    </script>
<% } %>

<!-- Shikwasa Player support -->
<% if (is_post() && theme.podcast && page.podcast) { %>
    <script defer src="https://cdn.jsdelivr.net/npm/shikwasa/dist/shikwasa.min.js"></script>
    <link media="none" onload="media='all'" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/shikwasa/dist/shikwasa.min.css">
    <% if (page.podcast.chapters) { %>
        <script defer src="https://cdn.jsdelivr.net/npm/shikwasa/dist/shikwasa.chapter.min.js"></script>
        <link media="none" onload="media='all'" rel="stylesheet"
            href="https://cdn.jsdelivr.net/npm/shikwasa/dist/shikwasa.chapter.min.css">
    <% } %>  
<% } %>

<!-- Font Awesome delay loading -->
<link rel="preload" as="style" onload="this.rel='stylesheet'" rel="stylesheet"
    href="https://cdn.bootcdn.net/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">