# TODO install the base for now and add all other templates later
templates_DATA = \
+ src/templates/about.html \
src/templates/base.html \
src/templates/error.html \
src/templates/index.html
--- /dev/null
+{% extends "base.html" %}
+
+{% block title %}{{ _("About IPFire") }}{% end block %}
+
+{% block container %}
+ <div class="header">
+ <div class="container">
+ <h1>{{ _("About") }}</h1>
+
+ <p class="text-muted">
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua.
+ Viverra accumsan in nisl nisi scelerisque eu ultrices.
+ Semper auctor neque vitae tempus quam pellentesque nec.
+ Platea dictumst quisque sagittis purus sit amet.
+ </p>
+ </div>
+ </div>
+
+ <div class="container">
+ <section>
+ <h3>{{ _("Features") }}</h3>
+
+ <div class="row">
+ <div class="col-12 col-lg-4">
+ <ul class="list-unstyled">
+ <li>
+ <strong>Feature #1</strong> is particularly cool
+ </li>
+
+ <li>
+ <strong>Feature #2</strong> isn't bad either
+ </li>
+
+ <li>
+ <strong>Feature #3</strong> really rocks
+ </li>
+ </ul>
+ </div>
+
+ <div class="col-12 col-lg-4">
+ <ul class="list-unstyled">
+ <li>
+ Another feature
+ </li>
+
+ <li>
+ And another one
+ </li>
+
+ <li>
+ One more
+ </li>
+ </ul>
+ </div>
+
+ <div class="col-12 col-lg-4">
+ <ul class="list-unstyled">
+ <li>
+ We really think that people will like this
+ </li>
+
+ <li>
+ Did you check out X?
+ </li>
+
+ <li>
+ How about Y?
+ </li>
+ </ul>
+ </div>
+ </div>
+ </section>
+ </div>
+{% end block %}
</li>
<li class="nav-item">
- <a class="nav-link {% if request.path == "/features" %}active{% end %}" href="/features">{{ _("Features") }}</a>
+ <a class="nav-link {% if request.path == "/about" %}active{% end %}" href="/about">{{ _("About") }}</a>
</li>
<li class="nav-item">
<div class="col-12 col-lg-2">
<ul>
<li>
- <a class="footer-link" href="/features">{{ _("Features") }}</a>
+ <a class="footer-link" href="/about">{{ _("About") }}</a>
</li>
<li>
self.add_handlers(r"(dev|www)\.ipfire\.rocks", [
# Entry site that lead the user to index
(r"/", IndexHandler),
+ (r"/about", AboutHandler),
# Blog
(r"/blog", blog.IndexHandler),
return self.render("index.html", latest_release=latest_release)
+class AboutHandler(base.BaseHandler):
+ def get(self):
+ self.render("about.html")
+
+
class NewsHandler(base.BaseHandler):
def get(self, post):
self.redirect("https://www.ipfire.org/blog/%s" % post, permanent=True)