my-gitea-templates/templates/base/ footer.tmpl
113 lines
3.5 KiB

  1. {{/*
  2. <html>
  3. <body>
  4. <div>
  5. */}}
  6. {{template "custom/body_inner_post" .}}
  7. </div>
  8. {{template "custom/body_outer_post" .}}
  9. <script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script>
  10. <script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script>
  11. {{if .RequireSimpleMDE}}
  12. <script src="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.js"></script>
  13. <script src="{{AppSubUrl}}/vendor/plugins/codemirror/addon/mode/loadmode.js"></script>
  14. <script src="{{AppSubUrl}}/vendor/plugins/codemirror/mode/meta.js"></script>
  15. <script>
  16. CodeMirror.modeURL = "{{AppSubUrl}}/vendor/plugins/codemirror/mode/%N/%N.js";
  17. </script>
  18. {{end}}
  19. {{if .RequireGitGraph}}
  20. <!-- graph -->
  21. <script src="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.js"></script>
  22. <script src="{{AppSubUrl}}/js/draw.js"></script>
  23. {{end}}
  24. <!-- Third-party libraries -->
  25. {{if .RequireHighlightJS}}
  26. <script src="{{AppSubUrl}}/vendor/plugins/highlight/highlight.pack.js"></script>
  27. {{end}}
  28. {{if .RequireMinicolors}}
  29. <script src="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js"></script>
  30. {{end}}
  31. {{if .RequireDatetimepicker}}
  32. <script src="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js"></script>
  33. {{end}}
  34. {{if .RequireDropzone}}
  35. <script src="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.js"></script>
  36. {{end}}
  37. {{if .RequireU2F}}
  38. <script src="{{AppSubUrl}}/vendor/plugins/u2f/index.js"></script>
  39. {{end}}
  40. {{if .RequireTribute}}
  41. <script src="{{AppSubUrl}}/vendor/plugins/tribute/tribute.min.js"></script>
  42. {{if .Assignees}}
  43. <script>
  44. var issuesTribute = new Tribute({
  45. values: [
  46. {{ range .Assignees }}
  47. {key: '{{.Name}} {{.FullName}}', value: '{{.Name}}',
  48. name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'},
  49. {{ end }}
  50. ],
  51. noMatchTemplate: function () { return null },
  52. menuItemTemplate: function (item) {
  53. var user = item.original;
  54. var itemStr = '<img src="' + user.avatar + '"/><span class="name">' + user.name + '</span>';
  55. if (user.fullname && user.fullname != '') {
  56. itemStr += '<span class="fullname">' + user.fullname + '</span>';
  57. }
  58. return itemStr;
  59. }
  60. })
  61. issuesTribute.attach(document.getElementById('content'))
  62. </script>
  63. {{end}}
  64. <script>
  65. var emojiTribute = new Tribute({
  66. collection: [{
  67. trigger: ':',
  68. requireLeadingSpace: true,
  69. values: function (text, cb) {
  70. var array = emojify.emojiNames;
  71. var data = [];
  72. for(var j=0; j<array.length; j++) {
  73. if(array[j].indexOf(text) !== -1) {
  74. data.push(array[j]);
  75. if(data.length > 5) {
  76. break;
  77. }
  78. }
  79. }
  80. cb(data);
  81. },
  82. lookup: function (item) {
  83. return item;
  84. },
  85. selectTemplate: function (item) {
  86. if (typeof item === 'undefinied') return null;
  87. return ':' + item.original + ':';
  88. },
  89. menuItemTemplate: function (item) {
  90. return '<img class="emoji" src="{{AppSubUrl}}/vendor/plugins/emojify/images/' + item.original + '.png"/>' + item.original;
  91. }
  92. }]
  93. });
  94. emojiTribute.attach(document.getElementById('content'))
  95. </script>
  96. {{end}}
  97. <script src="{{AppSubUrl}}/vendor/plugins/emojify/emojify.min.js"></script>
  98. <script src="{{AppSubUrl}}/vendor/plugins/clipboard/clipboard.min.js"></script>
  99. <script src="{{AppSubUrl}}/vendor/plugins/vue/vue.min.js"></script>
  100. <!-- JavaScript -->
  101. <script src="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js"></script>
  102. <script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script>
  103. {{template "custom/footer" .}}
  104. </body>
  105. </html>