<div class="container">
<section>
- <a class="btn btn-primary btn-lg btn-block" href="/download">
- {{ _("Download IPFire now. It's free!") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary btn-lg" href="/download">
+ {{ _("Download IPFire now. It's free!") }}
+ </a>
+ </div>
</section>
<section>
{% module Password() %}
- <button type="submit" class="btn btn-primary btn-block" disabled>
- {{ _("Activate Account") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary" disabled>
+ {{ _("Activate Account") }}
+ </button>
+ </div>
</form>
</div>
</div>
{{ _("To kick things off, would you like to setup a donation to the IPFire Project?") }}
</p>
- <a class="btn btn-lg btn-block btn-primary mb-1" href="https://www.ipfire.org/donate?first_name={{ url_escape(account.first_name) }}&last_name={{ url_escape(account.last_name) }}">
- {{ _("Donate Now") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-lg btn-primary mb-1" href="https://www.ipfire.org/donate?first_name={{ url_escape(account.first_name) }}&last_name={{ url_escape(account.last_name) }}">
+ {{ _("Donate Now") }}
+ </a>
+ </div>
<a class="link-secondary small" href="/">
{{ _("No thanks, I have already donated") }}
name="password" placeholder="{{ _("Password") }}" required>
</div>
- <button type="submit" class="btn btn-primary btn-block mb-2">
- {{ _("Log in") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary mb-2">
+ {{ _("Log in") }}
+ </button>
+ </div>
<p class="small">
<a class="text-muted" href="//people.ipfire.org/password-reset{% if incorrect %}?username={{ username }}{% end %}">
<h6>{{ _("New to IPFire?") }}</h6>
- <a class="btn btn-dark btn-sm btn-block" href="https://people.ipfire.org/register">
- {{ _("Register") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-dark btn-sm" href="https://people.ipfire.org/register">
+ {{ _("Register") }}
+ </a>
+ </div>
</div>
</div>
{% end block %}
value="{{ username or "" }}" required autofocus>
</div>
- <button type="submit" class="btn btn-primary btn-block">
- {{ _("Reset Password") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary">
+ {{ _("Reset Password") }}
+ </button>
+ </div>
</form>
</div>
</div>
{% module Password(account) %}
- <button type="submit" class="btn btn-primary btn-block" disabled>
- {{ _("Reset Password") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary" disabled>
+ {{ _("Reset Password") }}
+ </button>
+ </div>
</form>
</div>
</div>
</div>
</div>
- <button type="submit" class="btn btn-primary btn-block" disabled>
- {{ _("Register") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary" disabled>
+ {{ _("Register") }}
+ </button>
+ </div>
</form>
</div>
</div>
</div>
<div class="col-12 col-lg-2">
- <ul>
- <li>
- <a class="btn btn-primary btn-block text-uppercase" href="https://www.ipfire.org/donate">
- {{ _("Donate") }}
- </a>
- </li>
-
- <li>
- <a class="btn btn-lwl btn-block text-uppercase" href="https://store.lightningwirelabs.com/">
- {{ _("Buy") }}
- </a>
- </li>
- </ul>
+ <div class="d-grid gap-2">
+ <a class="btn btn-primary text-uppercase" href="https://www.ipfire.org/donate">
+ {{ _("Donate") }}
+ </a>
+
+ <a class="btn btn-lwl text-uppercase" href="https://store.lightningwirelabs.com/">
+ {{ _("Buy") }}
+ </a>
+ </div>
</div>
</div>
</div>
</div>
</div>
- <button type="submit" class="btn btn-primary btn-block">
- {{ _("Save") }}
- </button>
+ <div class="d-grid gap-2">
+ <button type="submit" class="btn btn-primary">
+ {{ _("Save") }}
+ </button>
- {% if post %}
- <a class="btn btn-outline-primary btn-block" href="/post/{{ post.slug }}/delete">
- {{ _("Delete") }}
- </a>
- {% end %}
+ {% if post %}
+ <a class="btn btn-outline-primary" href="/post/{{ post.slug }}/delete">
+ {{ _("Delete") }}
+ </a>
+ {% end %}
+ </div>
</form>
</div>
</div>
<form action="" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-primary btn-block">{{ _("Delete") }}</button>
- <a class="btn btn-secondary btn-block" href="/post/{{ post.slug }}">{{ _("Cancel") }}</a>
+ <div class="d-grid gap-2">
+ <button type="submit" class="btn btn-primary">{{ _("Delete") }}</button>
+ <a class="btn btn-secondary" href="/post/{{ post.slug }}">{{ _("Cancel") }}</a>
+ </div>
</form>
</div>
</div>
{% if not post.is_published() and post.is_editable(current_user) %}
<div class="row">
<div class="col-12 col-md-6 mb-3">
- <a class="btn btn-success btn-block" href="/post/{{ post.slug }}/edit">
- <span class="fas fa-edit mr-2"></span> {{ _("Edit") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-success" href="/post/{{ post.slug }}/edit">
+ <span class="fas fa-edit mr-2"></span> {{ _("Edit") }}
+ </a>
+ </div>
</div>
<div class="col-12 col-md-6 mb-3">
- <a class="btn btn-primary btn-block" href="/post/{{ post.slug }}/publish">
- <span class="fas fa-book-reader mr-2"></span> {{ _("Publish") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary" href="/post/{{ post.slug }}/publish">
+ <span class="fas fa-book-reader mr-2"></span> {{ _("Publish") }}
+ </a>
+ </div>
</div>
</div>
{% end %}
pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}" required>
</div>
- <button type="submit" class="btn btn-primary btn-block">{{ _("Publish") }}</button>
- <a class="btn btn-secondary btn-block" href="/post/{{ post.slug }}">{{ _("Cancel") }}</a>
+ <div class="d-grid gap-2">
+ <button type="submit" class="btn btn-primary">{{ _("Publish") }}</button>
+ <a class="btn btn-secondary" href="/post/{{ post.slug }}">{{ _("Cancel") }}</a>
+ </div>
</form>
</div>
</div>
<div class="row mb-4">
{% for factor, default in ((3, False), (2, True), (1, False)) %}
<div class="col d-flex align-items-center">
- <button type="submit"
- class="btn btn-primary btn-block {% if default %}btn-lg{% else %}btn-sm{% end %} monthly-amount-suggestion"
- data-factor="{{ factor }}" data-amount="">
- <span class="EUR">€</span><span class="USD">$</span><span class="suggested-amount"></span>
- <br>
- <small>/ {{ _("month") }}</small>
- </button>
+ <div class="d-grid">
+ <button type="submit"
+ class="btn btn-primary {% if default %}btn-lg{% else %}btn-sm{% end %} monthly-amount-suggestion"
+ data-factor="{{ factor }}" data-amount="">
+ <span class="EUR">€</span><span class="USD">$</span><span class="suggested-amount"></span>
+ <br>
+ <small>/ {{ _("month") }}</small>
+ </button>
+ </div>
</div>
{% end %}
</div>
- <button type="submit" class="btn btn-secondary btn-block">
- Donate <span class="EUR">€</span><span class="USD">$</span><span class="amount"></span> once
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-secondary">
+ Donate <span class="EUR">€</span><span class="USD">$</span><span class="amount"></span> once
+ </button>
+ </div>
</div>
</div>
</div>
{{ _("All downloads will be served from one of our mirror servers that are sponsored by various organisations from all around the world to help us make IPFire available for everyone") }}
</p>
- <a class="btn btn-light btn-block" href="/download/mirrors">
- {{ _("Browse Mirrors") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-light" href="/download/mirrors">
+ {{ _("Browse Mirrors") }}
+ </a>
+ </div>
</section>
</div>
{% end block %}
data from IPFire systems
</p>
- <a class="btn btn-primary btn-block my-3" href="/profile/random">
- {{ _("Show a Random Profile") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary my-3" href="/profile/random">
+ {{ _("Show a Random Profile") }}
+ </a>
+ </div>
</div>
</div>
{% end %}
</dl>
- <a class="btn btn-sm btn-light btn-block" href="/processors">
- {{ _("Processor Features") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-sm btn-light" href="/processors">
+ {{ _("Processor Features") }}
+ </a>
+ </div>
</div>
</div>
</div>
</div>
<div class="col-12 col-sm-5 d-flex align-items-center">
- <a class="btn btn-lwl btn-block text-truncate" href="https://www.lightningwirelabs.com">
- {{ _("Go to Lightning Wire Labs") }} <span class="fas fa-external-link-alt ml-2"></span>
- </a>
+ <div class="d-grid">
+ <a class="btn btn-lwl text-truncate" href="https://www.lightningwirelabs.com">
+ {{ _("Go to Lightning Wire Labs") }} <span class="fas fa-external-link-alt ml-2"></span>
+ </a>
+ </div>
</div>
</div>
</div>
</dd>
</dl>
- <a class="btn btn-light btn-block" href="/lookup/{{ address }}/blacklists">
- {{ _("Blacklist Status") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-light" href="/lookup/{{ address }}/blacklists">
+ {{ _("Blacklist Status") }}
+ </a>
+ </div>
</div>
</div>
{% end block %}
</div>
<div class="col-12 col-lg-4">
- <a class="btn btn-primary btn-block" href="/donate">
- {{ _("Give A Gift Today") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary" href="/donate">
+ {{ _("Give A Gift Today") }}
+ </a>
+ </div>
</div>
</div>
</div>
</select>
</div>
- <button type="submit" class="btn btn-primary btn-block">{{ _("Upload") }}</button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary">{{ _("Upload") }}</button>
+ </div>
</form>
</div>
{% end block %}
<img class="img-fluid mb-3" src="/raw/{{ entry.uuid }}">
{% end %}
- <a class="btn btn-primary btn-lg btn-block" href="/raw/{{ entry.uuid }}">
- <span class="fas fa-file-download"></span>
- {{ _("Download") }} ({{ format_size(entry.size) }})
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary btn-lg" href="/raw/{{ entry.uuid }}">
+ <span class="fas fa-file-download"></span>
+ {{ _("Download") }} ({{ format_size(entry.size) }})
+ </a>
+ </div>
</div>
{% end block %}
<div class="container">
{% if group.email %}
<section>
- <a class="btn btn-dark btn-block" href="mailto:{{ group.email }}">
- {{ _("Email Group") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-dark" href="mailto:{{ group.email }}">
+ {{ _("Email Group") }}
+ </a>
+ </div>
</section>
{% end %}
<form action="/subscribe" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-success btn-block">
- {{ _("Subscribe Now") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-success">
+ {{ _("Subscribe Now") }}
+ </button>
+ </div>
</form>
</div>
</div>
{% module Password(account) %}
- <input class="btn btn-primary btn-block" type="submit" value="{{ _("Change Password") }}">
+ <div class="d-grid">
+ <input class="btn btn-primary" type="submit" value="{{ _("Change Password") }}">
+ </div>
</form>
</div>
</div>
</div>
</div>
- <a class="btn btn-light btn-block" href="/">
- {{ _("Back") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-light" href="/">
+ {{ _("Back") }}
+ </a>
+ </div>
</div>
</div>
{% end block %}
<form action="/subscribe" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-success btn-block mb-3">
- {{ _("Continue Receiving Important Updates") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-success mb-3">
+ {{ _("Continue Receiving Important Updates") }}
+ </button>
+ </div>
</form>
<form action="/unsubscribe" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-danger btn-block">
- {{ _("Unsubscribe") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-danger">
+ {{ _("Unsubscribe") }}
+ </button>
+ </div>
</form>
</div>
</div>
<form action="/subscribe" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-success btn-block">
- {{ _("Continue Receiving Important Updates") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-success">
+ {{ _("Continue Receiving Important Updates") }}
+ </button>
+ </div>
</form>
</div>
</div>
{% end %}
</fieldset>
- <input class="btn btn-primary btn-block" type="submit" value="{{ _("Save") }}">
+ <div class="d-grid">
+ <input class="btn btn-primary" type="submit" value="{{ _("Save") }}">
+ </div>
</form>
</section>
</div>
<div class="row">
<div class="col-12 col-md-4 mb-3">
- <a class="btn btn-secondary btn-block" href="https://wiki.ipfire.org/configuration/services/ipsec">
- VPN with IPsec
- </a>
+ <div class="d-grid">
+ <a class="btn btn-secondary" href="https://wiki.ipfire.org/configuration/services/ipsec">
+ VPN with IPsec
+ </a>
+ </div>
</div>
<div class="col-12 col-md-4 mb-3">
- <a class="btn btn-secondary btn-block" href="https://wiki.ipfire.org/configuration/services/openvpn">
- VPN with OpenVPN
- </a>
+ <div class="d-grid">
+ <a class="btn btn-secondary" href="https://wiki.ipfire.org/configuration/services/openvpn">
+ VPN with OpenVPN
+ </a>
+ </div>
</div>
</div>
</div>
{{ _("This wiki page does not exist, yet.") }}
</p>
- <a class="btn btn-primary btn-block" href="{{ os.path.join(request.path, "_edit") }}">
- {{ _("Create Now") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary" href="{{ os.path.join(request.path, "_edit") }}">
+ {{ _("Create Now") }}
+ </a>
+ </div>
</div>
</div>
</div>
<form action="" method="POST">
{% raw xsrf_form_html() %}
- <button type="submit" class="btn btn-primary btn-block">
- {{ _("Delete") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary">
+ {{ _("Delete") }}
+ </button>
+ </div>
</form>
</div>
</div>
placeholder="{{ _("Comment") }}">
</div>
- <button type="submit" class="btn btn-warning btn-block">
- {{ _("Restore") }}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-warning">
+ {{ _("Restore") }}
+ </button>
+ </div>
</form>
</div>
</div>
</div>
{% end %}
- <button type="submit" class="btn btn-primary btn-block">
- {% if page %}{{ _("Save Page") }}{% else %}{{ _("Create Page") }}{% end %}
- </button>
+ <div class="d-grid">
+ <button type="submit" class="btn btn-primary">
+ {% if page %}{{ _("Save Page") }}{% else %}{{ _("Create Page") }}{% end %}
+ </button>
+ </div>
</form>
</div>
</div>
</object>
{% end %}
- <a class="btn btn-primary btn-lg btn-block my-3" href="{{ file.url }}?revision={{ file.created_at.isoformat() }}">
- <span class="fas fa-file-download"></span>
- {{ _("Download") }} ({{ format_size(file.size) }})
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary btn-lg my-3" href="{{ file.url }}?revision={{ file.created_at.isoformat() }}">
+ <span class="fas fa-file-download"></span>
+ {{ _("Download") }} ({{ format_size(file.size) }})
+ </a>
+ </div>
{% if file.is_image() %}
<h6>{{ _("Usage") }}</h6>
<h6>{{ _("Delete") }}</h6>
- <a class="btn btn-danger btn-block mb-5" href="{{ file.url }}/_delete">
- {{ _("Delete") }}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-danger mb-5" href="{{ file.url }}/_delete">
+ {{ _("Delete") }}
+ </a>
+ </div>
<h6>{{ _("Upload Newer Revision") }}</h6>
</small>
</div>
- <input class="btn btn-primary btn-block" type="submit" value="{{ _("Upload") }}">
+ <div class="d-grid">
+ <input class="btn btn-primary" type="submit" value="{{ _("Upload") }}">
+ </div>
</form>
</div>
</div>
<label class="form-label" for="customFile">{{ _("Choose a file to upload") }}</label>
</div>
- <input class="btn btn-primary btn-block" type="submit" value="{{ _("Upload") }}">
+ <div class="d-grid">
+ <input class="btn btn-primary" type="submit" value="{{ _("Upload") }}">
+ </div>
</form>
</div>
</div>
</div>
</div>
- <a class="btn btn-primary btn-block mb-3" href="{{ os.path.join(request.path, "_edit") }}">
- <span class="fas fa-edit mr-2"></span> {{ _("Edit Page") }}
- {% if not current_user %}‐ {{ _("Yes, you can edit!") }}{% end %}
- </a>
+ <div class="d-grid">
+ <a class="btn btn-primary mb-3" href="{{ os.path.join(request.path, "_edit") }}">
+ <span class="fas fa-edit mr-2"></span> {{ _("Edit Page") }}
+ {% if not current_user %}‐ {{ _("Yes, you can edit!") }}{% end %}
+ </a>
+ </div>
<p class="small text-muted">
{% if current_user %}