|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="{{.i18n.Lang}}" class="theme-{{.SignedUser.Theme}}">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<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">
|
|
|
|
{{if .GoGetImport}}
|
|
|
|
<meta name="go-import" content="{{.GoGetImport}} git {{.RepoCloneLink.HTTPS}}">
|
|
|
|
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
|
|
|
|
{{end}}
|
|
|
|
{{if .FeedURL}}
|
|
|
|
<link rel="alternate" type="application/atom+xml" title="" href="{{.FeedURL}}.atom">
|
|
|
|
<link rel="alternate" type="application/rss+xml" title="" href="{{.FeedURL}}.rss">
|
|
|
|
{{end}}
|
|
|
|
<link rel="icon" href="{{AssetUrlPrefix}}/img/favicon.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={{AssetVersion}}">
|
Show messages for users if the ROOT_URL is wrong, show JavaScript errors (#18971)
* ROOT_URL issues: some users did wrong to there app.ini config, then:
* The assets can not be loaded (AppSubUrl != "" and users try to access http://host:3000/)
*The ROOT_URL is wrong, then many URLs in Gitea are broken.
Now Gitea show enough information to users.
* JavaScript error issues, there are many users affected by JavaScript errors, some are caused by frontend bugs, some are caused by broken customized templates. If these JS errors can be found at first time, then maintainers do not need to ask about how bug occurs again and again.
* Some people like to modify the `head.tmpl`, so we separate the script part to `head_script.tmpl`, then it's much safer.
* use specialized CSS class "js-global-error", end users still have a chance to hide error messages by customized CSS styles.
3 years ago
|
|
|
{{template "base/head_script" .}}
|
|
|
|
<noscript>
|
|
|
|
<style>
|
|
|
|
.dropdown:hover > .menu { display: block; }
|
|
|
|
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
|
|
|
</style>
|
|
|
|
</noscript>
|
|
|
|
{{if .PageIsUserProfile}}
|
|
|
|
<meta property="og:title" content="{{.Owner.DisplayName}}">
|
|
|
|
<meta property="og:type" content="profile">
|
|
|
|
<meta property="og:image" content="{{.Owner.AvatarLink}}">
|
|
|
|
<meta property="og:url" content="{{.Owner.HTMLURL}}">
|
|
|
|
{{if .Owner.Description}}
|
|
|
|
<meta property="og:description" content="{{.Owner.Description}}">
|
|
|
|
{{end}}
|
|
|
|
{{else if .Repository}}
|
|
|
|
{{if .Issue}}
|
|
|
|
<meta property="og:title" content="{{.Issue.Title}}">
|
|
|
|
<meta property="og:url" content="{{.Issue.HTMLURL}}">
|
|
|
|
{{if .Issue.Content}}
|
|
|
|
<meta property="og:description" content="{{.Issue.Content}}">
|
|
|
|
{{end}}
|
|
|
|
{{else}}
|
|
|
|
<meta property="og:title" content="{{.Repository.Name}}">
|
|
|
|
<meta property="og:url" content="{{.Repository.HTMLURL}}">
|
|
|
|
{{if .Repository.Description}}
|
|
|
|
<meta property="og:description" content="{{.Repository.Description}}">
|
|
|
|
{{end}}
|
|
|
|
{{end}}
|
|
|
|
<meta property="og:type" content="object">
|
|
|
|
{{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="{{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="{{AssetUrlPrefix}}/css/theme-{{.SignedUser.Theme | PathEscape}}.css?v={{AssetVersion}}">
|
|
|
|
{{end}}
|
|
|
|
{{else if ne DefaultTheme "gitea"}}
|
|
|
|
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/theme-{{DefaultTheme | PathEscape}}.css?v={{AssetVersion}}">
|
|
|
|
{{end}}
|
|
|
|
{{template "custom/header" .}}
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
{{template "custom/body_outer_pre" .}}
|
|
|
|
|
|
|
|
<div class="full height">
|
|
|
|
<noscript>{{.i18n.Tr "enable_javascript"}}</noscript>
|
|
|
|
|
|
|
|
{{template "custom/body_inner_pre" .}}
|
|
|
|
|
|
|
|
{{if not .PageIsInstall}}
|
|
|
|
<div class="ui top secondary stackable main menu following bar light no-vertical-tabs">
|
|
|
|
{{template "base/head_navbar" .}}
|
|
|
|
</div><!-- end bar -->
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{if false}}
|
|
|
|
{{/* to make html structure "likely" complete to prevent IDE warnings */}}
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
{{end}}
|