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" />
8 <meta name=
"keywords" content=
"Linux, Firewall, IPFire, Security, IPCop, Open Source, Free, ARM, VPN, Proxy, IDS, IPS" />
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 )}}">
14 <link rel=
"apple-touch-icon-precomposed" href=
"{{ static_url("img/apple-touch-icon-
60x60-precomposed.png
") }}">
16 <!-- styling stuff -->
17 <link rel=
"stylesheet" type=
"text/css" href=
"{{ static_url("main.css
") }}" />
18 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0">
20 {% block head %}{% end block %}
23 <body id=
"page-top" class=
"{{ hostname.replace(".
", "-
") }}">
24 <nav class=
"navbar navbar-dark navbar-expand-lg mb-4">
25 <div class=
"container">
26 <a class=
"navbar-brand" href=
"/">
27 <strong>IPFire
</strong>
29 {% if hostname ==
"blog.ipfire.org" %}
31 {% elif hostname ==
"fireinfo.ipfire.org" %}
33 {% elif hostname ==
"location.ipfire.org" %}
35 <span class=
"badge badge-primary">{{ _(
"BETA") }}
</span>
36 {% elif hostname ==
"mirrors.ipfire.org" %}
38 {% elif hostname ==
"people.ipfire.org" %}
40 {% elif hostname ==
"wiki.ipfire.org" %}
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>
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>
59 <a class=
"nav-link {% if request.path == "/features
" %}active{% end %}" href=
"/features">{{ _(
"Features") }}
</a>
63 <a class=
"nav-link {% if request.path == "/support
" %}active{% end %}" href=
"/support">{{ _(
"Support") }}
</a>
67 <a class=
"nav-link" href=
"https://blog.ipfire.org/">{{ _(
"Blog") }}
</a>
71 <a class=
"nav-link" href=
"https://community.ipfire.org/">{{ _(
"Community") }}
</a>
75 <a class=
"nav-link {% if request.path.startswith("/download
") %}active{% end %}" href=
"/download">{{ _(
"Download") }}
</a>
79 <a class=
"btn btn-primary mt-2 mt-lg-0 ml-lg-2" href=
"/donate">
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>
89 <div class=
"collapse navbar-collapse" id=
"navbar">
90 <ul class=
"navbar-nav ml-auto d-lg-none">
92 <a class=
"nav-link {% if request.path == "/
" %}active{% end %}" href=
"/">
99 <a class=
"nav-link {% if request.path == "/drafts
" %}active{% end %}" href=
"/drafts">
105 <li class=
"nav-item">
106 <a class=
"nav-link {% if request.path == "/tags/featured
" %}active{% end %}" href=
"/tags/featured">
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>
116 <img class=
"img-fluid" src=
"{{ static_url("img/lightningwirelabs-logo.svg
") }}"
117 alt=
"{{ _("Lightning Wire Labs
") }}">
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>
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"
130 placeholder=
"{{ _("Search...
") }}" aria-label=
"{{ _("Search
") }}" value=
"{% try %}{{ q }}{% except %}{% end %}">
133 <a class=
"btn btn-primary ml-lg-2" href=
"https://www.ipfire.org/donate">
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>
143 <div class=
"collapse navbar-collapse" id=
"navbar">
144 <ul class=
"navbar-nav ml-auto">
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">
153 <li class=
"nav-item">
154 <a class=
"nav-link {% if request.path.startswith("/vendors
") %}active{% end %}" href=
"/vendors">
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>
166 <div class=
"collapse navbar-collapse" id=
"navbar">
167 <ul class=
"navbar-nav ml-auto">
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") }}
174 <li class=
"nav-item">
175 <a class=
"nav-link {% if request.path == "/download
" %}active{% end %}" href=
"/download">
181 <a class=
"btn btn-primary ml-lg-2" href=
"https://www.ipfire.org/donate">
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>
191 <div class=
"collapse navbar-collapse" id=
"navbar">
192 <ul class=
"navbar-nav ml-auto">
193 <li class=
"nav-item">
194 <a class=
"nav-link" href=
"/?mode=upload">{{ _(
"Upload File") }}
</a>
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>
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") }}
213 {% if current_user.is_staff() %}
214 <li class=
"nav-item">
215 <a class=
"nav-link {% if request.path == "/users
" %}active{% end %}" href=
"/users">
220 <li class=
"nav-item">
221 <a class=
"nav-link {% if request.path.startswith("/groups
") %}active{% end %}" href=
"/groups">
226 <li class=
"nav-item">
227 <a class=
"nav-link {% if request.path == "/stats
" %}active{% end %}" href=
"/stats">
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") }}
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 %}">
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>
254 <div class=
"collapse navbar-collapse" id=
"navbar">
255 <form class=
"form-inline ml-auto my-2 my-lg-0" action=
"/search" method=
"GET">
256 <input class=
"form-control form-control-sm" type=
"search" name=
"q"
257 placeholder=
"{{ _("Search...
") }}" aria-label=
"{{ _("Search
") }}" value=
"{% try %}{{ q }}{% except %}{% end %}">
260 <a class=
"btn btn-primary ml-lg-2" href=
"https://www.ipfire.org/donate">
269 {% block container %}
270 <div class=
"container">
271 {% block content %}{% end block %}
278 {% if hostname in (
"www.ipfire.org",
"dev.ipfire.org") %}
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">
283 <a class=
"btn btn-primary btn-block mb-3" href=
"https://people.ipfire.org/register">
284 {{ _(
"Join Us To Stay Up To Date") }}
288 {{ _(
"Sign up to our community to take part and get the latest news") }}
292 <div class=
"col-12 col-lg-3 mb-4 small">
293 <h6>{{ _(
"Looking For More?") }}
</h6>
297 <ul class=
"list-unstyled">
299 <a href=
"/features">{{ _(
"Features") }}
</a>
303 <a href=
"/support">{{ _(
"Support") }}
</a>
307 <a href=
"https://wiki.ipfire.org/devel">{{ _(
"Development") }}
</a>
313 <ul class=
"list-unstyled">
315 <a href=
"/download">{{ _(
"Download") }}
</a>
319 <a href=
"https://blog.ipfire.org">{{ _(
"Blog") }}
</a>
323 <a href=
"https://community.ipfire.org/">{{ _(
"Community") }}
</a>
330 <div class=
"col-12 col-lg-4 text-center mb-4">
331 <a class=
"btn btn-primary btn-lg px-4 my-3" href=
"/donate">
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>
340 <a class=
"btn btn-link" href=
"https://www.facebook.com/IPFire.org">
341 <span class=
"fab fa-facebook"></span>
344 <a class=
"btn btn-link" href=
"https://youtube.com/user/ipfireproject">
345 <span class=
"fab fa-youtube"></span>
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") }}
360 <li class=
"list-inline-item">
361 <a href=
"/watchlist">{{ _(
"My Watchlist") }}
368 <div class=
"copyright">
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">
372 {% if not current_user and hostname in (
"blog.ipfire.org",
"fireinfo.ipfire.org",
"nopaste.ipfire.org",
"wiki.ipfire.org") %}
373 <a href=
"/login">{{ _(
"Login") }}
</a>
374 {% elif current_user %}
377 {{ _(
"You are currently logged in as %s") % current_user }}
380 <a href=
"/logout">{{ _(
"Logout") }}
</a>
385 <div class=
"col-12 col-lg-6 text-center text-lg-left">
386 © {{ year }} - IPFire - {{ _(
"The Open Source Firewall") }}
387 -
<a href=
"https://www.ipfire.org/legal">{{ _(
"Legal") }}
</a>
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>
399 {% block javascript %}{% end block %}