mirror of
https://github.com/gogs/gogs.git
synced 2026-02-07 15:09:21 +01:00
Co-authored-by: Jakub Domeracki <jdomeracki.itsec@gmail.com> Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
114 lines
4.3 KiB
Cheetah
114 lines
4.3 KiB
Cheetah
{{/*
|
|
<html>
|
|
<body>
|
|
<div>
|
|
*/}}
|
|
</div>
|
|
<footer>
|
|
<div class="ui container">
|
|
<div class="ui left">
|
|
© {{Year}} {{AppName}}
|
|
</div>
|
|
<div class="ui right links">
|
|
{{if ShowFooterTemplateLoadTime}}
|
|
<span>
|
|
{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>
|
|
</span>
|
|
{{end}}
|
|
{{if .ShowFooterBranding}}
|
|
<a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</span></a>
|
|
<a target="_blank" rel="noopener noreferrer" href="https://twitter.com/GogsHQ"><i class="fa fa-twitter"></i><span class="sr-only">Twitter</span></a>
|
|
<a target="_blank" rel="noopener noreferrer" href="http://weibo.com/gogschina"><i class="fa fa-weibo"></i><span class="sr-only">Sina Weibo</span></a>
|
|
{{end}}
|
|
<div class="ui language bottom floating slide up dropdown link item">
|
|
<i class="world icon"></i>
|
|
<div class="text">{{.LangName}}</div>
|
|
<div class="menu">
|
|
{{range .AllLangs}}
|
|
<a class="item {{if eq $.Lang .Lang}}active selected{{end}}" href="{{if eq $.Lang .Lang}}#{{else}}{{$.Link}}?lang={{.Lang}}{{end}}">{{.Name}}</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<a href="/assets/librejs/librejs.html" style="display:none" data-jslicense="1">Javascript Licenses</a>
|
|
<a target="_blank" rel="noopener noreferrer" href="https://gogs.io">{{.i18n.Tr "website"}}</a>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
|
|
<!-- Third-party libraries -->
|
|
{{if .RequireHighlightJS}}
|
|
<link rel="stylesheet" href="{{AppSubURL}}/plugins/highlight-9.18.0/github.css">
|
|
<script src="{{AppSubURL}}/plugins/highlight-9.18.0/highlight.pack.js"></script>
|
|
<script>hljs.initHighlightingOnLoad();</script>
|
|
{{end}}
|
|
{{if .RequireMinicolors}}
|
|
<link rel="stylesheet" href="{{AppSubURL}}/plugins/jquery.minicolors-2.2.3/jquery.minicolors.css">
|
|
<script src="{{AppSubURL}}/plugins/jquery.minicolors-2.2.3/jquery.minicolors.min.js"></script>
|
|
{{end}}
|
|
{{if .RequireDatetimepicker}}
|
|
<link rel="stylesheet" href="{{AppSubURL}}/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.css">
|
|
<script src="{{AppSubURL}}/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.js"></script>
|
|
{{end}}
|
|
{{if .RequireDropzone}}
|
|
<link rel="stylesheet" href="{{AppSubURL}}/plugins/dropzone-5.5.0/dropzone.min.css">
|
|
<script src="{{AppSubURL}}/plugins/dropzone-5.5.0/dropzone.min.js"></script>
|
|
<script>Dropzone.autoDiscover = false</script>
|
|
{{end}}
|
|
{{if .RequireAutosize}}
|
|
<script src="{{AppSubURL}}/plugins/autosize-4.0.2/autosize.min.js"></script>
|
|
{{end}}
|
|
{{if .IsMarkdown}}
|
|
<script src="{{AppSubURL}}/plugins/mermaid-11.12.1/mermaid.min.js"></script>
|
|
<script>
|
|
$(document).ready(function () {
|
|
const deepMerge = function(target, source) {
|
|
// Create a deep copy of the target to avoid modifying the original
|
|
const output = { ...target };
|
|
|
|
if (target && typeof target === 'object' && source && typeof source === 'object') {
|
|
for (const key in source) {
|
|
if (source.hasOwnProperty(key)) {
|
|
if (source[key] instanceof Object && target[key] instanceof Object) {
|
|
// If both are objects, recursively merge
|
|
output[key] = deepMerge(target[key], source[key]);
|
|
} else if (Array.isArray(source[key]) && Array.isArray(target[key])) {
|
|
// If both are arrays, concatenate them
|
|
output[key] = [...target[key], ...source[key]];
|
|
} else {
|
|
// Otherwise, overwrite with the source value
|
|
output[key] = source[key];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return output;
|
|
};
|
|
|
|
let initializeOpts = { startOnLoad: false, sequence: {noteMargin: 10}, journey: {noteMargin: 10}, timeline: {noteMargin: 10}, state: {noteMargin: 10} };
|
|
|
|
if (window.MERMAID_INITIALIZE_OPTIONS) {
|
|
// allow customization in inject/head.tmpl
|
|
initializeOpts = deepMerge(initializeOpts, window.MERMAID_INITIALIZE_OPTIONS);
|
|
}
|
|
|
|
mermaid.initialize(initializeOpts);
|
|
|
|
let runOpts = { querySelector: '.language-mermaid' };
|
|
if (window.MERMAID_RUN_OPTIONS) {
|
|
// allow customization in inject/head.tmpl
|
|
runOpts = deepMerge(runOpts, window.MERMAID_RUN_OPTIONS);
|
|
}
|
|
|
|
mermaid.run(runOpts);
|
|
});
|
|
</script>
|
|
{{end}}
|
|
|
|
<script src="{{AppSubURL}}/js/libs/emojify-1.1.0.min.js"></script>
|
|
<script src="{{AppSubURL}}/js/libs/clipboard-2.0.4.min.js"></script>
|
|
|
|
{{template "inject/footer" .}}
|
|
</html>
|