]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/base.html
Replace Bootstrap 5 with Bulma
[ipfire.org.git] / src / templates / base.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
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" />
7
8 <meta name="keywords" content="Linux, Firewall, IPFire, Security, IPCop, Open Source, Free, ARM, VPN, Proxy, IDS, IPS" />
9
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
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">
19
20 {% block head %}{% end block %}
21 </head>
22
23 <body class="{{ hostname.replace(".", "-") }}">
24 {% block container_large %}
25 <nav class="navbar navbar-light navbar-expand-lg">
26 <div class="container">
27 <a class="navbar-brand" href="/">
28 {% if hostname == "fireinfo.ipfire.org" %}
29 IPFire<span class="text-primary">_</span>Fireinfo
30 {% elif hostname == "nopaste.ipfire.org" %}
31 IPFire<span class="text-primary">_</span>Nopaste
32 {% elif hostname == "people.ipfire.org" %}
33 IPFire<span class="text-primary">_</span>People
34 {% else %}
35 IPFire<span class="text-primary">_</span>
36 {% end %}
37
38 {% if hostname == "location.ipfire.org" %}
39 {{ _("Location") }}
40 {% elif hostname == "wiki.ipfire.org" %}
41 {{ _("Wiki") }}
42 {% end %}
43 </a>
44
45 {% block menu %}
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>
51
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>
57
58 <li class="nav-item">
59 <a class="nav-link {% if request.path == "/about" %}active{% end %}" href="/about">{{ _("About") }}</a>
60 </li>
61
62 <li class="nav-item">
63 <a class="nav-link {% if request.path.startswith("/download") %}active{% end %}" href="/download">{{ _("Download") }}</a>
64 </li>
65
66 <li class="nav-item">
67 <a class="nav-link {% if request.path == "/support" %}active{% end %}" href="/support">{{ _("Support") }}</a>
68 </li>
69
70 <li class="nav-item">
71 <a class="nav-link {% if request.path.startswith("/blog") %}active{% end %}" href="/blog">{{ _("Blog") }}</a>
72 </li>
73 </ul>
74
75 <a class="btn btn-primary mt-2 mt-lg-0 ml-lg-2" href="/donate">
76 {{ _("Donate") }}
77 </a>
78
79 <a class="btn btn-lwl mt-2 mt-lg-0 ml-lg-2" href="https://store.lightningwirelabs.com/">
80 {{ _("Buy") }}
81 </a>
82 </div>
83 {% elif hostname == "fireinfo.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>
88
89 <div class="collapse navbar-collapse" id="navbar">
90 <ul class="navbar-nav ml-auto">
91 {% if current_user and current_user.is_staff() %}
92 <li class="nav-item">
93 <a class="nav-link {% if request.path.startswith("/admin") %}active{% end %}" href="/admin">
94 {{ _("Admin") }}
95 </a>
96 </li>
97 {% end %}
98
99 <li class="nav-item">
100 <a class="nav-link {% if request.path.startswith("/vendors") %}active{% end %}" href="/vendors">
101 {{ _("Vendors") }}
102 </a>
103 </li>
104 </ul>
105 </div>
106 {% elif hostname == "location.ipfire.org" %}
107 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
108 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
109 <span class="fas fa-bars"></span>
110 </button>
111
112 <div class="collapse navbar-collapse" id="navbar">
113 <ul class="navbar-nav ml-auto">
114 <li class="nav-item">
115 <a class="nav-link {% if request.path == "/how-to-use" %}active{% end %}" href="/how-to-use">
116 {{ _("How To Use") }}
117 </a>
118 </li>
119
120 <li class="nav-item">
121 <a class="nav-link {% if request.path == "/download" %}active{% end %}" href="/download">
122 {{ _("Download") }}
123 </a>
124 </li>
125 </ul>
126
127 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
128 {{ _("Donate") }}
129 </a>
130 </div>
131 {% elif hostname == "nopaste.ipfire.org" %}
132 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
133 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
134 <span class="fas fa-bars"></span>
135 </button>
136
137 <div class="collapse navbar-collapse" id="navbar">
138 <ul class="navbar-nav ml-auto">
139 <li class="nav-item">
140 <a class="nav-link" href="/?mode=upload">{{ _("Upload File") }}</a>
141 </li>
142 </ul>
143 </div>
144 {% elif hostname == "people.ipfire.org" %}
145 {% if current_user %}
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>
150
151 <div class="collapse navbar-collapse" id="navbar">
152 <ul class="navbar-nav ml-auto mr-3">
153 <li class="nav-item">
154 <a class="nav-link {% if request.path == "/users/%s" % current_user.uid %}active{% end %}" href="/users/{{ current_user.uid }}">
155 {{ _("My Profile") }}
156 </a>
157 </li>
158
159 {% if current_user.is_staff() %}
160 <li class="nav-item">
161 <a class="nav-link {% if request.path == "/users" %}active{% end %}" href="/users">
162 {{ _("Users") }}
163 </a>
164 </li>
165
166 <li class="nav-item">
167 <a class="nav-link {% if request.path.startswith("/groups") %}active{% end %}" href="/groups">
168 {{ _("Groups") }}
169 </a>
170 </li>
171
172 <li class="nav-item">
173 <a class="nav-link {% if request.path == "/stats" %}active{% end %}" href="/stats">
174 {{ _("Stats") }}
175 </a>
176 </li>
177 {% end %}
178
179 {% if current_user.has_sip() %}
180 <li class="nav-item">
181 <a class="nav-link {% if request.path.startswith("/conferences") %}active{% end %}" href="/conferences">
182 {{ _("Conferences") }}
183 </a>
184 </li>
185 {% end %}
186 </ul>
187
188 <form class="my-2 my-lg-0" action="/search" method="GET">
189 <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
190 placeholder="{{ _("Search") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
191 </form>
192 </div>
193 {% end %}
194 {% elif hostname == "wiki.ipfire.org" %}
195 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
196 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
197 <span class="fas fa-bars"></span>
198 </button>
199
200 <div class="collapse navbar-collapse" id="navbar">
201 <form class=" ml-auto my-2 my-lg-0" action="/search" method="GET">
202 <input class="form-control form-control-sm" type="search" name="q"
203 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
204 </form>
205
206 <a class="btn btn-primary ml-lg-2" href="https://www.ipfire.org/donate">
207 {{ _("Donate") }}
208 </a>
209 </div>
210 {% end %}
211 {% end block %}
212 </div>
213 </nav>
214
215 {% block container %}
216 <div class="container">
217 {% block content %}{% end block %}
218 </div>
219 {% end block %}
220 {% end block %}
221
222 {% block footer %}
223 <footer>
224 <div class="container">
225 <div class="footer border-top">
226 <div class="row">
227 <div class="col-12 col-lg-5 mb-3">
228 <h5>IPFire<span class="text-primary">_</span>People</h5>
229
230 <p>
231 Join the community and sign up for our newsletter
232 </p>
233
234 <a class="btn btn-outline-primary text-uppercase" href="https://people.ipfire.org/">
235 {{ _("Join Now") }}
236 </a>
237 </div>
238
239 <div class="col-12 col-lg-1">
240 <!-- spacer -->
241 </div>
242
243 <div class="col-12 col-lg-2">
244 <ul>
245 <li>
246 <a class="footer-link" href="/about">{{ _("About") }}</a>
247 </li>
248
249 <li>
250 <a class="footer-link" href="https://wiki.ipfire.org">{{ _("Wiki") }}</a>
251 </li>
252
253 <li>
254 <a class="footer-link" href="/support">{{ _("Support") }}</a>
255 </li>
256
257 <li>
258 <a class="footer-link" href="https://wiki.ipfire.org/devel">{{ _("Development") }}</a>
259 </li>
260 </ul>
261 </div>
262
263 <div class="col-12 col-lg-2">
264 <ul>
265 <li>
266 <a class="footer-link" href="/download">{{ _("Download") }}</a>
267 </li>
268
269 <li>
270 <a class="footer-link" href="/blog">{{ _("Blog") }}</a>
271 </li>
272
273 <li>
274 <a class="footer-link" href="https://community.ipfire.org/">{{ _("Community") }}</a>
275 </li>
276
277 <li>
278 <a class="footer-link" href="/legal">{{ _("Legal") }}</a>
279 </li>
280 </ul>
281 </div>
282
283 <div class="col-12 col-lg-2">
284 <div class="d-grid gap-2">
285 <a class="btn btn-primary text-uppercase" href="https://www.ipfire.org/donate">
286 {{ _("Donate") }}
287 </a>
288
289 <a class="btn btn-lwl text-uppercase" href="https://store.lightningwirelabs.com/">
290 {{ _("Buy") }}
291 </a>
292 </div>
293 </div>
294 </div>
295 </div>
296 </div>
297 </footer>
298 {% end block %}
299
300 <script src="{{ static_url("js/jquery-3.6.0.min.js") }}"></script>
301 {% block javascript %}{% end block %}
302 </body>
303 </html>