]> git.ipfire.org Git - ipfire.org.git/blame - src/templates/base.html
Migrate to libloc
[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
0a637f92 23 <body id="page-top" class="{{ hostname.replace(".", "-") }}">
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") }}
c3bcd7d4
MT
33 {% elif hostname == "location.ipfire.org" %}
34 {{ _("Location") }}
35 <span class="badge badge-primary">{{ _("BETA") }}</span>
cc9cbcf2
MT
36 {% elif hostname == "mirrors.ipfire.org" %}
37 {{ _("Mirrors") }}
31947225
MT
38 {% elif hostname == "people.ipfire.org" %}
39 {{ _("People") }}
181d08f3
MT
40 {% elif hostname == "wiki.ipfire.org" %}
41 {{ _("Wiki") }}
31947225 42 {% end %}
6cee9198
MT
43 </a>
44
d5a50891 45 {% block menu %}
31947225
MT
46 {% if hostname in ("www.ipfire.org", "dev.ipfire.org") %}
47 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
48 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
49 <span class="fas fa-bars"></span>
50 </button>
d5a50891 51
31947225
MT
52 <div class="collapse navbar-collapse" id="navbar">
53 <ul class="navbar-nav ml-auto">
54 <li class="nav-item d-sm-block d-md-block d-lg-none">
55 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">{{ _("Home") }}</a>
56 </li>
66da67fe 57
31947225
MT
58 <li class="nav-item">
59 <a class="nav-link {% if request.path == "/features" %}active{% end %}" href="/features">{{ _("Features") }}</a>
60 </li>
66da67fe 61
31947225 62 <li class="nav-item">
31947225 63 <a class="nav-link {% if request.path == "/support" %}active{% end %}" href="/support">{{ _("Support") }}</a>
31947225 64 </li>
66da67fe 65
31947225 66 <li class="nav-item">
6c3e78c1 67 <a class="nav-link" href="https://blog.ipfire.org/">{{ _("Blog") }}</a>
31947225 68 </li>
6c3e78c1
MT
69
70 <li class="nav-item">
7c661061
MT
71 <a class="nav-link" href="https://community.ipfire.org/">{{ _("Community") }}</a>
72 </li>
0bf57186
MT
73
74 <li class="nav-item">
75 <a class="nav-link {% if request.path.startswith("/download") %}active{% end %}" href="/download">{{ _("Download") }}</a>
6c3e78c1 76 </li>
31947225 77 </ul>
2bd6830c 78
f4e7b91a 79 <a class="btn btn-primary mt-2 mt-lg-0 ml-lg-2" href="/donate">
3e1c465f 80 {{ _("Donate") }}
31947225
MT
81 </a>
82 </div>
83 {% elif hostname == "blog.ipfire.org" %}
84 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
85 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
86 <span class="fas fa-bars"></span>
87 </button>
f9f085e0 88
31947225 89 <div class="collapse navbar-collapse" id="navbar">
063f60e7
MT
90 <ul class="navbar-nav ml-auto d-lg-none">
91 <li class="nav-item">
92 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">
93 {{ _("Newest") }}
94 </a>
95 </li>
96
97 {% if current_user %}
98 <li class="nav-item">
99 <a class="nav-link {% if request.path == "/drafts" %}active{% end %}" href="/drafts">
100 {{ _("My Drafts") }}
101 </a>
102 </li>
103 {% end %}
104
105 <li class="nav-item">
106 <a class="nav-link {% if request.path == "/tags/featured" %}active{% end %}" href="/tags/featured">
107 {{ _("Featured") }}
108 </a>
109 </li>
110
111 <li class="nav-item">
112 <a class="nav-link {% if request.path == "/tags/lightningwirelabs.com" %}active{% end %} d-flex justify-content-between"
113 href="/tags/lightningwirelabs.com">
114 <span>{{ _("Lightning Wire Labs") }}</span>
115
116 <img class="img-fluid" src="{{ static_url("img/lightningwirelabs-logo.svg") }}"
117 alt="{{ _("Lightning Wire Labs") }}">
118 </a>
119 </li>
120
121 <li class="nav-item">
122 <a class="nav-link d-flex justify-content-between" href="/feed.xml">
123 <span>{{ _("RSS Feed") }}</span> <span class="fas fa-rss"></span>
124 </a>
125 </li>
126 </ul>
127
f4e7b91a
MT
128 <form class="form-inline ml-lg-auto my-2 my-lg-0" action="/search" method="GET">
129 <input class="form-control form-control-sm" type="search" name="q"
31947225
MT
130 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
131 </form>
f9f085e0 132
bb0d9933 133 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
3e1c465f 134 {{ _("Donate") }}
31947225
MT
135 </a>
136 </div>
62eaa617
MT
137 {% elif hostname == "fireinfo.ipfire.org" %}
138 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
139 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
140 <span class="fas fa-bars"></span>
141 </button>
142
143 <div class="collapse navbar-collapse" id="navbar">
144 <ul class="navbar-nav ml-auto">
dc96f754
MT
145 {% if current_user and current_user.is_staff() %}
146 <li class="nav-item">
147 <a class="nav-link {% if request.path.startswith("/admin") %}active{% end %}" href="/admin">
148 {{ _("Admin") }}
149 </a>
150 </li>
151 {% end %}
152
62eaa617 153 <li class="nav-item">
8ab37e0b 154 <a class="nav-link {% if request.path.startswith("/vendors") %}active{% end %}" href="/vendors">
62eaa617
MT
155 {{ _("Vendors") }}
156 </a>
157 </li>
62eaa617
MT
158 </ul>
159 </div>
c3bcd7d4
MT
160 {% elif hostname == "location.ipfire.org" %}
161 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
162 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
163 <span class="fas fa-bars"></span>
164 </button>
165
166 <div class="collapse navbar-collapse" id="navbar">
167 <ul class="navbar-nav ml-auto">
55eea098
MT
168 <li class="nav-item">
169 <a class="nav-link {% if request.path == "/how-to-use" %}active{% end %}" href="/how-to-use">
170 {{ _("How To Use") }}
171 </a>
172 </li>
173
c3bcd7d4
MT
174 <li class="nav-item">
175 <a class="nav-link {% if request.path == "/download" %}active{% end %}" href="/download">
176 {{ _("Download") }}
177 </a>
178 </li>
179 </ul>
180
181 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
3e1c465f 182 {{ _("Donate") }}
c3bcd7d4
MT
183 </a>
184 </div>
31947225
MT
185 {% elif hostname == "nopaste.ipfire.org" %}
186 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
187 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
188 <span class="fas fa-bars"></span>
189 </button>
49c82edc 190
31947225
MT
191 <div class="collapse navbar-collapse" id="navbar">
192 <ul class="navbar-nav ml-auto">
193 <li class="nav-item">
5c29f60b 194 <a class="nav-link" href="/?mode=upload">{{ _("Upload File") }}</a>
31947225
MT
195 </li>
196 </ul>
197 </div>
198 {% elif hostname == "people.ipfire.org" %}
199 {% if current_user %}
200 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
201 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
202 <span class="fas fa-bars"></span>
203 </button>
71a3109c 204
31947225
MT
205 <div class="collapse navbar-collapse" id="navbar">
206 <ul class="navbar-nav ml-auto mr-3">
207 <li class="nav-item">
208 <a class="nav-link {% if request.path == "/users/%s" % current_user.uid %}active{% end %}" href="/users/{{ current_user.uid }}">
209 {{ _("My Profile") }}
210 </a>
211 </li>
71a3109c 212
71a3109c
MT
213 {% if current_user.is_staff() %}
214 <li class="nav-item">
215 <a class="nav-link {% if request.path == "/users" %}active{% end %}" href="/users">
216 {{ _("Users") }}
217 </a>
218 </li>
17b40a42
MT
219
220 <li class="nav-item">
221 <a class="nav-link {% if request.path.startswith("/groups") %}active{% end %}" href="/groups">
222 {{ _("Groups") }}
223 </a>
224 </li>
226d2676
MT
225
226 <li class="nav-item">
227 <a class="nav-link {% if request.path == "/stats" %}active{% end %}" href="/stats">
228 {{ _("Stats") }}
229 </a>
230 </li>
71a3109c
MT
231 {% end %}
232
233 {% if current_user.has_sip() %}
234 <li class="nav-item">
235 <a class="nav-link {% if request.path.startswith("/conferences") %}active{% end %}" href="/conferences">
236 {{ _("Conferences") }}
237 </a>
238 </li>
239 {% end %}
31947225 240 </ul>
f9f085e0 241
31947225
MT
242 <form class="form-inline my-2 my-lg-0" action="/search" method="GET">
243 <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
244 placeholder="{{ _("Search") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
245 </form>
246 </div>
247 {% end %}
181d08f3
MT
248 {% elif hostname == "wiki.ipfire.org" %}
249 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
250 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
251 <span class="fas fa-bars"></span>
252 </button>
253
254 <div class="collapse navbar-collapse" id="navbar">
6bf8824b 255 <form class="form-inline ml-auto my-2 my-lg-0" action="/search" method="GET">
181d08f3
MT
256 <input class="form-control form-control-sm" type="search" name="q"
257 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
258 </form>
259
260 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
3e1c465f 261 {{ _("Donate") }}
181d08f3
MT
262 </a>
263 </div>
31947225 264 {% end %}
d5a50891 265 {% end block %}
4b4334da 266 </div>
6cee9198 267 </nav>
60024cc8
MT
268
269 {% block container %}
60b0917c 270 <div class="container">
12e5de7e 271 {% block content %}{% end block %}
9b5ac075
MT
272 </div>
273 {% end block %}
60024cc8 274
9b5ac075 275 {% block footer %}
c819ecf2 276 <footer>
0509f6fd 277 <div class="footer">
0c657b78 278 {% if hostname in ("www.ipfire.org", "dev.ipfire.org") %}
0509f6fd
MT
279 <div class="footer-info">
280 <div class="container pb-3">
281 <div class="row mb-6 justify-content-between">
282 <div class="col-12 col-lg-4 mb-4">
e1ede067
MT
283 <a class="btn btn-primary btn-block mb-3" href="https://people.ipfire.org/register">
284 {{ _("Join Us To Stay Up To Date") }}
285 </a>
47d47c2e 286
e1ede067
MT
287 <p>
288 {{ _("Sign up to our community to take part and get the latest news") }}
289 </p>
0509f6fd 290 </div>
c819ecf2 291
b27d7cc5 292 <div class="col-12 col-lg-3 mb-4 small">
eaec2116 293 <h6>{{ _("Looking For More?") }}</h6>
0509f6fd
MT
294
295 <div class="row">
296 <div class="col">
297 <ul class="list-unstyled">
298 <li>
29c01129 299 <a href="/features">{{ _("Features") }}</a>
0509f6fd
MT
300 </li>
301
302 <li>
b870dc69 303 <a href="/support">{{ _("Support") }}</a>
0509f6fd
MT
304 </li>
305
306 <li>
eaec2116 307 <a href="https://wiki.ipfire.org/devel">{{ _("Development") }}</a>
0509f6fd
MT
308 </li>
309 </ul>
310 </div>
311
312 <div class="col">
313 <ul class="list-unstyled">
314 <li>
b870dc69 315 <a href="/download">{{ _("Download") }}</a>
0509f6fd
MT
316 </li>
317
318 <li>
eaec2116 319 <a href="https://blog.ipfire.org">{{ _("Blog") }}</a>
0509f6fd
MT
320 </li>
321
322 <li>
eaec2116 323 <a href="https://community.ipfire.org/">{{ _("Community") }}</a>
0509f6fd
MT
324 </li>
325 </ul>
326 </div>
c819ecf2 327 </div>
2597b512 328 </div>
60b0917c 329
0509f6fd 330 <div class="col-12 col-lg-4 text-center mb-4">
eaec2116 331 <a class="btn btn-primary btn-lg px-4 my-3" href="/donate">
3e1c465f 332 {{ _("Donate") }}
c819ecf2 333 </a>
76d53285 334
0509f6fd
MT
335 <div class="btn-toolbar justify-content-center">
336 <a class="btn btn-link" href="https://twitter.com/ipfire">
337 <span class="fab fa-twitter"></span>
338 </a>
c819ecf2 339
0509f6fd
MT
340 <a class="btn btn-link" href="https://www.facebook.com/IPFire.org">
341 <span class="fab fa-facebook"></span>
342 </a>
343
344 <a class="btn btn-link" href="https://youtube.com/user/ipfireproject">
345 <span class="fab fa-youtube"></span>
346 </a>
347 </div>
c819ecf2 348 </div>
76d53285 349 </div>
60b0917c
MT
350 </div>
351 </div>
6bf8824b
MT
352 {% elif hostname == "wiki.ipfire.org" %}
353 <div class="footer-info">
354 <div class="container pb-3">
355 <ul class="list-inline">
356 <li class="list-inline-item">
357 <a href="/recent-changes">{{ _("Recent Changes") }}
358 </li>
359
360 <li class="list-inline-item">
361 <a href="/watchlist">{{ _("My Watchlist") }}
362 </li>
363 </ul>
364 </div>
365 </div>
0509f6fd
MT
366 {% end %}
367
368 <div class="copyright">
02040293
MT
369 <div class="container">
370 <div class="row flex-lg-row-reverse">
371 <div class="col-12 col-lg-6 text-center text-lg-right">
dc96f754 372 {% if not current_user and hostname in ("blog.ipfire.org", "fireinfo.ipfire.org", "nopaste.ipfire.org", "wiki.ipfire.org") %}
02040293
MT
373 <a href="/login">{{ _("Login") }}</a>
374 {% elif current_user %}
375 <p class="mb-0">
376 <span class="mr-2">
377 {{ _("You are currently logged in as %s") % current_user }}
378 </span>
379
380 <a href="/logout">{{ _("Logout") }}</a>
381 </p>
382 {% end %}
383 </div>
384
385 <div class="col-12 col-lg-6 text-center text-lg-left">
386 &copy; {{ year }} - IPFire - {{ _("The Open Source Firewall") }}
0ed8df7b 387 - <a href="https://www.ipfire.org/legal">{{ _("Legal") }}</a>
02040293
MT
388 </div>
389 </div>
0509f6fd 390 </div>
20df8773 391 </div>
9b5ac075
MT
392 </div>
393 </footer>
60024cc8 394 {% end block %}
45f1004c 395
f9b71176
MT
396 <script src="{{ static_url("js/jquery-3.3.1.min.js") }}"></script>
397 <script src="{{ static_url("js/popper.min.js") }}"></script>
398 <script src="{{ static_url("js/bootstrap.min.js") }}"></script>
9f043320 399 {% block javascript %}{% end block %}
81675874 400 </body>
401</html>