head.tmpl 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. <!DOCTYPE html>
  2. <html>
  3. <head data-suburl="{{AppSubURL}}">
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. {{if not .PageIsAdmin}}
  8. <meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}Gogs{{end}}" />
  9. <meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}Gogs is a painless self-hosted Git service{{end}}" />
  10. <meta name="keywords" content="go, git, self-hosted, gogs">
  11. {{end}}
  12. <meta name="referrer" content="no-referrer" />
  13. <meta name="_csrf" content="{{.CSRFToken}}" />
  14. <meta name="_suburl" content="{{AppSubURL}}" />
  15. <!-- Open Graph Tags -->
  16. {{if .PageIsAdmin}}
  17. {{else if .PageIsUserProfile}}
  18. <meta property="og:url" content="{{.Owner.HTMLURL}}" />
  19. <meta property="og:type" content="profile" />
  20. <meta property="og:title" content="{{.Owner.Name}}{{if .Owner.FullName}} ({{.Owner.FullName}}){{end}}">
  21. <meta property="og:description" content="{{.Owner.Name}} has {{.Owner.NumFollowers}} followers and is following {{.Owner.NumFollowing}} people.">
  22. <meta property="og:image" content="{{.Owner.AvatarLink}}" />
  23. {{else if .Repository}}
  24. <meta property="og:url" content="{{.Repository.HTMLURL}}" />
  25. <meta property="og:type" content="object" />
  26. <meta property="og:title" content="{{.Repository.FullName}}">
  27. <meta property="og:description" content="{{.Repository.Description}}">
  28. <meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" />
  29. {{else}}
  30. <meta property="og:url" content="{{AppURL}}" />
  31. <meta property="og:type" content="website" />
  32. <meta property="og:title" content="{{AppName}}">
  33. <meta property="og:description" content="Gogs is a painless self-hosted Git service.">
  34. <meta property="og:image" content="{{AppURL}}img/gogs-lg.png" />
  35. <meta property="og:site_name" content="Gogs">
  36. {{end}}
  37. <link rel="shortcut icon" href="{{AppSubURL}}/img/favicon.png" />
  38. <script src="{{AppSubURL}}/js/jquery-1.11.3.min.js"></script>
  39. <script src="{{AppSubURL}}/js/libs/jquery.are-you-sure.js"></script>
  40. <link rel="stylesheet" href="{{AppSubURL}}/assets/font-awesome-4.6.3/css/font-awesome.min.css">
  41. <link rel="stylesheet" href="{{AppSubURL}}/assets/octicons-4.3.0/octicons.min.css">
  42. <!-- notebook.js for rendering ipython notebooks and marked.js for rendering markdown in notebooks -->
  43. {{if .IsIPythonNotebook}}
  44. <script src="{{AppSubURL}}/plugins/notebookjs-0.2.6/notebook.min.js"></script>
  45. <script src="{{AppSubURL}}/plugins/marked-0.3.6/marked.min.js"></script>
  46. {{end}}
  47. {{if .RequireSimpleMDE}}
  48. <link rel="stylesheet" href="{{AppSubURL}}/plugins/simplemde-1.10.1/simplemde.min.css">
  49. <script src="{{AppSubURL}}/plugins/simplemde-1.10.1/simplemde.min.js"></script>
  50. <script src="{{AppSubURL}}/plugins/codemirror-5.17.0/addon/mode/loadmode.js"></script>
  51. <script src="{{AppSubURL}}/plugins/codemirror-5.17.0/mode/meta.js"></script>
  52. <script>
  53. CodeMirror.modeURL = "{{AppSubURL}}/plugins/codemirror-5.17.0/mode/%N/%N.js";
  54. </script>
  55. {{end}}
  56. <!-- Stylesheet -->
  57. <link rel="stylesheet" href="{{AppSubURL}}/css/semantic-2.2.10.min.css">
  58. <link rel="stylesheet" href="{{AppSubURL}}/css/gogs.css?v={{MD5 AppVer}}">
  59. <!-- JavaScript -->
  60. <script src="{{AppSubURL}}/js/semantic-2.2.10.min.js"></script>
  61. <script src="{{AppSubURL}}/js/gogs.js?v={{MD5 AppVer}}"></script>
  62. <title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
  63. <meta name="theme-color" content="{{ThemeColorMetaTag}}">
  64. {{template "inject/head" .}}
  65. </head>
  66. <body class="full-width">
  67. <div class="full-width height">
  68. <noscript>Please enable JavaScript in your browser!</noscript>
  69. {{if not .PageIsInstall}}
  70. <div class="following bar light">
  71. <div class="ui container">
  72. <div class="ui grid stackable">
  73. <div class="column">
  74. <div class="ui top secondary menu">
  75. <a class="item brand" href="{{AppSubURL}}/">
  76. <img class="ui mini image" src="{{AppSubURL}}/img/favicon.png">
  77. </a>
  78. {{if .IsLogged}}
  79. <a class="item{{if .PageIsDashboard}} active{{end}}" href="{{AppSubURL}}/">{{.i18n.Tr "dashboard"}}</a>
  80. <a class="item{{if .PageIsIssues}} active{{end}}" href="{{AppSubURL}}/issues">{{.i18n.Tr "issues"}}</a>
  81. <a class="item{{if .PageIsPulls}} active{{end}}" href="{{AppSubURL}}/pulls">{{.i18n.Tr "pull_requests"}}</a>
  82. {{else}}
  83. <a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubURL}}/">{{.i18n.Tr "home"}}</a>
  84. {{end}}
  85. <a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubURL}}/explore/repos">{{.i18n.Tr "explore"}}</a>
  86. {{/*<div class="item">
  87. <div class="ui icon input">
  88. <input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}">
  89. <i class="search icon"></i>
  90. </div>
  91. </div>*/}}
  92. {{if .IsLogged}}
  93. <div class="right menu">
  94. <div class="ui dropdown head link jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
  95. <span class="text">
  96. <i class="octicon octicon-plus"><span class="sr-only">{{.i18n.Tr "create_new"}}</span></i>
  97. <i class="octicon octicon-triangle-down"></i>
  98. </span>
  99. <div class="menu">
  100. <a class="item" href="{{AppSubURL}}/repo/create">
  101. <i class="octicon octicon-plus"></i> {{.i18n.Tr "new_repo"}}
  102. </a>
  103. <a class="item" href="{{AppSubURL}}/repo/migrate">
  104. <i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
  105. </a>
  106. {{if .LoggedUser.CanCreateOrganization}}
  107. <a class="item" href="{{AppSubURL}}/org/create">
  108. <i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}
  109. </a>
  110. {{end}}
  111. </div><!-- end content create new menu -->
  112. </div><!-- end dropdown menu create new -->
  113. <div class="ui dropdown head link jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
  114. <span class="text avatar">
  115. <img class="ui small rounded image" src="{{.LoggedUser.RelAvatarLink}}">
  116. <span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span>
  117. <i class="octicon octicon-triangle-down" tabindex="-1"></i>
  118. </span>
  119. <div class="menu" tabindex="-1">
  120. <div class="ui header">
  121. {{.i18n.Tr "signed_in_as"}} <strong>{{.LoggedUser.Name}}</strong>
  122. </div>
  123. <div class="divider"></div>
  124. <a class="item" href="{{AppSubURL}}/{{.LoggedUser.Name}}">
  125. <i class="octicon octicon-person"></i>
  126. {{.i18n.Tr "your_profile"}}<!-- Your profile -->
  127. </a>
  128. <a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubURL}}/user/settings">
  129. <i class="octicon octicon-settings"></i>
  130. {{.i18n.Tr "your_settings"}}<!-- Your settings -->
  131. </a>
  132. <a class="item" target="_blank" href="https://gogs.io/docs" rel="noreferrer">
  133. <i class="octicon octicon-question"></i>
  134. {{.i18n.Tr "help"}}<!-- Help -->
  135. </a>
  136. {{if .IsAdmin}}
  137. <div class="divider"></div>
  138. <a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubURL}}/admin">
  139. <i class="icon settings"></i>
  140. {{.i18n.Tr "admin_panel"}}<!-- Admin Panel -->
  141. </a>
  142. {{end}}
  143. <div class="divider"></div>
  144. <a class="item" href="{{AppSubURL}}/user/logout">
  145. <i class="octicon octicon-sign-out"></i>
  146. {{.i18n.Tr "sign_out"}}<!-- Sign Out -->
  147. </a>
  148. </div><!-- end content avatar menu -->
  149. </div><!-- end dropdown avatar menu -->
  150. </div><!-- end signed user right menu -->
  151. {{else}}
  152. <a class="item" target="_blank" href="https://gogs.io/docs" rel="noreferrer">{{.i18n.Tr "help"}}</a>
  153. <div class="right menu">
  154. {{if .ShowRegistrationButton}}
  155. <a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubURL}}/user/sign_up">
  156. <i class="octicon octicon-person"></i> {{.i18n.Tr "register"}}
  157. </a>
  158. {{end}}
  159. <a class="item{{if .PageIsSignIn}} active{{end}}" href="{{AppSubURL}}/user/login?redirect_to={{.Link}}">
  160. <i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}
  161. </a>
  162. </div><!-- end anonymous right menu -->
  163. {{end}}
  164. </div><!-- end top menu -->
  165. </div><!-- end column -->
  166. </div><!-- end grid -->
  167. </div><!-- end container -->
  168. </div><!-- end bar -->
  169. {{end}}
  170. {{/*
  171. </div>
  172. </body>
  173. </html>
  174. */}}