mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 05:11:41 +01:00 
			
		
		
		
	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
					
				| @ -10,31 +10,8 @@ | ||||
| 
 | ||||
| 	{{template "custom/body_outer_post" .}} | ||||
| 
 | ||||
| 	<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> | ||||
| 	{{template "base/footer_content" .}} | ||||
| 
 | ||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js"></script> | ||||
| 	<script src="{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js"></script> | ||||
| {{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}} | ||||
| 			<div class="ui top secondary stackable main menu following bar light"> | ||||
| 				<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><!-- end container --> | ||||
| 				{{template "base/head_navbar" .}} | ||||
| 			</div><!-- end bar --> | ||||
| 		{{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> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user