talos

Форк
0
62 строки · 1.7 Кб
1
{{ with .Site.Params.plantuml }}
2
{{ if .enable }}
3
(function($) {
4

5
    function encode64(data) {
6
        r = "";
7
        for (i = 0; i < data.length; i += 3) {
8
            if (i + 2 == data.length) {
9
                r += append3bytes(data.charCodeAt(i), data.charCodeAt(i + 1), 0);
10
            } else if (i + 1 == data.length) {
11
                r += append3bytes(data.charCodeAt(i), 0, 0);
12
            } else {
13
                r += append3bytes(data.charCodeAt(i), data.charCodeAt(i + 1),
14
                    data.charCodeAt(i + 2));
15
            }
16
        }
17
        return r;
18
    }
19

20
    function append3bytes(b1, b2, b3) {
21
        c1 = b1 >> 2;
22
        c2 = ((b1 & 0x3) << 4) | (b2 >> 4);
23
        c3 = ((b2 & 0xF) << 2) | (b3 >> 6);
24
        c4 = b3 & 0x3F;
25
        r = "";
26
        r += encode6bit(c1 & 0x3F);
27
        r += encode6bit(c2 & 0x3F);
28
        r += encode6bit(c3 & 0x3F);
29
        r += encode6bit(c4 & 0x3F);
30
        return r;
31
    }
32

33
    function encode6bit(b) {
34
        if (b < 10) {
35
            return String.fromCharCode(48 + b);
36
        }
37
        b -= 10;
38
        if (b < 26) {
39
            return String.fromCharCode(65 + b);
40
        }
41
        b -= 26;
42
        if (b < 26) {
43
            return String.fromCharCode(97 + b);
44
        }
45
        b -= 26;
46
        if (b == 0) {
47
            return '-';
48
        }
49
        if (b == 1) {
50
            return '_';
51
        }
52
        return '?';
53
    }
54

55
    var needPlantuml = false;
56
    $('.language-plantuml').parent().replaceWith(function() {
57
        let s = unescape(encodeURIComponent($(this).text()));
58
        return $('<img src="{{.svg_image_url | default "http://www.plantuml.com/plantuml/svg/"}}' + encode64(deflate(s, 9)) + '">')
59
    });
60
})(jQuery);
61
{{ end }}
62
{{ end }}
63

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.