aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--public/css/override.css270
-rw-r--r--public/img/favicon.icobin15086 -> 0 bytes
-rw-r--r--public/img/favicon.pngbin785 -> 4351 bytes
l---------public/img/gitea-sm.png1
-rw-r--r--public/img/logo.svg1
-rw-r--r--templates/base/head.tmpl180
-rw-r--r--templates/base/head_navbar.tmpl136
-rw-r--r--templates/custom/header.tmpl2
-rw-r--r--templates/repo/header.tmpl167
-rw-r--r--templates/repo/home.tmpl142
11 files changed, 207 insertions, 696 deletions
diff --git a/README.md b/README.md
index 64448ef..c038248 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
# Thedro's Custom Gitea Templates
-Compatible with Gitea version 1.11.8
+
+Gitea custom template skeleton. This repository is compatible with Gitea
+version 1.16.2.
diff --git a/public/css/override.css b/public/css/override.css
index ee9a6f2..9ced3df 100644
--- a/public/css/override.css
+++ b/public/css/override.css
@@ -1,133 +1,145 @@
-/*
- * Reset
- */
-body { overflow-y: scroll; }
-a, .ui.breadcrumb a { color: #0366d6; }
-#repo-files-table .message a, .repository.file.list #repo-files-table .jumpable-path { color: #4e555e; }
-
-@media only screen and (min-width: 1200px) { .dashboard-navbar, .ui.container { width: 1088px !important; margin-left: auto; margin-right: auto; } }
-@media only screen and (min-width: 992px) and (max-width: 1199px) { .dashboard-navbar, .ui.container{ width: 933px !important; margin-left: auto; margin-right: auto; } }
-@media only screen and (max-width: 991px) and (min-width: 768px) { .dashboard-navbar, .ui.container { width: 95% !important; margin-left: auto; margin-right: auto; } }
-
-
-/*
- * Hide specific octicons
- */
-.octicon-tools,
-.octicon-sign-in, .item .octicon-repo, .item .octicon-person,
-.item .octicon-organization, .mega-octicon, .ui.basic.small.compact.button .octicon-git-branch { display: none !important; }
-
-
-/*
- * Button overrides
- */
-.button, .ui.basic.button, .ui.basic.buttons .button, .ui .sha.label,
-.ui.basic.blue.button, .ui.basic.blue.buttons {
- background: linear-gradient(-180deg, #fafbfc, #eff3f6 90%) !important;
- color: #444 !important;
- border: 1px solid #ccc !important;
- box-shadow: none !important;
+body {
+ overflow-y: scroll;
}
-.ui.labeled.button, .ui.basic.buttons { border: none !important; }
-
-
-/*
- * Override font stack
- */
-*:not(i):not(.octicon):not(.mono):not(pre):not(code):not(span):not(li) { font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,
- Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol !important; }
-
-/*
- * Override repo header names font weight
- */
-.ui.list .list>.item .header, .ui.list>.item .header { font-weight: 400 !important }
-
-
-/*
- * Override explore repos header names font weight
- */
-.ui.secondary.pointing.menu .active.item { font-weight: 400 !important; background-color: #f2f2f2 !important; }
-#user-heatmap { display: block; }
-
-
-/*
- * Repository page override
- */
-.repo-topic, .repository .repo-header .fork-flag {
- display: inline-block;
- margin-left: 0.5rem;
- background-color: #e8e9eb !important;
- border-radius: 0.5rem !important;
- padding: 0 0.5rem;
+#navbar.ui.container,
+.dashboard .dashboard-navbar {
+ max-width: 1165px;
+ margin-left: auto;
+ margin-right: auto;
}
-.repo-title a:nth-child(4) { font-weight: 700; }
-.repo-header .repo-title, .repo-header .repo-buttons { margin-top: 0.5rem !important; }
-
-.repository .header-wrapper { background-color: #fafbfc; }
-.repository .navbar .ui.label { padding: 0.25rem 0.75rem; border-radius: 1rem; background-color: #e8e9eb; color: #555; font-weight: 700; }
-.repository.file.list #repo-desc, .repo-description { font-size: 1rem !important; margin: 0.75rem 0; }
-
-.repository .item { border-top: 3px solid transparent; }
-.repository a.item { padding: 0.5rem 1.5rem !important; }
-.repository .ui.tabs.divider { margin-top: -1px; }
-.repository.commits .five.wide.column { display: flex; align-self: center; }
-.repository.commits .eleven.wide.right.aligned.column form { display: flex; align-items: center; justify-content: flex-end; }
-.ui.label { color: #145180; font-weight: 400; font-size: 0.9rem !important; }
-.ui.breadcrumb .divider { font-weight: 700; color: #000; }
-.ui.table td { padding: 0.57145rem; }
-.ui.tabular.menu .item { color: #444; }
-.ui.tabular.menu .active.item { font-weight: 400; }
-.ui.attached.header { background: #f9fafb; }
-.ui.attached.header .right { margin-top: 0; }
-.ui.compact.button, .ui.compact.buttons .button { padding: 0.5rem 1rem; font-weight: 700; }
-.ui.table > tbody > tr > td, .ui.table > tr > td { padding: 8px; }
-
-.repo-title .divider { margin: 0; }
-.repo-topics, .ui.repo-description { display: none !important; }
-.repo-topics-custom, .ui.repo-description-custom { display: block !important; }
-
-.ui.segment.sub-menu { display: none; }
-.ui.secondary.pointing.menu { border-bottom: none; }
-.ui.tabs.container { overflow-x: auto; overflow-y: hidden; }
-.ui.tabular.menu .item:hover { color: #0366d6; }
-
-.user.profile .ui.stackable.grid .eleven { width: 100% !important; }
-.user.profile .ui.stackable.grid .five { display: none; }
-
-.repository.file.list #repo-files-table a:hover { text-decoration: underline; }
-.repository.file.list #repo-files-table tr:hover, .ui.basic.table tbody tr:hover,
-.repository #commits-table.ui.basic.striped.table tbody tr:hover:nth-child(2n) { background-color: #ffffe3 !important; }
-.repository #commits-table td.author a:hover { text-decoration: underline; color: #0366d6; }
-#repo-files-table .message a:hover, #repo-files-table .name a:hover,
-#repo-clone-https, #clone-panel #clipboard-btn { border-right-width: 0 !important; }
-
-
-/*
- * Explore Page
- */
-.ui.menu.new-menu, .admin .new-menu, .explore .navbar { padding: 0.75rem 0 !important; }
-.ui.secondary.pointing.menu .item { border: none !important; }
-.ui.menu.new-menu { background-color: transparent !important; }
-.explore .navbar { background-color: transparent !important; margin-bottom: 0 !important; }
-
-
-/*
- * Pagination
- */
-.pagination { border: none !important; }
-
-
-/*
- * User Profile
- */
-.user.profile .ui.secondary.stackable.pointing.menu { justify-content: center; }
-.user.profile .ui.secondary.stackable.pointing.menu i { display: none; }
-
-
-/*
- * Navigation Bar
- */
-#navbar > .item:first-child { margin-left: -1.5rem !important; }
-#navbar .right > .item:last-child { margin-right: -1.125rem !important; }
+:root {
+ --border-radius: 0.28571429rem;
+ --color-active: #00000014;
+ --color-black: #1b1c1d;
+ --color-blue: #2185d0;
+ --color-body: #ffffff;
+ --color-box-body: #ffffff;
+ --color-box-header: #f7f7f7;
+ --color-brown: #a5673f;
+ --color-button: #ffffff;
+ --color-card: #ffffff;
+ --color-caret: var(--color-text-dark);
+ --color-code-bg: #ffffff;
+ --color-code-sidebar-bg: #f5f5f5;
+ --color-diff-added-row-bg: #e6ffed;
+ --color-diff-added-row-border: #e6ffed;
+ --color-diff-added-word-bg: #acf2bd;
+ --color-diff-inactive: #f2f2f2;
+ --color-diff-moved-row-bg: #f1f8d1;
+ --color-diff-moved-row-border: #d0e27f;
+ --color-diff-removed-row-bg: #ffeef0;
+ --color-diff-removed-row-border: #f1c0c0;
+ --color-diff-removed-word-bg: #fdb8c0;
+ --color-editor-line-highlight: var(--color-primary-light-6);
+ --color-error-bg: #fff6f6;
+ --color-error-border: #e0b4b4;
+ --color-error-text: #9f3a38;
+ --color-expand-button: #d8efff;
+ --color-footer: #ffffff;
+ --color-gold: #a1882b;
+ --color-green: #21ba45;
+ --color-grey: #888888;
+ --color-hover: #0000000f;
+ --color-info-bg: #f8ffff;
+ --color-info-border: #a9d5de;
+ --color-info-text: #276f86;
+ --color-input-background: #ffffff;
+ --color-input-border-hover: #cecece;
+ --color-input-border: #dedede;
+ --color-input-text: #212121;
+ --color-light-border: #0000001d;
+ --color-light-mimic-enabled: rgba(0,0,0,calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));
+ --color-light: #00000006;
+ --color-markup-code-block: #00000010;
+ --color-markup-table-row: #00000008;
+ --color-menu: #ffffff;
+ --color-navbar-transparent: #f8f8f800;
+ --color-navbar: #f8f8f8;
+ --color-olive: #b5cc18;
+ --color-orange: #f2711c;
+ --color-pink: #e03997;
+ --color-placeholder-text: transparent;
+ --color-primary-alpha-10: #4183c419;
+ --color-primary-alpha-20: #4183c433;
+ --color-primary-alpha-30: #4183c44b;
+ --color-primary-alpha-40: #4183c466;
+ --color-primary-alpha-50: #4183c480;
+ --color-primary-alpha-60: #4183c499;
+ --color-primary-alpha-70: #4183c4b3;
+ --color-primary-alpha-80: #4183c4cc;
+ --color-primary-alpha-90: #4183c4e1;
+ --color-primary-dark-1: #3876b3;
+ --color-primary-dark-2: #31699f;
+ --color-primary-dark-3: #2b5c8b;
+ --color-primary-dark-4: #254f77;
+ --color-primary-dark-5: #193450;
+ --color-primary-dark-6: #0c1a28;
+ --color-primary-dark-7: #04080c;
+ --color-primary-light-1: #548fca;
+ --color-primary-light-2: #679cd0;
+ --color-primary-light-3: #7aa8d6;
+ --color-primary-light-4: #8db5dc;
+ --color-primary-light-5: #b3cde7;
+ --color-primary-light-6: #d9e6f3;
+ --color-primary-light-7: #f4f8fb;
+ --color-primary: #295785;
+ --color-project-board-bg: var(--color-secondary-light-4);
+ --color-project-board-dark-label: #555555;
+ --color-project-board-light-label: #a6aab5;
+ --color-purple: #a333c8;
+ --color-reaction-active-bg: var(--color-primary-alpha-20);
+ --color-reaction-bg: #0000000a;
+ --color-red: #db2828;
+ --color-secondary-alpha-10: #dedede19;
+ --color-secondary-alpha-20: #dedede33;
+ --color-secondary-alpha-30: #dedede4b;
+ --color-secondary-alpha-40: #dedede66;
+ --color-secondary-alpha-50: #dedede80;
+ --color-secondary-alpha-60: #dedede99;
+ --color-secondary-alpha-70: #dededeb3;
+ --color-secondary-alpha-80: #dededecc;
+ --color-secondary-alpha-90: #dededee1;
+ --color-secondary-bg: #f4f4f4;
+ --color-secondary-dark-10: #333333;
+ --color-secondary-dark-11: #242424;
+ --color-secondary-dark-12: #141414;
+ --color-secondary-dark-13: #040404;
+ --color-secondary-dark-1: #cecece;
+ --color-secondary-dark-2: #bfbfbf;
+ --color-secondary-dark-3: #a0a0a0;
+ --color-secondary-dark-4: #909090;
+ --color-secondary-dark-5: #818181;
+ --color-secondary-dark-6: #717171;
+ --color-secondary-dark-7: #626262;
+ --color-secondary-dark-8: #525252;
+ --color-secondary-dark-9: #434343;
+ --color-secondary-light-1: #e5e5e5;
+ --color-secondary-light-2: #ebebeb;
+ --color-secondary-light-3: #f2f2f2;
+ --color-secondary-light-4: #f8f8f8;
+ --color-secondary: #dedede;
+ --color-shadow: #00000030;
+ --color-success-bg: #fcfff5;
+ --color-success-border: #a3c293;
+ --color-success-text: #2c662d;
+ --color-teal: #00b5ad;
+ --color-text-dark: #111;
+ --color-text-light-2: #222;
+ --color-text-light-3: #444;
+ --color-text-light: #555;
+ --color-text: #212121;
+ --color-timeline: #ececec;
+ --color-violet: #6435c9;
+ --color-warning-bg: #fffaf3;
+ --color-warning-border: #c9ba9b;
+ --color-warning-text: #573a08;
+ --color-white: #ffffff;
+ --color-yellow: #fbbd08;
+ --fonts-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla";
+ --fonts-monospace: "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace, var(--fonts-emoji);
+ --fonts-proportional: -apple-system, "Segoe UI", system-ui, "Roboto", "Helvetica Neue", "Arial";
+ --height-loading: 12rem;
+ --opacity-disabled: 0.55;
+}
diff --git a/public/img/favicon.ico b/public/img/favicon.ico
deleted file mode 100644
index 3bf845b..0000000
--- a/public/img/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/public/img/favicon.png b/public/img/favicon.png
index 87e6f27..dcd4edb 100644
--- a/public/img/favicon.png
+++ b/public/img/favicon.png
Binary files differ
diff --git a/public/img/gitea-sm.png b/public/img/gitea-sm.png
new file mode 120000
index 0000000..00ac143
--- /dev/null
+++ b/public/img/gitea-sm.png
@@ -0,0 +1 @@
+favicon.png \ No newline at end of file
diff --git a/public/img/logo.svg b/public/img/logo.svg
new file mode 100644
index 0000000..afeeacb
--- /dev/null
+++ b/public/img/logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640" xml:space="preserve" width="32" height="32"><path style="fill:#fff" d="m395.9 484.2-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5 21.2-17.9 33.8-11.8 17.2 8.3 27.1 13 27.1 13l-.1-109.2 16.7-.1.1 117.1s57.4 24.2 83.1 40.1c3.7 2.3 10.2 6.8 12.9 14.4 2.1 6.1 2 13.1-1 19.3l-61 126.9c-6.2 12.7-21.4 18.1-33.9 12z"/><path style="fill:#609926" d="M622.7 149.8c-4.1-4.1-9.6-4-9.6-4s-117.2 6.6-177.9 8c-13.3.3-26.5.6-39.6.7v117.2c-5.5-2.6-11.1-5.3-16.6-7.9 0-36.4-.1-109.2-.1-109.2-29 .4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5c-9.8-.6-22.5-2.1-39 1.5-8.7 1.8-33.5 7.4-53.8 26.9C-4.9 212.4 6.6 276.2 8 285.8c1.7 11.7 6.9 44.2 31.7 72.5 45.8 56.1 144.4 54.8 144.4 54.8s12.1 28.9 30.6 55.5c25 33.1 50.7 58.9 75.7 62 63 0 188.9-.1 188.9-.1s12 .1 28.3-10.3c14-8.5 26.5-23.4 26.5-23.4S547 483 565 451.5c5.5-9.7 10.1-19.1 14.1-28 0 0 55.2-117.1 55.2-231.1-1.1-34.5-9.6-40.6-11.6-42.6zM125.6 353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6 321.8 60 295.4c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5 38.5-30c13.8-3.7 31-3.1 31-3.1s7.1 59.4 15.7 94.2c7.2 29.2 24.8 77.7 24.8 77.7s-26.1-3.1-43-9.1zm300.3 107.6s-6.1 14.5-19.6 15.4c-5.8.4-10.3-1.2-10.3-1.2s-.3-.1-5.3-2.1l-112.9-55s-10.9-5.7-12.8-15.6c-2.2-8.1 2.7-18.1 2.7-18.1L322 273s4.8-9.7 12.2-13c.6-.3 2.3-1 4.5-1.5 8.1-2.1 18 2.8 18 2.8L467.4 315s12.6 5.7 15.3 16.2c1.9 7.4-.5 14-1.8 17.2-6.3 15.4-55 113.1-55 113.1z"/><path style="fill:#609926" d="M326.8 380.1c-8.2.1-15.4 5.8-17.3 13.8-1.9 8 2 16.3 9.1 20 7.7 4 17.5 1.8 22.7-5.4 5.1-7.1 4.3-16.9-1.8-23.1l24-49.1c1.5.1 3.7.2 6.2-.5 4.1-.9 7.1-3.6 7.1-3.6 4.2 1.8 8.6 3.8 13.2 6.1 4.8 2.4 9.3 4.9 13.4 7.3.9.5 1.8 1.1 2.8 1.9 1.6 1.3 3.4 3.1 4.7 5.5 1.9 5.5-1.9 14.9-1.9 14.9-2.3 7.6-18.4 40.6-18.4 40.6-8.1-.2-15.3 5-17.7 12.5-2.6 8.1 1.1 17.3 8.9 21.3 7.8 4 17.4 1.7 22.5-5.3 5-6.8 4.6-16.3-1.1-22.6 1.9-3.7 3.7-7.4 5.6-11.3 5-10.4 13.5-30.4 13.5-30.4.9-1.7 5.7-10.3 2.7-21.3-2.5-11.4-12.6-16.7-12.6-16.7-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3 4.7-9.7 9.4-19.3 14.1-29-4.1-2-8.1-4-12.2-6.1-4.8 9.8-9.7 19.7-14.5 29.5-6.7-.1-12.9 3.5-16.1 9.4-3.4 6.3-2.7 14.1 1.9 19.8l-24.6 50.4z"/></svg> \ No newline at end of file
diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl
index f466c0d..32e206a 100644
--- a/templates/base/head.tmpl
+++ b/templates/base/head.tmpl
@@ -1,138 +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">
-
-{{if .RequireSimpleMDE}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.css">
-{{end}}
-
-{{if .RequireTribute}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/tribute/tribute.css">
-{{end}}
-
- <!-- 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 .RequireHighlightJS}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/highlight/github.css">
-{{end}}
-{{if .RequireMinicolors}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css">
-{{end}}
-{{if .RequireDatetimepicker}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.css">
-{{end}}
-{{if .RequireDropzone}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/dropzone/dropzone.css">
-{{end}}
-{{if .EnableHeatmap}}
- <link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.css">
-{{end}}
- <style class="list-search-style"></style>
-
- <script src="{{StaticUrlPrefix}}/vendor/plugins/promise-polyfill/polyfill.min.js"></script>
- <script src="{{StaticUrlPrefix}}/vendor/plugins/cssrelpreload/loadCSS.min.js"></script>
- <script src="{{StaticUrlPrefix}}/vendor/plugins/cssrelpreload/cssrelpreload.min.js"></script>
{{if .PageIsUserProfile}}
<meta property="og:title" content="{{.Owner.Name}}" />
<meta property="og:type" content="profile" />
@@ -156,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>
@@ -178,6 +115,7 @@
{{template "custom/body_outer_pre" .}}
<div class="full height">
+ <noscript>{{.i18n.Tr "enable_javascript"}}</noscript>
{{template "custom/body_inner_pre" .}}
@@ -186,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 60c2b84..0000000
--- a/templates/base/head_navbar.tmpl
+++ /dev/null
@@ -1,136 +0,0 @@
-<div class="ui container" id="navbar">
- <div class="item brand" style="justify-content: space-between;">
- <a title="Head back to https://www.thedroneely.com" href="/">
- <img style="display: inline;" class="ui mini image" src="{{AppSubUrl}}/img/favicon.png">
- <span style="margin-left: 0.65em;">www.thedroneely.com</span>
- </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 class="mobile-only">{{.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>
- <a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">
- <i class="octicon octicon-question"></i>
- {{.i18n.Tr "help"}}<!-- Help -->
- </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>
diff --git a/templates/custom/header.tmpl b/templates/custom/header.tmpl
index 4163c66..1d2471a 100644
--- a/templates/custom/header.tmpl
+++ b/templates/custom/header.tmpl
@@ -1,2 +1,2 @@
<!-- Stylesheet Override -->
-<link rel="stylesheet" href="{{AppSubUrl}}/css/override.css?v={{MD5 AppVer}}">
+<link rel="stylesheet" href="{{ AppSubUrl }}/assets/css/override.css?v={{ MD5 AppVer }}">
diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
deleted file mode 100644
index 8606696..0000000
--- a/templates/repo/header.tmpl
+++ /dev/null
@@ -1,167 +0,0 @@
-<div class="header-wrapper">
-{{with .Repository}}
- <div class="ui container">
- <div class="repo-header">
- <div class="ui huge breadcrumb repo-title">
- {{if .RelAvatarLink}}
- <img class="ui avatar image" src="{{.RelAvatarLink}}">
- {{else}}
- <i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i>
- {{end}}
- <a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
- <div class="divider"> / </div>
- <a href="{{$.RepoLink}}">{{.Name}}</a>
- {{if and .RelAvatarLink .IsPrivate}}<i class="mega-octicon octicon-lock"></i>{{end}}
- {{if .IsTemplate}}<i class="icon fa-copy"></i>{{end}}
- {{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
- {{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" rel="noopener noreferrer" href="{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}">{{if .SanitizedOriginalURL}}{{.SanitizedOriginalURL}}{{else}}{{MirrorAddress $.Mirror}}{{end}}</a></div>{{end}}
- {{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.Link}}">{{SubStr .BaseRepo.RelLink 1 -1}}</a></div>{{end}}
- {{if .IsGenerated}}<div class="fork-flag">{{$.i18n.Tr "repo.generated_from"}} <a href="{{.TemplateRepo.Link}}">{{SubStr .TemplateRepo.RelLink 1 -1}}</a></div>{{end}}
- <small>{{SizeFmt .Size}}</small>
- </div>
- {{if not .IsBeingCreated}}
- <div class="repo-buttons">
- <form method="post" action="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}">
- {{$.CsrfTokenHtml}}
- <div class="ui labeled button" tabindex="0">
- <button type="submit" class="ui compact basic button">
- <i class="icon fa-eye{{if not $.IsWatchingRepo}}-slash{{end}}"></i>{{if $.IsWatchingRepo}}{{$.i18n.Tr "repo.unwatch"}}{{else}}{{$.i18n.Tr "repo.watch"}}{{end}}
- </button>
- <a class="ui basic label" href="{{.Link}}/watchers">
- {{.NumWatches}}
- </a>
- </div>
- </form>
- <form method="post" action="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}">
- {{$.CsrfTokenHtml}}
- <div class="ui labeled button" tabindex="0">
- <button type="submit" class="ui compact basic button">
- <i class="icon star{{if not $.IsStaringRepo}} outline{{end}}"></i>{{if $.IsStaringRepo}}{{$.i18n.Tr "repo.unstar"}}{{else}}{{$.i18n.Tr "repo.star"}}{{end}}
- </button>
- <a class="ui basic label" href="{{.Link}}/stars">
- {{.NumStars}}
- </a>
- </div>
- </form>
- {{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}}
- <div class="ui labeled button {{if and ($.IsSigned) (not $.CanSignedUserFork)}}disabled-repo-button{{end}}" tabindex="0">
- <a class="ui compact basic button {{if or (not $.IsSigned) (not $.CanSignedUserFork)}}poping up{{end}}" {{if $.CanSignedUserFork}}href="{{AppSubUrl}}/repo/fork/{{.ID}}"{{else if $.IsSigned}} data-content="{{$.i18n.Tr "repo.fork_from_self"}}" {{ else }} data-content="{{$.i18n.Tr "repo.fork_guest_user" }}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{AppSubUrl}}/repo/fork/{{.ID}}" {{end}} data-position="top center" data-variation="tiny">
- <i class="octicon octicon-repo-forked"></i>{{$.i18n.Tr "repo.fork"}}
- </a>
- <a class="ui basic label" href="{{.Link}}/forks">
- {{.NumForks}}
- </a>
- </div>
- {{end}}
- </div>
- {{end}}
- </div><!-- end grid -->
-
- <div class="ui repo-description repo-description-custom">
- <div id="repo-desc">
- {{if .DescriptionHTML}}<span class="description has-emoji">{{.DescriptionHTML}}</span>{{else if $.IsRepositoryAdmin}}<span class="no-description text-italic">{{$.i18n.Tr "repo.no_desc"}}</span>{{end}}
- <a class="link" href="{{.Website}}">{{.Website}}</a>
- </div>
- </div>
-
- <div class="ui repo-topics-custom" id="repo-topics">
- {{range $.Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
- {{if and $.Permission.IsAdmin (not .IsArchived)}}<a id="manage_topic">{{$.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}}
- </div>
-
- {{if and $.Permission.IsAdmin (not .IsArchived)}}
- <div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none">
- <div class="fourteen wide column">
- <div class="field">
- <div class="ui fluid multiple search selection dropdown">
- <input type="hidden" name="topics" value="{{range $i, $v := $.Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}">
- {{range $.Topics}}
- <div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div>
- {{end}}
- <div class="text"></div>
- </div>
- </div>
- </div>
- <div class="two wide column">
- <a class="ui button primary" href="javascript:;" id="save_topic"
- data-link="{{$.RepoLink}}/topics">{{$.i18n.Tr "repo.topic.done"}}</a>
- </div>
- </div>
- {{end}}
-
- </div><!-- end container -->
-{{end}}
- <div class="ui tabs container">
- {{if not .Repository.IsBeingCreated}}
- <div class="ui tabular stackable menu navbar">
- {{if .Permission.CanRead $.UnitTypeCode}}
- <a class="{{if (and .PageIsViewCode (not (or .PageIsCommits .PageIsBranches)))}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">
- <i class="octicon octicon-code"></i> {{.i18n.Tr "repo.code"}}
- </a>
-
- <a class="{{if .PageIsCommits}}active{{end}} item"
- href="{{.RepoLink}}/commits{{if .IsViewBranch}}/branch{{else if .IsViewTag}}/tag{{else if .IsViewCommit}}/commit{{end}}/{{EscapePound .BranchName}}">
- <i class="octicon octicon-clock"></i>
- {{.i18n.Tr "repo.commits"}}
- <span class="ui small label">{{or .CommitsCount "0"}}</span>
- </a>
-
- <a class="{{if .PageIsBranches}}active{{end}} item"
- href="{{.RepoLink}}/branches/">
- <i class="octicon octicon-git-branch"></i>
- {{.i18n.Tr "repo.branches"}}
- <span class="ui small label">{{or .BranchesCount "0"}}</span>
- </a>
-
- {{end}}
-
- {{if .Permission.CanRead $.UnitTypeIssues}}
- <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
- <i class="octicon octicon-issue-opened"></i> {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>
- </a>
- {{end}}
-
- {{if .Permission.CanRead $.UnitTypeExternalTracker}}
- <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
- <i class="octicon octicon-link-external"></i> {{.i18n.Tr "repo.issues"}} </span>
- </a>
- {{end}}
-
- {{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}}
- <a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls">
- <i class="octicon octicon-git-pull-request"></i> {{.i18n.Tr "repo.pulls"}} <span class="ui {{if not .Repository.NumOpenPulls}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenPulls}}</span>
- </a>
- {{end}}
-
- {{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }}
- <a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases">
- <i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .NumReleases}}gray{{else}}blue{{end}} small label">{{.NumReleases}}</span>
- </a>
- {{end}}
-
- {{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}}
- <a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}>
- <i class="octicon octicon-book"></i> {{.i18n.Tr "repo.wiki"}}
- </a>
- {{end}}
-
- {{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}}
- <a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity">
- <i class="octicon octicon-pulse"></i> {{.i18n.Tr "repo.activity"}}
- </a>
- {{end}}
-
- {{template "custom/extra_tabs" .}}
-
- {{if .Permission.IsAdmin}}
- <div class="right menu">
- <a class="{{if .PageIsSettings}}active{{end}} item" href="{{.RepoLink}}/settings">
- <i class="octicon octicon-tools"></i> {{.i18n.Tr "repo.settings"}}
- </a>
- </div>
- {{end}}
- </div>
- {{end}}
- </div>
- <div class="ui tabs divider"></div>
-</div>
diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl
deleted file mode 100644
index 3cb9969..0000000
--- a/templates/repo/home.tmpl
+++ /dev/null
@@ -1,142 +0,0 @@
-{{template "base/head" .}}
-<div class="repository file list">
- {{template "repo/header" .}}
- <div class="ui container">
- {{template "base/alert" .}}
- <div class="ui repo-description">
- <div id="repo-desc">
- {{if .Repository.DescriptionHTML}}<span class="description has-emoji">{{.Repository.DescriptionHTML}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}}
- <a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>
- </div>
- {{if .RepoSearchEnabled}}
- <div class="ui repo-search">
- <form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
- <div class="field">
- <div class="ui action input">
- <input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
- <button class="ui icon button" type="submit">
- <i class="search icon"></i>
- </button>
- </div>
- </div>
- </form>
- </div>
- {{end}}
- </div>
- <div class="ui repo-topics" id="repo-topics">
- {{range .Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}}
- {{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<a id="manage_topic">{{.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}}
- </div>
- {{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
- <div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none">
- <div class="fourteen wide column">
- <div class="field">
- <div class="ui fluid multiple search selection dropdown">
- <input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}">
- {{range .Topics}}
- <div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div>
- {{end}}
- <div class="text"></div>
- </div>
- </div>
- </div>
- <div class="two wide column">
- <a class="ui button primary" href="javascript:;" id="save_topic"
- data-link="{{.RepoLink}}/topics">{{.i18n.Tr "repo.topic.done"}}</a>
- </div>
- </div>
- {{end}}
- <div class="hide" id="validate_prompt">
- <span id="count_prompt">{{.i18n.Tr "repo.topic.count_prompt"}}</span>
- <span id="format_prompt">{{.i18n.Tr "repo.topic.format_prompt"}}</span>
- </div>
- {{if .Repository.IsArchived}}
- <div class="ui warning message">
- {{.i18n.Tr "repo.archive.title"}}
- </div>
- {{end}}
- {{template "repo/sub_menu" .}}
- <div class="ui stackable secondary menu mobile--margin-between-items mobile--no-negative-margins">
- {{template "repo/branch_dropdown" .}}
- {{ $n := len .TreeNames}}
- {{ $l := Subtract $n 1}}
- <!-- If home page, show new PR. If not, show breadcrumb -->
- {{if eq $n 0}}
- {{if and .PullRequestCtx.Allowed .IsViewBranch (not .Repository.IsArchived)}}
- <div class="fitted item">
- <a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch | EscapePound}}...{{if ne .Repository.Owner.Name .BaseRepo.Owner.Name}}{{.Repository.Owner.Name}}:{{end}}{{.BranchName | EscapePound}}">
- <button id="new-pull-request" class="ui compact basic button">{{.i18n.Tr "repo.pulls.compare_changes"}}</button>
- </a>
- </div>
- {{end}}
- {{else}}
- <div class="fitted item"><span class="ui breadcrumb repo-path"><a class="section" href="{{.RepoLink}}/src/{{EscapePound .BranchNameSubURL}}" title="{{.Repository.Name}}">{{EllipsisString .Repository.Name 30}}</a>{{range $i, $v := .TreeNames}}<span class="divider">/</span>{{if eq $i $l}}<span class="active section" title="{{$v}}">{{EllipsisString $v 30}}</span>{{else}}{{ $p := index $.Paths $i}}<span class="section"><a href="{{EscapePound $.BranchLink}}/{{EscapePound $p}}" title="{{$v}}">{{EllipsisString $v 30}}</a></span>{{end}}{{end}}</span></div>
- {{end}}
- <div class="right fitted item" id="file-buttons">
- <div class="ui tiny blue buttons">
- {{if .Repository.CanEnableEditor}}
- {{if .CanAddFile}}
- <a href="{{.RepoLink}}/_new/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
- {{.i18n.Tr "repo.editor.new_file"}}
- </a>
- {{end}}
- {{if .CanUploadFile}}
- <a href="{{.RepoLink}}/_upload/{{EscapePound .BranchName}}/{{EscapePound .TreePath}}" class="ui button">
- {{.i18n.Tr "repo.editor.upload_file"}}
- </a>
- {{end}}
- {{end}}
- {{if and (ne $n 0) (not .IsViewFile) (not .IsBlame) }}
- <a href="{{.RepoLink}}/commits/{{EscapePound .BranchNameSubURL}}/{{EscapePound .TreePath}}" class="ui button">
- {{.i18n.Tr "repo.file_history"}}
- </a>
- {{end}}
- </div>
-
- </div>
- <div class="fitted item">
-
- <!-- Only show clone panel in repository home page -->
- {{if eq $n 0}}
- <div class="ui action tiny input" id="clone-panel">
- {{if not $.DisableHTTP}}
- <button class="ui basic clone button" id="repo-clone-https" data-link="{{.CloneLink.HTTPS}}">
- {{if UseHTTPS}}HTTPS{{else}}HTTP{{end}}
- </button>
- {{end}}
- {{if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
- <button class="ui basic clone button" id="repo-clone-ssh" data-link="{{.CloneLink.SSH}}">
- SSH
- </button>
- {{end}}
- {{if not $.DisableHTTP}}
- <input id="repo-clone-url" value="{{$.CloneLink.HTTPS}}" readonly>
- {{else if and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH)}}
- <input id="repo-clone-url" value="{{$.CloneLink.SSH}}" readonly>
- {{end}}
- {{if or (not $.DisableHTTP) (and (not $.DisableSSH) (or $.IsSigned $.ExposeAnonSSH))}}
- <button class="ui basic icon button poping up clipboard" id="clipboard-btn" data-original="{{.i18n.Tr "repo.copy_link"}}" data-success="{{.i18n.Tr "repo.copy_link_success"}}" data-error="{{.i18n.Tr "repo.copy_link_error"}}" data-content="{{.i18n.Tr "repo.copy_link"}}" data-variation="inverted tiny" data-clipboard-target="#repo-clone-url">
- <i class="octicon octicon-clippy"></i>
- </button>
- {{end}}
- <div class="ui basic jump dropdown icon button poping up" data-content="{{.i18n.Tr "repo.download_archive"}}" data-variation="tiny inverted" data-position="top right">
- <i class="download icon"></i>
- <div class="menu">
- <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.zip"><i class="octicon octicon-file-zip"></i> ZIP</a>
- <a class="item" href="{{$.RepoLink}}/archive/{{EscapePound $.BranchName}}.tar.gz"><i class="octicon octicon-file-zip"></i> TAR.GZ</a>
- </div>
- </div>
- </div>
- {{end}}
- </div>
- </div>
- {{if .IsViewFile}}
- {{template "repo/view_file" .}}
- {{else if .IsBlame}}
- {{template "repo/blame" .}}
- {{else}}
- {{template "repo/view_list" .}}
- {{end}}
- </div>
-</div>
-{{template "base/footer" .}}