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