]> git.ipfire.org Git - ipfire.org.git/blame - src/templates/base.html
Update font-awesome to 5.11.2
[ipfire.org.git] / src / templates / base.html
CommitLineData
60024cc8
MT
1<!DOCTYPE html>
2<html lang="en">
81675874 3 <head>
60024cc8
MT
4 <title>{{ hostname }} - {% block title %}{{ _("No title given") }}{% end block %}</title>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6 <meta name="author" content="IPFire.org - IPFire Development Team" />
940227cb 7
60024cc8 8 <meta name="keywords" content="Linux, Firewall, IPFire, Security, IPCop, Open Source, Free, ARM, VPN, Proxy, IDS, IPS" />
940227cb 9
662c7910
MT
10 <link rel="icon" sizes="192x192" href="{{ static_url("img/apple-touch-icon-192x192-precomposed.png") }}">
11 {% for res in ("72x72", "76x76", "120x120", "144x144", "152x152", "180x180") %}
12 <link rel="apple-touch-icon-precomposed" sizes="{{ res }}" href="{{ static_url("img/apple-touch-icon-%s-precomposed.png" % res )}}">
13 {% end %}
14 <link rel="apple-touch-icon-precomposed" href="{{ static_url("img/apple-touch-icon-60x60-precomposed.png") }}">
15
60024cc8 16 <!-- styling stuff -->
07064256 17 <link rel="stylesheet" type="text/css" href="{{ static_url("main.css") }}" />
9f868512 18 <meta name="viewport" content="width=device-width, initial-scale=1.0">
940227cb 19
a1bf2f6c 20 {% block head %}{% end block %}
81675874 21 </head>
60024cc8 22
ed163b4b 23 <body id="page-top">
351d0b83 24 <nav class="navbar navbar-dark navbar-expand-lg mb-4">
6cee9198 25 <div class="container">
e1a5d3fa 26 <a class="navbar-brand" href="/">
31947225
MT
27 <strong>IPFire</strong>
28
29 {% if hostname == "blog.ipfire.org" %}
30 {{ _("Blog") }}
62eaa617
MT
31 {% elif hostname == "fireinfo.ipfire.org" %}
32 {{ _("Fireinfo") }}
cc9cbcf2
MT
33 {% elif hostname == "mirrors.ipfire.org" %}
34 {{ _("Mirrors") }}
31947225
MT
35 {% elif hostname == "people.ipfire.org" %}
36 {{ _("People") }}
181d08f3
MT
37 {% elif hostname == "wiki.ipfire.org" %}
38 {{ _("Wiki") }}
31947225 39 {% end %}
6cee9198
MT
40 </a>
41
d5a50891 42 {% block menu %}
31947225
MT
43 {% if hostname in ("www.ipfire.org", "dev.ipfire.org") %}
44 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
45 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
46 <span class="fas fa-bars"></span>
47 </button>
d5a50891 48
31947225
MT
49 <div class="collapse navbar-collapse" id="navbar">
50 <ul class="navbar-nav ml-auto">
51 <li class="nav-item d-sm-block d-md-block d-lg-none">
52 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">{{ _("Home") }}</a>
53 </li>
66da67fe 54
31947225
MT
55 <li class="nav-item">
56 <a class="nav-link {% if request.path == "/features" %}active{% end %}" href="/features">{{ _("Features") }}</a>
57 </li>
66da67fe 58
31947225
MT
59 <li class="nav-item">
60 <a class="nav-link {% if request.path.startswith("/download") %}active{% end %}" href="/download">{{ _("Download") }}</a>
61 </li>
66da67fe 62
31947225
MT
63 <li class="nav-item">
64 <a class="nav-link {% if request.path == "/support" %}active{% end %}" href="/support">{{ _("Support") }}</a>
65 </li>
6c3e78c1
MT
66
67 <li class="nav-item">
68 <a class="nav-link" href="https://blog.ipfire.org/">{{ _("Blog") }}</a>
69 </li>
31947225 70 </ul>
2bd6830c 71
f4e7b91a 72 <a class="btn btn-primary mt-2 mt-lg-0 ml-lg-2" href="/donate">
31947225
MT
73 <span class="fas fa-heart"></span> {{ _("Donate") }}
74 </a>
75 </div>
76 {% elif hostname == "blog.ipfire.org" %}
77 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
78 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
79 <span class="fas fa-bars"></span>
80 </button>
f9f085e0 81
31947225 82 <div class="collapse navbar-collapse" id="navbar">
063f60e7
MT
83 <ul class="navbar-nav ml-auto d-lg-none">
84 <li class="nav-item">
85 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">
86 {{ _("Newest") }}
87 </a>
88 </li>
89
90 {% if current_user %}
91 <li class="nav-item">
92 <a class="nav-link {% if request.path == "/drafts" %}active{% end %}" href="/drafts">
93 {{ _("My Drafts") }}
94 </a>
95 </li>
96 {% end %}
97
98 <li class="nav-item">
99 <a class="nav-link {% if request.path == "/tags/featured" %}active{% end %}" href="/tags/featured">
100 {{ _("Featured") }}
101 </a>
102 </li>
103
104 <li class="nav-item">
105 <a class="nav-link {% if request.path == "/tags/lightningwirelabs.com" %}active{% end %} d-flex justify-content-between"
106 href="/tags/lightningwirelabs.com">
107 <span>{{ _("Lightning Wire Labs") }}</span>
108
109 <img class="img-fluid" src="{{ static_url("img/lightningwirelabs-logo.svg") }}"
110 alt="{{ _("Lightning Wire Labs") }}">
111 </a>
112 </li>
113
114 <li class="nav-item">
115 <a class="nav-link d-flex justify-content-between" href="/feed.xml">
116 <span>{{ _("RSS Feed") }}</span> <span class="fas fa-rss"></span>
117 </a>
118 </li>
119 </ul>
120
f4e7b91a
MT
121 <form class="form-inline ml-lg-auto my-2 my-lg-0" action="/search" method="GET">
122 <input class="form-control form-control-sm" type="search" name="q"
31947225
MT
123 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
124 </form>
f9f085e0 125
bb0d9933 126 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
31947225
MT
127 <span class="fas fa-heart"></span> {{ _("Donate") }}
128 </a>
129 </div>
62eaa617
MT
130 {% elif hostname == "fireinfo.ipfire.org" %}
131 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
132 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
133 <span class="fas fa-bars"></span>
134 </button>
135
136 <div class="collapse navbar-collapse" id="navbar">
137 <ul class="navbar-nav ml-auto">
138 <li class="nav-item">
8ab37e0b 139 <a class="nav-link {% if request.path.startswith("/vendors") %}active{% end %}" href="/vendors">
62eaa617
MT
140 {{ _("Vendors") }}
141 </a>
142 </li>
62eaa617
MT
143 </ul>
144 </div>
31947225
MT
145 {% elif hostname == "nopaste.ipfire.org" %}
146 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
147 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
148 <span class="fas fa-bars"></span>
149 </button>
49c82edc 150
31947225
MT
151 <div class="collapse navbar-collapse" id="navbar">
152 <ul class="navbar-nav ml-auto">
153 <li class="nav-item">
5c29f60b 154 <a class="nav-link" href="/?mode=upload">{{ _("Upload File") }}</a>
31947225
MT
155 </li>
156 </ul>
157 </div>
158 {% elif hostname == "people.ipfire.org" %}
159 {% if current_user %}
160 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
161 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
162 <span class="fas fa-bars"></span>
163 </button>
71a3109c 164
31947225
MT
165 <div class="collapse navbar-collapse" id="navbar">
166 <ul class="navbar-nav ml-auto mr-3">
167 <li class="nav-item">
168 <a class="nav-link {% if request.path == "/users/%s" % current_user.uid %}active{% end %}" href="/users/{{ current_user.uid }}">
169 {{ _("My Profile") }}
170 </a>
171 </li>
71a3109c 172
71a3109c
MT
173 {% if current_user.is_staff() %}
174 <li class="nav-item">
175 <a class="nav-link {% if request.path == "/users" %}active{% end %}" href="/users">
176 {{ _("Users") }}
177 </a>
178 </li>
179 {% end %}
180
181 {% if current_user.has_sip() %}
182 <li class="nav-item">
183 <a class="nav-link {% if request.path.startswith("/conferences") %}active{% end %}" href="/conferences">
184 {{ _("Conferences") }}
185 </a>
186 </li>
187 {% end %}
31947225 188 </ul>
f9f085e0 189
31947225
MT
190 <form class="form-inline my-2 my-lg-0" action="/search" method="GET">
191 <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
192 placeholder="{{ _("Search") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
193 </form>
194 </div>
195 {% end %}
181d08f3
MT
196 {% elif hostname == "wiki.ipfire.org" %}
197 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
198 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
199 <span class="fas fa-bars"></span>
200 </button>
201
202 <div class="collapse navbar-collapse" id="navbar">
924309ed 203 <ul class="navbar-nav ml-auto mr-3">
f9db574a
MT
204 <li class="nav-item">
205 <a class="nav-link {% if request.path == "/recent-changes" %}active{% end %}" href="/recent-changes">
206 {{ _("Recent Changes") }}
207 </a>
208 </li>
2f23c558
MT
209
210 <li class="nav-item">
211 <a class="nav-link {% if request.path == "/watchlist" %}active{% end %}" href="/watchlist">
212 {{ _("Watchlist") }}
213 </a>
214 </li>
f9db574a
MT
215 </ul>
216
217 <form class="form-inline my-2 my-lg-0" action="/search" method="GET">
181d08f3
MT
218 <input class="form-control form-control-sm" type="search" name="q"
219 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
220 </form>
221
222 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
223 <span class="fas fa-heart"></span> {{ _("Donate") }}
224 </a>
225 </div>
31947225 226 {% end %}
d5a50891 227 {% end block %}
4b4334da 228 </div>
6cee9198 229 </nav>
60024cc8
MT
230
231 {% block container %}
60b0917c 232 <div class="container">
12e5de7e 233 {% block content %}{% end block %}
9b5ac075
MT
234 </div>
235 {% end block %}
60024cc8 236
9b5ac075 237 {% block footer %}
c819ecf2 238 <footer>
0509f6fd 239 <div class="footer">
0c657b78 240 {% if hostname in ("www.ipfire.org", "dev.ipfire.org") %}
0509f6fd
MT
241 <div class="footer-info">
242 <div class="container pb-3">
243 <div class="row mb-6 justify-content-between">
244 <div class="col-12 col-lg-4 mb-4">
245 <h6>{{ _("Subscribe to our Newsletter") }}</h6>
60b0917c 246
0509f6fd
MT
247 <form method="POST" action="https://{{ "dev.ipfire.org" if hostname == "dev.ipfire.org" else "www.ipfire.org" }}/newsletter/subscribe">
248 {% raw xsrf_form_html() %}
60b0917c 249
0509f6fd 250 <label class="sr-only" for="email">{{ _("Email Address") }}</label>
60b0917c 251
0509f6fd 252 <input type="email" class="form-control mb-2 mr-sm-2" id="email" name="email"
dd714987 253 placeholder="{{ _("Your Email Address") }}" required>
47d47c2e 254
0509f6fd
MT
255 <button type="submit" class="btn btn-primary btn-block mb-2">{{ _("Subscribe") }}</button>
256 </form>
257 </div>
c819ecf2 258
b27d7cc5 259 <div class="col-12 col-lg-3 mb-4 small">
0509f6fd
MT
260 <h6>{{ _("About") }}</h6>
261
262 <div class="row">
263 <div class="col">
264 <ul class="list-unstyled">
265 <li>
29c01129 266 <a href="/features">{{ _("Features") }}</a>
0509f6fd
MT
267 </li>
268
269 <li>
29c01129 270 <a href="/download">{{ _("Download") }}</a>
0509f6fd
MT
271 </li>
272
273 <li>
29c01129 274 <a href="/support">{{ _("Support") }}</a>
0509f6fd
MT
275 </li>
276 </ul>
277 </div>
278
279 <div class="col">
280 <ul class="list-unstyled">
281 <li>
282 <a href="https://blog.ipfire.org">{{ _("Blog") }}</a>
283 </li>
284
285 <li>
2c69e189 286 <a href="https://wiki.ipfire.org/devel">{{ _("Development") }}</a>
0509f6fd
MT
287 </li>
288
289 <li>
29c01129 290 <a href="/legal">{{ _("Legal") }}</a>
0509f6fd
MT
291 </li>
292 </ul>
293 </div>
c819ecf2 294 </div>
2597b512 295 </div>
60b0917c 296
0509f6fd 297 <div class="col-12 col-lg-4 text-center mb-4">
29c01129 298 <a class="btn btn-primary btn-lg px-4 my-4" href="/donate">
0509f6fd 299 <span class="fas fa-heart"></span> {{ _("Donate") }}
c819ecf2 300 </a>
76d53285 301
0509f6fd
MT
302 <div class="btn-toolbar justify-content-center">
303 <a class="btn btn-link" href="https://twitter.com/ipfire">
304 <span class="fab fa-twitter"></span>
305 </a>
c819ecf2 306
0509f6fd
MT
307 <a class="btn btn-link" href="https://www.facebook.com/IPFire.org">
308 <span class="fab fa-facebook"></span>
309 </a>
310
311 <a class="btn btn-link" href="https://youtube.com/user/ipfireproject">
312 <span class="fab fa-youtube"></span>
313 </a>
314 </div>
c819ecf2 315 </div>
76d53285 316 </div>
60b0917c
MT
317 </div>
318 </div>
0509f6fd
MT
319 {% end %}
320
321 <div class="copyright">
322 <div class="container d-flex justify-content-between">
c9fb3c5b 323 &copy; {{ year }} - IPFire - {{ _("The Open Source Firewall") }}
0509f6fd 324
dabfd2ca 325 {% if not current_user and hostname in ("blog.ipfire.org", "nopaste.ipfire.org", "wiki.ipfire.org") %}
0509f6fd
MT
326 <a href="/login">{{ _("Login") }}</a>
327 {% elif current_user %}
ce121186
MT
328 <p class="mb-0">
329 <span class="mr-2">
d6e57f73 330 {{ _("You are currently logged in as %s") % current_user }}
ce121186
MT
331 </span>
332
0509f6fd 333 <a href="/logout">{{ _("Logout") }}</a>
ce121186 334 </p>
0509f6fd
MT
335 {% end %}
336 </div>
20df8773 337 </div>
9b5ac075
MT
338 </div>
339 </footer>
60024cc8 340 {% end block %}
45f1004c 341
f9b71176
MT
342 <script src="{{ static_url("js/jquery-3.3.1.min.js") }}"></script>
343 <script src="{{ static_url("js/popper.min.js") }}"></script>
344 <script src="{{ static_url("js/bootstrap.min.js") }}"></script>
9f043320 345 {% block javascript %}{% end block %}
81675874 346 </body>
347</html>