2982afe6b4
Currently, this needs to be its own chunk because fomantic depends on jQuery being present. The next step is to move fomantic to webpack too after which we can combine the index,fomantic and jquery files into one. jquery-migrate is still neccessary because our ancient version of Dropzone seems to break without it. I imagine it can be removed after a Dropzone upgrade.
128 lines
4.2 KiB
Cheetah
128 lines
4.2 KiB
Cheetah
{{/*
|
|
<html>
|
|
<body>
|
|
<div>
|
|
*/}}
|
|
|
|
{{template "custom/body_inner_post" .}}
|
|
|
|
</div>
|
|
|
|
{{template "custom/body_outer_post" .}}
|
|
|
|
{{template "base/footer_content" .}}
|
|
|
|
<script src="{{StaticUrlPrefix}}/js/jquery.js?v={{MD5 AppVer}}"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script>
|
|
{{if .RequireSimpleMDE}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.js"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/codemirror/addon/mode/loadmode.js"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/codemirror/mode/meta.js"></script>
|
|
<script>
|
|
CodeMirror.modeURL = "{{StaticUrlPrefix}}/vendor/plugins/codemirror/mode/%N/%N.js";
|
|
</script>
|
|
{{end}}
|
|
|
|
<!-- Third-party libraries -->
|
|
{{if .RequireHighlightJS}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/highlight/highlight.pack.js"></script>
|
|
{{end}}
|
|
{{if .RequireMinicolors}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js"></script>
|
|
{{end}}
|
|
{{if .RequireDatetimepicker}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js"></script>
|
|
{{end}}
|
|
{{if .RequireDropzone}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/dropzone/dropzone.js"></script>
|
|
{{end}}
|
|
{{if .RequireU2F}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/u2f/index.js"></script>
|
|
{{end}}
|
|
{{if .EnableCaptcha}}
|
|
{{if eq .CaptchaType "recaptcha"}}
|
|
<script src='{{ URLJoin .RecaptchaURL "api.js"}}' async></script>
|
|
{{end}}
|
|
{{end}}
|
|
{{if .RequireTribute}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/tribute/tribute.min.js"></script>
|
|
<script>
|
|
var issuesTribute = new Tribute({
|
|
values: [
|
|
{{ range .Assignees }}
|
|
{key: '{{.Name}} {{.FullName}}', value: '{{.Name}}',
|
|
name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'},
|
|
{{ end }}
|
|
],
|
|
noMatchTemplate: function () { return null },
|
|
menuItemTemplate: function (item) {
|
|
var user = item.original;
|
|
var item = $('<div/>')
|
|
item.append($('<img/>', {'src': user.avatar}))
|
|
item.append($('<span/>', {'class': 'name'}).text(user.name))
|
|
if (user.fullname && user.fullname != '') {
|
|
item.append($('<span/>', {'class': 'fullname'}).text(user.fullname))
|
|
}
|
|
return item.html();
|
|
}
|
|
});
|
|
var content = document.getElementById('content');
|
|
if (content != null) {
|
|
issuesTribute.attach(content);
|
|
}
|
|
</script>
|
|
<script>
|
|
var emojiTribute = new Tribute({
|
|
collection: [{
|
|
trigger: ':',
|
|
requireLeadingSpace: true,
|
|
values: function (text, cb) {
|
|
var array = emojify.emojiNames;
|
|
var data = [];
|
|
for(var j=0; j<array.length; j++) {
|
|
if(array[j].indexOf(text) !== -1) {
|
|
data.push(array[j]);
|
|
if(data.length > 5) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
cb(data);
|
|
},
|
|
lookup: function (item) {
|
|
return item;
|
|
},
|
|
selectTemplate: function (item) {
|
|
if (typeof item === 'undefined') return null;
|
|
return ':' + item.original + ':';
|
|
},
|
|
menuItemTemplate: function (item) {
|
|
return '<img class="emoji" src="{{StaticUrlPrefix}}/vendor/plugins/emojify/images/' + item.original + '.png"/>' + item.original;
|
|
}
|
|
}]
|
|
});
|
|
var emojiInputs = document.querySelectorAll('.emoji-input');
|
|
if (emojiInputs.length > 0) {
|
|
emojiTribute.attach(emojiInputs);
|
|
}
|
|
var content = document.getElementById('content');
|
|
if (content != null) {
|
|
emojiTribute.attach(document.getElementById('content'));
|
|
}
|
|
</script>
|
|
{{end}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/emojify/emojify.custom.js"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/clipboard/clipboard.min.js"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/vue/vue.min.js"></script>
|
|
<script src="{{StaticUrlPrefix}}/fomantic/semantic.min.js?v={{MD5 AppVer}}"></script>
|
|
<script src="{{StaticUrlPrefix}}/js/index.js?v={{MD5 AppVer}}"></script>
|
|
{{if .EnableHeatmap}}
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/moment/moment.min.js" charset="utf-8"></script>
|
|
<script src="{{StaticUrlPrefix}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.browser.js" charset="utf-8"></script>
|
|
<script type="text/javascript">
|
|
window.initHeatmap('user-heatmap', '{{.HeatmapUser}}');
|
|
</script>
|
|
{{end}}
|
|
{{template "custom/footer" .}}
|
|
</body>
|
|
</html>
|