mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-25 06:45:43 +03:00
a915a09e4f
* Cleaning up public/ and documenting js/css libs. This commit mostly addresses #1484 by moving vendor'ed plugins into a vendor/ directory and documenting their upstream source and license in vendor/librejs.html. This also proves gitea is using only open source js/css libraries which helps toward reaching #1524. * Removing unused css file. The version of this file in use is located at: vendor/plugins/highlight/github.css * Cleaned up librejs.html and added javascript header A SafeJS function was added to templates/helper.go to allow keeping comments inside of javascript. A javascript comment was added in the header of templates/base/head.tmpl to mark all non-inline source as free. The librejs.html file was updated to meet the current librejs spec. I have now verified that the librejs plugin detects most of the scripts included in gitea and suspect the non-free detections are the result of a bug in the plugin. I believe this commit is enough to meet the C0.0 requirement of #1534. * Updating SafeJS function per lint suggestion * Added VERSIONS file, per request
254 lines
11 KiB
Cheetah
254 lines
11 KiB
Cheetah
<!DOCTYPE html>
|
|
<html>
|
|
<head data-suburl="{{AppSubUrl}}">
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
<title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
|
|
<meta name="theme-color" content="{{ThemeColorMetaTag}}">
|
|
<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:
|
|
{{AppSubUrl}}/vendor/librejs.html
|
|
|
|
@licend The above is the entire license notice
|
|
for the JavaScript code in this page.
|
|
*/`}}
|
|
</script>
|
|
|
|
<link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />
|
|
<link rel="preload" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css" as="style" onload="this.rel='stylesheet'">
|
|
<noscript><link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css"></noscript>
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/assets/octicons/octicons.min.css">
|
|
|
|
{{if .RequireSimpleMDE}}
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.css">
|
|
{{end}}
|
|
|
|
{{if .RequireGitGraph}}
|
|
<!-- graph -->
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.css">
|
|
{{end}}
|
|
|
|
<!-- Stylesheet -->
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.css">
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/css/index.css?v={{MD5 AppVer}}">
|
|
|
|
{{if .RequireHighlightJS}}
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/highlight/github.css">
|
|
{{end}}
|
|
{{if .RequireMinicolors}}
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css">
|
|
{{end}}
|
|
{{if .RequireDatetimepicker}}
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.css">
|
|
{{end}}
|
|
{{if .RequireDropzone}}
|
|
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.css">
|
|
{{end}}
|
|
<style class="list-search-style"></style>
|
|
|
|
<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/loadCSS.min.js"></script>
|
|
<script src="{{AppSubUrl}}/vendor/plugins/cssrelpreload/cssrelpreload.min.js"></script>
|
|
{{if .PageIsUserProfile}}
|
|
<meta property="og:title" content="{{.Owner.Name}}" />
|
|
<meta property="og:type" content="profile" />
|
|
<meta property="og:image" content="{{.Owner.AvatarLink}}" />
|
|
<meta property="og:url" content="{{.Owner.HTMLURL}}" />
|
|
<meta property="og:site_name" content="{{AppName}}" />
|
|
{{else if .Repository}}
|
|
<meta property="og:title" content="{{.Repository.Name}}" />
|
|
<meta property="og:type" content="object" />
|
|
<meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" />
|
|
<meta property="og:url" content="{{.Repository.HTMLURL}}" />
|
|
{{if .Repository.Description}}
|
|
<meta property="og:description" content="{{.Repository.Description}}" />
|
|
{{end}}
|
|
<meta property="og:site_name" content="{{AppName}}" />
|
|
{{else}}
|
|
<meta property="og:title" content="{{AppName}}">
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:image" content="{{AppSubUrl}}/img/gitea-lg.png" />
|
|
<meta property="og:url" content="{{AppUrl}}" />
|
|
<meta property="og:description" content="{{MetaDescription}}">
|
|
{{end}}
|
|
</head>
|
|
<body>
|
|
<div class="full height">
|
|
<noscript>Please enable JavaScript in your browser!</noscript>
|
|
|
|
{{if not .PageIsInstall}}
|
|
<div class="following bar light">
|
|
<div class="ui container">
|
|
<div class="ui grid">
|
|
<div class="column">
|
|
<div class="ui top secondary menu">
|
|
<a class="item brand" href="{{AppSubUrl}}/">
|
|
<img class="ui mini image" src="{{AppSubUrl}}/img/gitea-sm.png">
|
|
</a>
|
|
|
|
{{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>
|
|
{{else}}
|
|
<a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a>
|
|
{{end}}
|
|
|
|
<a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "explore"}}</a>
|
|
{{/*<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 menu">
|
|
<a href="{{AppSubUrl}}/notifications" class="ui head link jump item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted">
|
|
<span class="text">
|
|
<i class="octicon octicon-inbox"><span class="sr-only">{{.i18n.Tr "notifications"}}</span></i>
|
|
|
|
{{if .NotificationUnreadCount}}
|
|
<span class="ui red label">
|
|
{{.NotificationUnreadCount}}
|
|
</span>
|
|
{{end}}
|
|
</span>
|
|
</a>
|
|
|
|
<div class="ui dropdown head link jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
|
|
<span class="text">
|
|
<i class="octicon octicon-plus"><span class="sr-only">{{.i18n.Tr "create_new"}}</span></i>
|
|
<i class="octicon octicon-triangle-down"></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 head link jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
|
|
<span class="text avatar">
|
|
<img class="ui small rounded image" src="{{.SignedUser.RelAvatarLink}}">
|
|
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
|
|
<i class="octicon octicon-triangle-down" tabindex="-1"></i>
|
|
</span>
|
|
<div class="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" href="https://docs.gitea.io" rel="noreferrer">
|
|
<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" href="{{AppSubUrl}}/user/logout">
|
|
<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" href="https://docs.gitea.io" rel="noreferrer">{{.i18n.Tr "help"}}</a>
|
|
<div class="right 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}}" 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><!-- end top menu -->
|
|
</div><!-- end column -->
|
|
</div><!-- end grid -->
|
|
</div><!-- end container -->
|
|
</div><!-- end bar -->
|
|
{{end}}
|
|
{{/*
|
|
</div>
|
|
</body>
|
|
</html>
|
|
*/}}
|