1 {% extends
"../base.html" %}
3 {% block title %}{{ _(
"Fireinfo") }}{% end block %}
6 <section class=
"hero is-medium is-primary">
7 <div class=
"hero-body">
8 <div class=
"container">
9 <nav class=
"breadcrumb" aria-label=
"breadcrumbs">
12 <a href=
"https://ipfire.org/">
16 <li class=
"is-active">
24 <h1 class=
"title">{{ _(
"Fireinfo") }}
</h1>
26 <a class=
"button is-dark is-medium" href=
"/profile/random">
27 {{ _(
"Show a Random Profile") }}
33 <section class=
"section">
34 <div class=
"container">
35 <div class=
"columns is-vcentered">
36 {% if latest_release %}
37 {% set usage = latest_release.get_usage(when=when) %}
39 <div class=
"column is-half is-centered">
41 <h1 class=
"title has-text-primary">
42 {{
"%.2f%%" % (usage *
100) }}
45 <h5 class=
"title is-5">
46 {{ _(
"of all IPFire systems are on the latest release, released %s") % locale.format_date(latest_release.published, relative=True, shorter=True) }}
49 <a class=
"button is-primary is-outlined" href=
"/releases">
50 {{ _(
"See All Releases") }}
56 <div class=
"column is-one-third is-centered">
57 <img src=
"{{ static_url("img/ipfire-tux.png
") }}" alt=
"IPFire Logo" />
63 <section class=
"section">
64 <div class=
"container">
65 <h4 class=
"title is-4">{{ _(
"Locations") }}
</h4>
67 {% for cc in sorted(locations, key=lambda cc: locations[cc], reverse=True) %}
68 <div class=
"columns is-mobile">
69 {% if locations[cc]
>=
0.01 %}
70 <div class=
"column is-one-fifth">
71 <span class=
"flag-icon flag-icon-{{ cc.lower() }}"></span>
72 <span class=
"">{{ format_country_name(cc) }}
</span>
75 <div class=
"column is-7">
76 {% module ProgressBar(locations[cc],
"success") %}
82 {% set other_countries = [cc for cc in locations if locations[cc] <
0.01] %}
84 {% if other_countries %}
86 <span class=
"has-text-weight-bold">IPFire
<span class=
"has-text-primary">_
</span></span>
87 {{_(
"is also running in these countries: %s") % locale.list([(format_country_name(cc) or cc) for cc in other_countries]) }}
93 <section class=
"section">
94 <div class=
"container">
95 <div class=
"columns is-vcentered">
96 <div class=
"column is-half">
98 <h4 class=
"title is-4">{{ _(
"CPU Vendors") }}
</h4>
100 {% for vendor in sorted(cpu_vendors, key=lambda v: cpu_vendors[v], reverse=True) %}
101 <div class=
"columns">
102 <div class=
"column is-1">{{ vendor }}
</div>
105 {% module ProgressBar(cpu_vendors[vendor],
"success") %}
110 <a class=
"button is-primary" href=
"/processors">
111 {{ _(
"Processor Features") }}
116 <h4 class=
"title is-4">{{ _(
"Architectures") }}
</h4>
118 {% for arch in sorted(arches, key=lambda a: arches[a], reverse=True) %}
119 <div class=
"columns">
120 <div class=
"column is-1">{{ arch }}
</div>
123 {% module ProgressBar(arches[arch],
"success") %}
129 <div class=
"column is-half has-text-centered">
130 <h1 class=
"title">{{ format_size(memory_avg *
1024,
"MB") }}
</h1>
133 {{ _(
"Average Amount of Memory") }}
140 <section class=
"section">
141 <div class=
"container">
142 <div class=
"columns is-vcentered">
143 <div class=
"column is-half has-text-centered">
144 <h1 class=
"title has-text-primary">
145 {{
"%.2f%%" % (virtual_ratio *
100) }}
148 <h5 class=
"title is-5">{{ _(
"of all IPFire systems are running in a virtual environment") }}
</h5>
151 <div class=
"column is-half">
152 <h4 class=
"title is-4">{{ _(
"Top Hypervisors") }}
</h4>
154 {% for vendor in sorted(hypervisors, key=lambda v: hypervisors[v], reverse=True) %}
155 <div class=
"columns">
156 {% if hypervisors[vendor]
>=
0.01 %}
157 <div class=
"column is-1">
158 {% if vendor ==
"unknown" %}
159 <span class=
"text-muted">{{ _(
"Unknown") }}
</span>
160 {% elif vendor ==
"VMWare" %}
167 <div class=
"column is-8">
168 {% module ProgressBar(hypervisors[vendor],
"success") %}