]> git.ipfire.org Git - ipfire.org.git/blob - src/templates/base.html
Move navigation into base template
[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 <meta name="description" content="{{ _("IPFire is a free firewall distribution based on Linux.") }}" />
10
11 <!-- styling stuff -->
12 <link rel="stylesheet" type="text/css" href="{{ static_url("main.css") }}" />
13 <meta name="viewport" content="width=device-width, initial-scale=1.0">
14
15 {% block head %}{% end block %}
16 </head>
17
18 <body id="page-top">
19 <nav class="navbar navbar-dark navbar-expand-lg mb-4">
20 <div class="container">
21 <a class="navbar-brand mx-auto" href="/">
22 <strong>IPFire</strong>
23
24 {% if hostname == "blog.ipfire.org" %}
25 {{ _("Blog") }}
26 {% elif hostname == "people.ipfire.org" %}
27 {{ _("People") }}
28 {% end %}
29 </a>
30
31 {% block menu %}
32 {% if hostname in ("www.ipfire.org", "dev.ipfire.org") %}
33 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
34 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
35 <span class="fas fa-bars"></span>
36 </button>
37
38 <div class="collapse navbar-collapse" id="navbar">
39 <ul class="navbar-nav ml-auto">
40 <li class="nav-item d-sm-block d-md-block d-lg-none">
41 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">{{ _("Home") }}</a>
42 </li>
43
44 <li class="nav-item">
45 <a class="nav-link {% if request.path == "/features" %}active{% end %}" href="/features">{{ _("Features") }}</a>
46 </li>
47
48 <li class="nav-item">
49 <a class="nav-link {% if request.path.startswith("/download") %}active{% end %}" href="/download">{{ _("Download") }}</a>
50 </li>
51
52 <li class="nav-item">
53 <a class="nav-link {% if request.path == "/support" %}active{% end %}" href="/support">{{ _("Support") }}</a>
54 </li>
55 </ul>
56
57 <a class="btn btn-primary btn-donate ml-2 d-none d-sm-block" href="/donate">
58 <span class="fas fa-heart"></span> {{ _("Donate") }}
59 </a>
60 </div>
61 {% elif hostname == "blog.ipfire.org" %}
62 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
63 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
64 <span class="fas fa-bars"></span>
65 </button>
66
67 <div class="collapse navbar-collapse" id="navbar">
68 <form class="form-inline ml-auto my-2 my-lg-0" action="/search" method="GET">
69 <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
70 placeholder="{{ _("Search...") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
71 </form>
72
73 <a class="btn btn-primary btn-donate ml-2 d-none d-sm-block" href="/donate">
74 <span class="fas fa-heart"></span> {{ _("Donate") }}
75 </a>
76 </div>
77 {% elif hostname == "nopaste.ipfire.org" %}
78 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
79 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
80 <span class="fas fa-bars"></span>
81 </button>
82
83 <div class="collapse navbar-collapse" id="navbar">
84 <ul class="navbar-nav ml-auto">
85 <li class="nav-item">
86 <a class="nav-link" href="/?mode=upload">{{ _("Upload file") }}</a>
87 </li>
88 </ul>
89 </div>
90 {% elif hostname == "people.ipfire.org" %}
91 {% if current_user %}
92 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
93 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
94 <span class="fas fa-bars"></span>
95 </button>
96
97 <div class="collapse navbar-collapse" id="navbar">
98 <ul class="navbar-nav ml-auto mr-3">
99 <li class="nav-item">
100 <a class="nav-link {% if request.path == "/users/%s" % current_user.uid %}active{% end %}" href="/users/{{ current_user.uid }}">
101 {{ _("My Profile") }}
102 </a>
103 </li>
104
105 <li class="nav-item">
106 <a class="nav-link {% if request.path.startswith("/users/%s/calls" % current_user.uid) %}active{% end %}" href="/users/{{ current_user.uid }}/calls">
107 {{ _("My Calls") }}
108
109 {% if current_user.sip_channels %}
110 <span class="badge badge-primary ml-2">{{ len(current_user.sip_channels) }}</span>
111 {% end %}
112 </a>
113 </li>
114
115 <li class="nav-item">
116 <a class="nav-link {% if request.path == "/users" %}active{% end %}" href="/users">
117 {{ _("Users") }}
118 </a>
119 </li>
120
121 <li class="nav-item">
122 <a class="nav-link {% if request.path.startswith("/conferences") %}active{% end %}" href="/conferences">
123 {{ _("Conferences") }}
124 </a>
125 </li>
126 </ul>
127
128 <form class="form-inline my-2 my-lg-0" action="/search" method="GET">
129 <input class="form-control form-control-sm mr-sm-2" type="search" name="q"
130 placeholder="{{ _("Search") }}" aria-label="{{ _("Search") }}" value="{% try %}{{ q }}{% except %}{% end %}">
131 </form>
132 </div>
133 {% end %}
134 {% end %}
135 {% end block %}
136 </div>
137 </nav>
138
139 {% block container %}
140 <div class="container">
141 {% block body %}{% end block %}
142 {% block content %}{% end block %}
143 </div>
144 {% end block %}
145
146 {% block footer %}
147 <footer>
148 {% if hostname in ("www.ipfire.org", "blog.ipfire.org", "dev.ipfire.org") %}
149 <div class="footer">
150 <div class="container pb-3">
151 <div class="row mb-6 justify-content-between">
152 <div class="col-12 col-lg-4 mb-4">
153 <h6>{{ _("Subscribe to our Newsletter") }}</h6>
154
155 <form method="POST" action="https://{{ "dev.ipfire.org" if hostname == "dev.ipfire.org" else "www.ipfire.org" }}/newsletter/subscribe">
156 {% raw xsrf_form_html() %}
157
158 <label class="sr-only" for="email">{{ _("Email Address") }}</label>
159
160 <input type="email" class="form-control mb-2 mr-sm-2" id="email" name="email"
161 placeholder="{{ _("Your Email Address") }}">
162
163 <button type="submit" class="btn btn-primary btn-block mb-2">{{ _("Subscribe") }}</button>
164 </form>
165 </div>
166
167 <div class="col-12 col-lg-3 mb-4">
168 <h6>{{ _("About") }}</h6>
169
170 <div class="row">
171 <div class="col">
172 <ul class="list-unstyled">
173 <li>
174 <a href="https://www.ipfire.org/features">{{ _("Features") }}</a>
175 </li>
176
177 <li>
178 <a href="https://downloads.ipfire.org">{{ _("Download") }}</a>
179 </li>
180
181 <li>
182 <a href="https://www.ipfire.org/support">{{ _("Support") }}</a>
183 </li>
184 </ul>
185 </div>
186
187 <div class="col">
188 <ul class="list-unstyled">
189 <li>
190 <a href="https://blog.ipfire.org">{{ _("Blog") }}</a>
191 </li>
192
193 <li>
194 <a href="https://wiki.ipfire.org/devel/start">{{ _("Development") }}</a>
195 </li>
196
197 <li>
198 <a href="https://www.ipfire.org/legal">{{ _("Legal") }}</a>
199 </li>
200 </ul>
201 </div>
202 </div>
203 </div>
204
205 <div class="col-12 col-lg-4 text-center mb-4">
206 <a class="btn btn-primary btn-lg my-4" href="//www.ipfire.org/donate">
207 <span class="fas fa-heart"></span> {{ _("Donate") }}
208 </a>
209
210 <div class="btn-toolbar justify-content-center">
211 <a class="btn btn-link" href="https://twitter.com/ipfire">
212 <span class="fab fa-twitter"></span>
213 </a>
214
215 <a class="btn btn-link" href="https://www.facebook.com/IPFire.org">
216 <span class="fab fa-facebook"></span>
217 </a>
218
219 <a class="btn btn-link" href="https://youtube.com/user/ipfireproject">
220 <span class="fab fa-youtube"></span>
221 </a>
222 </div>
223 </div>
224 </div>
225 </div>
226 </div>
227 {% end %}
228
229 <div class="copyright">
230 <div class="container d-flex justify-content-between">
231 &copy; {{ year }} - {{ _("IPFire is free software written by the IPFire Project") }}
232
233 {% if not current_user and hostname in ("blog.ipfire.org") %}
234 <a href="/login">{{ _("Login") }}</a>
235 {% elif current_user %}
236 <span>
237 {{ _("You are currently logged in as %s") % current_user.name }}
238 <a href="/logout">{{ _("Logout") }}</a>
239 </span>
240 {% end %}
241 </div>
242 </div>
243 </footer>
244 {% end block %}
245
246 <script src="{{ static_url("js/jquery-3.3.1.min.js") }}"></script>
247 <script src="{{ static_url("js/popper.min.js") }}"></script>
248 <script src="{{ static_url("js/bootstrap.min.js") }}"></script>
249 {% block javascript %}{% end block %}
250 </body>
251 </html>