]> git.ipfire.org Git - ipfire.org.git/blame - src/templates/base.html
bootstrap: Use v4.1.3
[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
MT
20 <div class="container">
21 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"
22 aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
04e3763d 23 <span class="fas fa-bars"></span>
6cee9198
MT
24 </button>
25
a9a5d02b 26 <a class="navbar-brand mx-auto" href="/">
77fe8df7 27 <strong>IPFire</strong> {% block subtitle %}{% end block %}
6cee9198
MT
28 </a>
29
30 <div class="collapse navbar-collapse" id="navbar">
31 {% block menu %}
66da67fe
MT
32 <ul class="navbar-nav ml-auto">
33 <li class="nav-item d-sm-block d-md-block d-lg-none">
34 <a class="nav-link {% if request.path == "/" %}active{% end %}" href="/">{{ _("Home") }}</a>
35 </li>
36
37 <li class="nav-item">
38 <a class="nav-link {% if request.path == "/features" %}active{% end %}" href="/features">{{ _("Features") }}</a>
39 </li>
40
41 <li class="nav-item">
42 <a class="nav-link {% if request.path.startswith("/download") %}active{% end %}" href="/download">{{ _("Download") }}</a>
43 </li>
44
45 <li class="nav-item">
00026d8b 46 <a class="nav-link {% if request.path == "/support" %}active{% end %}" href="/support">{{ _("Support") }}</a>
66da67fe 47 </li>
66da67fe 48 </ul>
2bd6830c
MT
49
50 <a class="btn btn-primary btn-donate ml-2 d-none d-sm-block" href="/donate">
51 <span class="fas fa-heart"></span> {{ _("Donate") }}
52 </a>
6cee9198 53 {% end block %}
82468973 54 </div>
4b4334da 55 </div>
6cee9198 56 </nav>
60024cc8
MT
57
58 {% block container %}
60b0917c
MT
59 <div class="container">
60 {% block body %}{% end block %}
12e5de7e 61 {% block content %}{% end block %}
9b5ac075
MT
62 </div>
63 {% end block %}
60024cc8 64
9b5ac075 65 {% block footer %}
c819ecf2 66 <footer>
76d53285 67 {% if hostname in ("www.ipfire.org", "blog.ipfire.org", "dev.ipfire.org") %}
c819ecf2
MT
68 <div class="footer">
69 <div class="container pb-3">
70 <div class="row mb-6 justify-content-between">
71 <div class="col-12 col-lg-4 mb-4">
72 <h6>{{ _("Subscribe to our Newsletter") }}</h6>
60b0917c 73
c819ecf2
MT
74 <form method="POST" action="https://{{ "dev" if debug else "www" }}.ipfire.org/newsletter/subscribe">
75 {% raw xsrf_form_html() %}
60b0917c 76
c819ecf2 77 <label class="sr-only" for="email">{{ _("Email Address") }}</label>
60b0917c 78
c819ecf2
MT
79 <input type="email" class="form-control mb-2 mr-sm-2" id="email" name="email"
80 placeholder="{{ _("Your Email Address") }}">
47d47c2e 81
c819ecf2
MT
82 <button type="submit" class="btn btn-primary btn-block mb-2">{{ _("Subscribe") }}</button>
83 </form>
84 </div>
2597b512 85
c819ecf2
MT
86 <div class="col-12 col-lg-3 mb-4">
87 <h6>{{ _("About") }}</h6>
88
89 <div class="row">
90 <div class="col">
91 <ul class="list-unstyled">
92 <li>
93 <a href="https://www.ipfire.org/features">{{ _("Features") }}</a>
94 </li>
95
96 <li>
97 <a href="https://downloads.ipfire.org">{{ _("Download") }}</a>
98 </li>
99
100 <li>
101 <a href="https://www.ipfire.org/support">{{ _("Support") }}</a>
102 </li>
103 </ul>
104 </div>
105
106 <div class="col">
107 <ul class="list-unstyled">
108 <li>
109 <a href="https://blog.ipfire.org">{{ _("Blog") }}</a>
110 </li>
111
112 <li>
113 <a href="https://wiki.ipfire.org/devel/start">{{ _("Development") }}</a>
114 </li>
115
116 <li>
117 <a href="https://www.ipfire.org/legal">{{ _("Legal") }}</a>
118 </li>
119 </ul>
120 </div>
2597b512
MT
121 </div>
122 </div>
60b0917c 123
c819ecf2
MT
124 <div class="col-12 col-lg-4 text-center mb-4">
125 <a class="btn btn-primary btn-lg my-4" href="//www.ipfire.org/donate">
126 <span class="fas fa-heart"></span> {{ _("Donate") }}
76d53285 127 </a>
04e3763d 128
c819ecf2
MT
129 <div class="btn-toolbar justify-content-center">
130 <a class="btn btn-link" href="https://twitter.com/ipfire">
131 <span class="fab fa-twitter"></span>
132 </a>
76d53285 133
c819ecf2
MT
134 <a class="btn btn-link" href="https://www.facebook.com/IPFire.org">
135 <span class="fab fa-facebook"></span>
136 </a>
137
138 <a class="btn btn-link" href="https://youtube.com/user/ipfireproject">
139 <span class="fab fa-youtube"></span>
140 </a>
141 </div>
76d53285 142 </div>
60b0917c
MT
143 </div>
144 </div>
145 </div>
76d53285
MT
146 {% end %}
147
23015f63
MT
148 <div class="copyright">
149 <div class="container d-flex justify-content-between">
150 &copy; {{ year }} - {{ _("IPFire is free software written by the IPFire Project") }}
151
152 {% if not current_user and hostname in ("blog.ipfire.org") %}
ddfebab0
MT
153 <a href="/login">{{ _("Login") }}</a>
154 {% elif current_user %}
155 <span>
156 {{ _("You are currently logged in as %s") % current_user.name }}
157 <a href="/logout">{{ _("Logout") }}</a>
158 </span>
23015f63 159 {% end %}
20df8773 160 </div>
9b5ac075
MT
161 </div>
162 </footer>
60024cc8 163 {% end block %}
45f1004c 164
f9b71176
MT
165 <script src="{{ static_url("js/jquery-3.3.1.min.js") }}"></script>
166 <script src="{{ static_url("js/popper.min.js") }}"></script>
167 <script src="{{ static_url("js/bootstrap.min.js") }}"></script>
9f043320 168 {% block javascript %}{% end block %}
81675874 169 </body>
170</html>