layout.html 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. {{ define "base" }}
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <meta name="mobile-web-app-capable" content="yes">
  9. <meta name="apple-mobile-web-app-title" content="Miniflux">
  10. <meta name="robots" content="noindex,nofollow">
  11. <meta name="referrer" content="no-referrer">
  12. <link rel="icon" type="image/png" href="{{ route "appIcon" "filename" "favicon.png" }}">
  13. <link rel="apple-touch-icon" href="{{ route "appIcon" "filename" "touch-icon-iphone.png" }}">
  14. <link rel="apple-touch-icon" sizes="72x72" href="{{ route "appIcon" "filename" "touch-icon-ipad.png" }}">
  15. <link rel="apple-touch-icon" sizes="114x114" href="{{ route "appIcon" "filename" "touch-icon-iphone-retina.png" }}">
  16. <link rel="apple-touch-icon" sizes="144x144" href="{{ route "appIcon" "filename" "touch-icon-ipad-retina.png" }}">
  17. <link rel="shortcut icon" type="image/x-icon" href="{{ route "favicon" }}">
  18. {{ if .csrf }}
  19. <meta name="X-CSRF-Token" value="{{ .csrf }}">
  20. {{ end }}
  21. <title>{{template "title" .}} - Miniflux</title>
  22. {{ if .user }}
  23. <link rel="stylesheet" type="text/css" href="{{ route "stylesheet" "name" .user.Theme }}">
  24. {{ else }}
  25. <link rel="stylesheet" type="text/css" href="{{ route "stylesheet" "name" "white" }}">
  26. {{ end }}
  27. <script type="text/javascript" src="{{ route "javascript" }}" defer></script>
  28. </head>
  29. <body data-entries-status-url="{{ route "updateEntriesStatus" }}">
  30. {{ if .user }}
  31. <header class="header">
  32. <nav>
  33. <div class="logo">
  34. <a href="{{ route "unread" }}">Mini<span>flux</span></a>
  35. </div>
  36. <ul>
  37. <li {{ if eq .menu "unread" }}class="active"{{ end }}>
  38. <a href="{{ route "unread" }}" data-page="unread">{{ t "Unread" }}</a>
  39. {{ if gt .countUnread 0 }}
  40. <span class="unread-counter" title="Unread articles">({{ .countUnread }})</span>
  41. {{ end }}
  42. </li>
  43. <li {{ if eq .menu "history" }}class="active"{{ end }}>
  44. <a href="{{ route "history" }}" data-page="history">{{ t "History" }}</a>
  45. </li>
  46. <li {{ if eq .menu "feeds" }}class="active"{{ end }}>
  47. <a href="{{ route "feeds" }}" data-page="feeds">{{ t "Feeds" }}</a>
  48. </li>
  49. <li {{ if eq .menu "categories" }}class="active"{{ end }}>
  50. <a href="{{ route "categories" }}" data-page="categories">{{ t "Categories" }}</a>
  51. </li>
  52. <li {{ if eq .menu "settings" }}class="active"{{ end }}>
  53. <a href="{{ route "settings" }}" data-page="settings">{{ t "Settings" }}</a>
  54. </li>
  55. <li>
  56. <a href="{{ route "logout" }}" title="Logged as {{ .user.Username }}">{{ t "Logout" }}</a>
  57. </li>
  58. </ul>
  59. </nav>
  60. </header>
  61. {{ end }}
  62. {{ if .flashMessage }}
  63. <div class="flash-message alert alert-success">{{ .flashMessage }}</div>
  64. {{ end }}
  65. {{ if .flashErrorMessage }}
  66. <div class="flash-error-message alert alert-error">{{ .flashErrorMessage }}</div>
  67. {{ end }}
  68. <main>
  69. {{template "content" .}}
  70. </main>
  71. </body>
  72. </html>
  73. {{ end }}