</div>
</div>
+ <section class="inverse">
+ <div class="container">
+ <div class="row justify-content-center">
+ <div class="col-12 col-md-3">
+ <img class="img-fluid my-5" src="{{ static_url("img/ipfire-tux.png") }}" alt="IPFire Logo" />
+ </div>
+
+ {% if latest_release %}
+ <div class="col-12 col-md-4 d-flex align-items-center">
+ <div>
+ <h1 class="display-1 text-primary mb-0">
+ {{ "%.2f%%" % (latest_release.penetration * 100) }}
+ </h1>
+
+ <h5>{{ _("of all IPFire systems are on %s") % latest_release }}</h5>
+ </div>
+ </div>
+ {% end %}
+ </div>
+ </div>
+ </section>
+
<section class="inverse">
<div class="container">
<div class="row">
- <div class="col-12 col-md-6 flex-column align-items-center text-center text-md-right">
- <h1 class="display-1 text-primary mb-0">
- {{ "%.2f%%" % (virtual_ratio * 100) }}
- </h1>
+ <div class="col-12 col-md-6 d-flex align-items-center text-md-right">
+ <div>
+ <h1 class="display-1 text-success mb-0">
+ {{ "%.2f%%" % (virtual_ratio * 100) }}
+ </h1>
- <h5>{{ _("of all IPFire systems are running in a virtual environment") }}</h5>
+ <h5>{{ _("of all IPFire systems are running in a virtual environment") }}</h5>
+ </div>
</div>
<div class="col-12 col-md-6">
{{ name }}
{% end %}
</dt>
+
<dd class="col-sm-9">
- {% module ProgressBar(percentage, "primary") %}
+ {% module ProgressBar(percentage, "success") %}
</dd>
{% end %}
{% end %}
<div class="col">
<div class="progress">
- <div class="progress-bar {% if colour %}{{ "progress-bar-%s" % colour }}{% end %}"
+ <div class="progress-bar {% if colour %}{{ "bg-%s" % colour }}{% end %}"
role="progressbar" aria-valuenow="{{ "%.0f" % value }}"
aria-valuemin="0" aria-valuemax="100" style="width: {{ "%.2f" % value }}%;">
</div>
class IndexHandler(BaseHandler):
def get(self):
data = {
- "hypervisors" : self.fireinfo.get_hypervisor_map(when=self.when),
- "virtual_ratio" : self.fireinfo.get_virtual_ratio(when=self.when),
+ # Release
+ "latest_release" : self.backend.releases.get_latest(),
+
+ # Virtualization
+ "hypervisors" : self.fireinfo.get_hypervisor_map(when=self.when),
+ "virtual_ratio" : self.fireinfo.get_virtual_ratio(when=self.when),
}
# Cache for 1h