Extract header and footer content to separate tmpl (#4797)
This change makes it easier to customize the header and footer content. Before this change, the whole header and footer had to be overridden, including the meta, style and script tags. Signed-off-by: Lukas Bestle <mail@lukasbestle.com>
This commit is contained in:
parent
fab7937c62
commit
e6a03813d4
4 changed files with 162 additions and 159 deletions
|
@ -10,31 +10,8 @@
|
||||||
|
|
||||||
{{template "custom/body_outer_post" .}}
|
{{template "custom/body_outer_post" .}}
|
||||||
|
|
||||||
<footer>
|
{{template "base/footer_content" .}}
|
||||||
<div class="ui container">
|
|
||||||
<div class="ui left">
|
|
||||||
© Gitea {{if (or .ShowFooterVersion .PageIsAdmin)}}{{.i18n.Tr "version"}}: {{AppVer}}{{end}} {{if ShowFooterTemplateLoadTime}}{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>{{end}}
|
|
||||||
</div>
|
|
||||||
<div class="ui right links">
|
|
||||||
{{if .ShowFooterBranding}}
|
|
||||||
<a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</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="{{AppSubUrl}}/vendor/librejs.html" data-jslicense="1">JavaScript licenses</a>
|
|
||||||
{{if .EnableSwagger}}<a href="{{AppSubUrl}}/api/swagger">API</a>{{end}}
|
|
||||||
<a target="_blank" rel="noopener noreferrer" href="https://gitea.io">{{.i18n.Tr "website"}}</a>
|
|
||||||
{{if (or .ShowFooterVersion .PageIsAdmin)}}<span class="version">{{GoVer}}</span>{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script>
|
<script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script>
|
||||||
<script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script>
|
<script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script>
|
||||||
{{if .RequireSimpleMDE}}
|
{{if .RequireSimpleMDE}}
|
||||||
|
|
25
templates/base/footer_content.tmpl
Normal file
25
templates/base/footer_content.tmpl
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<footer>
|
||||||
|
<div class="ui container">
|
||||||
|
<div class="ui left">
|
||||||
|
© Gitea {{if (or .ShowFooterVersion .PageIsAdmin)}}{{.i18n.Tr "version"}}: {{AppVer}}{{end}} {{if ShowFooterTemplateLoadTime}}{{.i18n.Tr "page"}}: <strong>{{LoadTimes .PageStartTime}}</strong> {{.i18n.Tr "template"}}: <strong>{{call .TmplLoadTimes}}</strong>{{end}}
|
||||||
|
</div>
|
||||||
|
<div class="ui right links">
|
||||||
|
{{if .ShowFooterBranding}}
|
||||||
|
<a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</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="{{AppSubUrl}}/vendor/librejs.html" data-jslicense="1">JavaScript licenses</a>
|
||||||
|
{{if .EnableSwagger}}<a href="{{AppSubUrl}}/api/swagger">API</a>{{end}}
|
||||||
|
<a target="_blank" rel="noopener noreferrer" href="https://gitea.io">{{.i18n.Tr "website"}}</a>
|
||||||
|
{{if (or .ShowFooterVersion .PageIsAdmin)}}<span class="version">{{GoVer}}</span>{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
|
@ -142,140 +142,7 @@
|
||||||
|
|
||||||
{{if not .PageIsInstall}}
|
{{if not .PageIsInstall}}
|
||||||
<div class="ui top secondary stackable main menu following bar light">
|
<div class="ui top secondary stackable main menu following bar light">
|
||||||
<div class="ui container" id="navbar">
|
{{template "base/head_navbar" .}}
|
||||||
<div class="item brand" style="justify-content: space-between;">
|
|
||||||
<a href="{{AppSubUrl}}/">
|
|
||||||
<img class="ui mini image" src="{{AppSubUrl}}/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>
|
|
||||||
<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="fitted octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}}
|
|
||||||
</a>
|
|
||||||
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
|
||||||
<i class="fitted octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
|
|
||||||
</a>
|
|
||||||
{{if .SignedUser.CanCreateOrganization}}
|
|
||||||
<a class="item" href="{{AppSubUrl}}/org/create">
|
|
||||||
<i class="fitted 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" 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" 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 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}}" 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 container -->
|
|
||||||
</div><!-- end bar -->
|
</div><!-- end bar -->
|
||||||
{{end}}
|
{{end}}
|
||||||
{{/*
|
{{/*
|
||||||
|
|
134
templates/base/head_navbar.tmpl
Normal file
134
templates/base/head_navbar.tmpl
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
<div class="ui container" id="navbar">
|
||||||
|
<div class="item brand" style="justify-content: space-between;">
|
||||||
|
<a href="{{AppSubUrl}}/">
|
||||||
|
<img class="ui mini image" src="{{AppSubUrl}}/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>
|
||||||
|
<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="fitted octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}}
|
||||||
|
</a>
|
||||||
|
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
||||||
|
<i class="fitted octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
|
||||||
|
</a>
|
||||||
|
{{if .SignedUser.CanCreateOrganization}}
|
||||||
|
<a class="item" href="{{AppSubUrl}}/org/create">
|
||||||
|
<i class="fitted 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" 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" 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 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}}" 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>
|
Reference in a new issue