diff options
author | Thedro Neely <thedroneely@gmail.com> | 2022-03-02 23:05:12 -0500 |
---|---|---|
committer | Thedro Neely <thedroneely@gmail.com> | 2022-03-03 00:35:50 -0500 |
commit | 78f2574be9c2ed3249c228d1f2160b7188ef57ef (patch) | |
tree | 3393942bad6ead50c1726392c53e1093af0e3124 /templates/base | |
parent | 10f027de65222224a095bb08b153b8cde619736e (diff) | |
download | gitea-templates-78f2574be9c2ed3249c228d1f2160b7188ef57ef.tar.gz gitea-templates-78f2574be9c2ed3249c228d1f2160b7188ef57ef.tar.bz2 gitea-templates-78f2574be9c2ed3249c228d1f2160b7188ef57ef.zip |
templates: Reset and sync to version 1.16.2
Diffstat (limited to 'templates/base')
-rw-r--r-- | templates/base/footer.tmpl | 36 | ||||
-rw-r--r-- | templates/base/head.tmpl | 157 | ||||
-rw-r--r-- | templates/base/head_navbar.tmpl | 131 |
3 files changed, 60 insertions, 264 deletions
diff --git a/templates/base/footer.tmpl b/templates/base/footer.tmpl deleted file mode 100644 index 65bf2f0..0000000 --- a/templates/base/footer.tmpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* -<html> -<body> - <div> -*/}} - - {{template "custom/body_inner_post" .}} - - </div> - - {{template "custom/body_outer_post" .}} - - {{template "base/footer_content" .}} - - <script src="{{StaticUrlPrefix}}/vendor/plugins/jquery/jquery.min.js?v=3.4.1"></script> - <script src="{{StaticUrlPrefix}}/vendor/plugins/jquery-migrate/jquery-migrate.min.js?v=3.0.1"></script> - <script src="{{StaticUrlPrefix}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script> - -<!-- Third-party libraries --> - <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> - - <!-- JavaScript --> - <script src="{{StaticUrlPrefix}}/vendor/plugins/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> diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index df4ce00..32e206a 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -1,115 +1,71 @@ <!DOCTYPE html> -<html lang="{{.Language}}"> -<head data-suburl="{{AppSubUrl}}"> +<html lang="{{.i18n.Lang}}" class="theme-{{.SignedUser.Theme}}"> +<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="x-ua-compatible" content="ie=edge"> - <title>{{if .Title}}{{.Title}} - {{end}} {{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}}</title> - <link rel="manifest" href="{{AppSubUrl}}/manifest.json" crossorigin="use-credentials"> - {{if UseServiceWorker}} - <script> - if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('{{AppSubUrl}}/serviceworker.js').then(function(registration) { - // Registration was successful - console.info('ServiceWorker registration successful with scope: ', registration.scope); - }, function(err) { - // registration failed :( - console.info('ServiceWorker registration failed: ', err); - }); - } - </script> - {{else}} - <script> - if ('serviceWorker' in navigator) { - navigator.serviceWorker.getRegistrations().then(function(registrations) { - registrations.forEach(function(registration) { - registration.unregister(); - console.info('ServiceWorker unregistered'); - }); - }); - } - </script> - {{end}} + <title>{{if .Title}}{{.Title | RenderEmojiPlain}} - {{end}} {{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}}</title> + <link rel="manifest" href="data:{{.ManifestData}}"/> <meta name="theme-color" content="{{ThemeColorMetaTag}}"> + <meta name="default-theme" content="{{DefaultTheme}}" /> <meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" /> <meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}" /> <meta name="keywords" content="{{MetaKeywords}}"> <meta name="referrer" content="no-referrer" /> - <meta name="_csrf" content="{{.CsrfToken}}" /> - <meta name="_suburl" content="{{AppSubUrl}}" /> - {{if .IsSigned}} - <meta name="_uid" content="{{.SignedUser.ID}}" /> - {{end}} - {{if .ContextUser}} - <meta name="_context_uid" content="{{.ContextUser.ID}}" /> - {{end}} - {{if .SearchLimit}} - <meta name="_search_limit" content="{{.SearchLimit}}" /> - {{end}} {{if .GoGetImport}} <meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}"> <meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}"> {{end}} - - <script> - {{SafeJS `/* - @licstart The following is the entire license notice for the - JavaScript code in this page. - - Copyright (c) 2016 The Gitea Authors - Copyright (c) 2015 The Gogs Authors - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - --- - Licensing information for additional javascript libraries can be found at: - {{StaticUrlPrefix}}/vendor/librejs.html - - @licend The above is the entire license notice - for the JavaScript code in this page. - */`}} - </script> <script> + <!-- /* eslint-disable */ --> window.config = { - StaticUrlPrefix: '{{StaticUrlPrefix}}' - } + appVer: '{{AppVer}}', + appSubUrl: '{{AppSubUrl}}', + assetUrlPrefix: '{{AssetUrlPrefix}}', + runModeIsProd: {{.RunModeIsProd}}, + customEmojis: {{CustomEmojis}}, + useServiceWorker: {{UseServiceWorker}}, + csrfToken: '{{.CsrfToken}}', + pageData: {{.PageData}}, + requireTribute: {{.RequireTribute}}, + notificationSettings: {{NotificationSettings}}, {{/*a map provided by NewFuncMap in helper.go*/}} + enableTimeTracking: {{EnableTimetracking}}, + {{if .RequireTribute}} + tributeValues: Array.from(new Map([ + {{ range .Participants }} + ['{{.Name}}', {key: '{{.Name}} {{.FullName}}', value: '{{.Name}}', + name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.AvatarLink}}'}], + {{ end }} + {{ range .Assignees }} + ['{{.Name}}', {key: '{{.Name}} {{.FullName}}', value: '{{.Name}}', + name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.AvatarLink}}'}], + {{ end }} + {{ range .MentionableTeams }} + ['{{$.MentionableTeamsOrg}}/{{.Name}}', {key: '{{$.MentionableTeamsOrg}}/{{.Name}}', value: '{{$.MentionableTeamsOrg}}/{{.Name}}', + name: '{{$.MentionableTeamsOrg}}/{{.Name}}', avatar: '{{$.MentionableTeamsOrgAvatar}}'}], + {{ end }} + ]).values()), + {{end}} + mermaidMaxSourceCharacters: {{MermaidMaxSourceCharacters}}, + {{/* this global i18n object should only contain general texts. for specialized texts, it should be provided inside the related modules by: (1) API response (2) HTML data-attribute (3) PageData */}} + i18n: { + copy_success: '{{.i18n.Tr "copy_success"}}', + copy_error: '{{.i18n.Tr "copy_error"}}', + error_occurred: '{{.i18n.Tr "error.occurred"}}', + network_error: '{{.i18n.Tr "error.network_error"}}', + }, + }; + {{/* in case some pages don't render the pageData, we make sure it is an object to prevent null access */}} + window.config.pageData = window.config.pageData || {}; </script> - <link rel="shortcut icon" href="{{StaticUrlPrefix}}/img/favicon.png" /> - <link rel="mask-icon" href="{{StaticUrlPrefix}}/img/gitea-safari.svg" color="#609926"> - <link rel="preload" href="{{StaticUrlPrefix}}/vendor/assets/font-awesome/css/font-awesome.min.css" as="style" onload="this.rel='stylesheet'"> - <noscript><link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/assets/font-awesome/css/font-awesome.min.css"></noscript> - <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/assets/octicons/octicons.min.css"> - - <!-- Stylesheet --> - <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/fomantic/semantic.min.css?v={{MD5 AppVer}}"> - <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/index.css?v={{MD5 AppVer}}"> + <link rel="icon" href="{{AssetUrlPrefix}}/img/logo.svg" type="image/svg+xml"> + <link rel="alternate icon" href="{{AssetUrlPrefix}}/img/favicon.png" type="image/png"> + <link rel="stylesheet" href="{{AssetUrlPrefix}}/css/index.css?v={{MD5 AppVer}}"> <noscript> <style> .dropdown:hover > .menu { display: block; } .ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } </style> </noscript> - -{{if .EnableHeatmap}} - <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.css"> -{{end}} - <style class="list-search-style"></style> - {{if .PageIsUserProfile}} <meta property="og:title" content="{{.Owner.Name}}" /> <meta property="og:type" content="profile" /> @@ -133,21 +89,25 @@ {{end}} {{end}} <meta property="og:type" content="object" /> - <meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" /> + {{if .Repository.AvatarLink}} + <meta property="og:image" content="{{.Repository.AvatarLink}}" /> + {{else}} + <meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" /> + {{end}} {{else}} <meta property="og:title" content="{{AppName}}"> <meta property="og:type" content="website" /> - <meta property="og:image" content="{{StaticUrlPrefix}}/img/gitea-lg.png" /> + <meta property="og:image" content="{{AssetUrlPrefix}}/img/logo.png" /> <meta property="og:url" content="{{AppUrl}}" /> <meta property="og:description" content="{{MetaDescription}}"> {{end}} <meta property="og:site_name" content="{{AppName}}" /> {{if .IsSigned }} {{ if ne .SignedUser.Theme "gitea" }} - <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{.SignedUser.Theme}}.css?v={{MD5 AppVer}}"> + <link rel="stylesheet" href="{{AssetUrlPrefix}}/css/theme-{{.SignedUser.Theme | PathEscape}}.css?v={{MD5 AppVer}}"> {{end}} {{else if ne DefaultTheme "gitea"}} - <link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{DefaultTheme}}.css?v={{MD5 AppVer}}"> + <link rel="stylesheet" href="{{AssetUrlPrefix}}/css/theme-{{DefaultTheme | PathEscape}}.css?v={{MD5 AppVer}}"> {{end}} {{template "custom/header" .}} </head> @@ -155,6 +115,7 @@ {{template "custom/body_outer_pre" .}} <div class="full height"> + <noscript>{{.i18n.Tr "enable_javascript"}}</noscript> {{template "custom/body_inner_pre" .}} @@ -163,8 +124,10 @@ {{template "base/head_navbar" .}} </div><!-- end bar --> {{end}} -{{/* + +{{if false}} + {{/* to make html structure "likely" complete to prevent IDE warnings */}} </div> </body> </html> -*/}} +{{end}} diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl deleted file mode 100644 index c985963..0000000 --- a/templates/base/head_navbar.tmpl +++ /dev/null @@ -1,131 +0,0 @@ -<div class="ui container" id="navbar"> - <div class="item brand" style="justify-content: space-between;"> - <a href="{{AppSubUrl}}/"> - <img class="ui mini image" src="{{StaticUrlPrefix}}/img/gitea-sm.png"> - </a> - <div class="ui basic icon button mobile-only" id="navbar-expand-toggle"> - <i class="sidebar icon"></i> - </div> - </div> - - {{if .IsSigned}} - <a class="item {{if .PageIsDashboard}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a> - <a class="item {{if .PageIsIssues}}active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a> - <a class="item {{if .PageIsPulls}}active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a> - {{if .ShowMilestonesDashboardPage}}<a class="item {{if .PageIsMilestonesDashboard}}active{{end}}" href="{{AppSubUrl}}/milestones">{{.i18n.Tr "milestones"}}</a>{{end}} - <a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a> - {{else if .IsLandingPageHome}} - <a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a> - <a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a> - {{else if .IsLandingPageExplore}} - <a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "home"}}</a> - {{else if .IsLandingPageOrganizations}} - <a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "home"}}</a> - {{end}} - - {{template "custom/extra_links" .}} - - {{/* - <div class="item"> - <div class="ui icon input"> - <input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}"> - <i class="search icon"></i> - </div> - </div> - */}} - - {{if .IsSigned}} - <div class="right stackable menu"> - <a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted"> - <span class="text"> - <i class="fitted octicon octicon-bell"></i> - <span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span> - - {{if .NotificationUnreadCount}} - <span class="ui red label"> - {{.NotificationUnreadCount}} - </span> - {{end}} - </span> - </a> - - <div class="ui dropdown jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted"> - <span class="text"> - <i class="fitted octicon octicon-plus"></i> - <span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span> - <i class="fitted octicon octicon-triangle-down not-mobile"></i> - </span> - <div class="menu"> - <a class="item" href="{{AppSubUrl}}/repo/create"> - <i class="octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}} - </a> - <a class="item" href="{{AppSubUrl}}/repo/migrate"> - <i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}} - </a> - {{if .SignedUser.CanCreateOrganization}} - <a class="item" href="{{AppSubUrl}}/org/create"> - <i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}} - </a> - {{end}} - </div><!-- end content create new menu --> - </div><!-- end dropdown menu create new --> - - <div class="ui dropdown jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted"> - <span class="text"> - <img class="ui tiny avatar image" src="{{.SignedUser.RelAvatarLink}}"> - <span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span> - <span>{{.SignedUser.Name}}</span> - <i class="fitted octicon octicon-triangle-down not-mobile" tabindex="-1"></i> - </span> - <div class="menu user-menu" tabindex="-1"> - <div class="ui header"> - {{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong> - </div> - - <div class="divider"></div> - <a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}"> - <i class="octicon octicon-person"></i> - {{.i18n.Tr "your_profile"}}<!-- Your profile --> - </a> - <a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars"> - <i class="octicon octicon-star"></i> - {{.i18n.Tr "your_starred"}} - </a> - <a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> - <i class="octicon octicon-settings"></i> - {{.i18n.Tr "your_settings"}}<!-- Your settings --> - </a> - {{if .IsAdmin}} - <div class="divider"></div> - - <a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin"> - <i class="icon settings"></i> - {{.i18n.Tr "admin_panel"}}<!-- Admin Panel --> - </a> - {{end}} - - <div class="divider"></div> - <a class="item link-action" href data-url="{{AppSubUrl}}/user/logout" data-redirect="{{AppSubUrl}}/"> - <i class="octicon octicon-sign-out"></i> - {{.i18n.Tr "sign_out"}}<!-- Sign Out --> - </a> - </div><!-- end content avatar menu --> - </div><!-- end dropdown avatar menu --> - </div><!-- end signed user right menu --> - - {{else}} - - <a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">{{.i18n.Tr "help"}}</a> - <div class="right stackable menu"> - {{if .ShowRegistrationButton}} - <a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up"> - <i class="octicon octicon-person"></i> {{.i18n.Tr "register"}} - </a> - {{end}} - <a class="item{{if .PageIsSignIn}} active{{end}}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}"> - <i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}} - </a> - </div><!-- end anonymous right menu --> - - {{end}} -</div> |