summaryrefslogtreecommitdiffstats
path: root/layouts/partials/scripts.html
blob: eceda377d64f63e99394b967b8808b67789dd70b (plain) (blame)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!-- Comment loading indicator -->
{{ if and (.IsPage) (.Site.Params.utterancesComment) }}
<script>
    $(function () {
        var loadingBar = new ProgressBar.Circle('#loading-bar', {
            color: '#8AA2D3',
            strokeWidth: 15,
            trailColor: '#E5E2E4',
            trailWidth: 15,
            fill: '#E5E2E4'
        });
        loadingBar.animate(1.0, {
            duration: 10000
        });

        var commentStatus;
        var commentLoadingTime = 0;
        var commentCheckInterval = self.setInterval(checkUtterances, 500);

        function checkUtterances() {
            commentStatus = $('#post-comment .utterances').attr('style');
            if (commentStatus === undefined) {
                commentLoadingTime += 1;
                if (commentLoadingTime > 20) {
                    clearInterval(commentCheckInterval);
                    $('#post-comment').hide();
                    $('#post-loading p').text('{{ i18n "postCommentLoadingFailed" }}');
                }
                return;
            } else {
                clearInterval(commentCheckInterval);
                loadingBar.animate(1.0, {
                    duration: 500
                }, function () {
                    $('#post-loading').hide();
                });
            }
        }
    });
</script>
{{ end }}
<!-- Scroll to top button -->
{{ if .Site.Params.scrollTop }}
<script>
    $(function () {
        var bar = new ProgressBar.Circle('#progress', {
            color: '#8AA2D3',
            strokeWidth: 12,
            trailColor: '#E5E2E4',
            trailWidth: 12,
            text: {
                value: '<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-up" class="svg-inline--fa fa-angle-up fa-w-10" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"></path></svg>',
                autoStyleContainer: false,
                style: null
            },
            fill: '#E5E2E4'
        });
        var scrolled = ($(window).scrollTop() / ($(document).height() - $(window).height() - 1));
        bar.animate(scrolled);
        $(window).scroll(function () {
            scrolled = ($(window).scrollTop() / ($(document).height() - $(window).height() - 1));
            if (scrolled < 0.0005) {
                scrolled = 0;
            } else if (scrolled > 1) {
                scrolled = 1;
            }
            bar.set(scrolled);
        });
    });
    $('#container-progress').click(function () {
        $('html, body').animate({
            scrollTop: 0
        }, 'slow');
        return false;
    });
</script>
{{ end }}
<!-- Vanilla LazyLoad -->
<script>
    $(function () {
        var lazyLoadInstance = new LazyLoad({
            elements_selector: ".lazy"
        });
    });
</script>