Files
Gogs/templates/base/footer.tmpl
Jakub Domeracki 2c88cd4d9f security: patch mermaid package version
Co-authored-by: Jakub Domeracki <jdomeracki.itsec@gmail.com>
Co-authored-by: ᴊᴏᴇ ᴄʜᴇɴ <jc@unknwon.io>
2025-12-04 14:58:06 +09:00

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>