1
{{ with .Site.Params.plantuml }}
5
function encode64(data) {
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);
13
r += append3bytes(data.charCodeAt(i), data.charCodeAt(i + 1),
14
data.charCodeAt(i + 2));
20
function append3bytes(b1, b2, b3) {
22
c2 = ((b1 & 0x3) << 4) | (b2 >> 4);
23
c3 = ((b2 & 0xF) << 2) | (b3 >> 6);
26
r += encode6bit(c1 & 0x3F);
27
r += encode6bit(c2 & 0x3F);
28
r += encode6bit(c3 & 0x3F);
29
r += encode6bit(c4 & 0x3F);
33
function encode6bit(b) {
35
return String.fromCharCode(48 + b);
39
return String.fromCharCode(65 + b);
43
return String.fromCharCode(97 + b);
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)) + '">')