106 lines
4.4 KiB
HTML
106 lines
4.4 KiB
HTML
{% import "macros/servers.html" as srvutils %}
|
|
{% set servers_data = load_data(path="content/ecosystem/servers/servers.toml") %}
|
|
{% set licences = [] %}
|
|
{% set languages = [] %}
|
|
{% for server in servers_data.servers %}
|
|
{% set_global licences = licences | concat(with=server.licence) %}
|
|
{% set_global languages = languages | concat(with=server.language) %}
|
|
{% endfor %}
|
|
{% set licences = licences | unique | sort %}
|
|
{% set languages = languages | unique | sort %}
|
|
|
|
<div class="filters">
|
|
<div class="filter-wrap">
|
|
<button id="filter-maturity" class="filter">
|
|
Maturity
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="filter-maturity-menu" class="filter-menu">
|
|
<p>The client can support any of the maturity levels checked.</p>
|
|
<div class="filter-option">
|
|
<input id="maturity-stable" type="checkbox" checked>
|
|
<label for="maturity-stable">Stable</label>
|
|
</div>
|
|
<div class="filter-option">
|
|
<input id="maturity-beta" type="checkbox" checked>
|
|
<label for="maturity-beta">Beta</label>
|
|
</div>
|
|
<div class="filter-option">
|
|
<input id="maturity-alpha" type="checkbox" checked>
|
|
<label for="maturity-alpha">Alpha</label>
|
|
</div>
|
|
<div class="filter-option">
|
|
<input id="maturity-obsolete" type="checkbox">
|
|
<label for="maturity-obsolete">Obsolete</label>
|
|
</div>
|
|
<div class="reset-links">Select <button>all</button> - <button>none</button></div>
|
|
</div>
|
|
</div>
|
|
<div class="filter-wrap">
|
|
<button id="filter-licence" class="filter">
|
|
Licence
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="filter-licence-menu" class="filter-menu">
|
|
<p>The client can support any of the licences checked.</p>
|
|
{% for licence in licences %}
|
|
<div class="filter-option">
|
|
<input id="licence-{{ licence | slugify }}" type="checkbox" checked>
|
|
<label for="licence-{{ licence | slugify }}">{{ licence }}</label>
|
|
</div>
|
|
{% endfor %}
|
|
<div class="reset-links">Select <button>all</button> - <button>none</button></div>
|
|
</div>
|
|
</div>
|
|
<div class="filter-wrap">
|
|
<button id="filter-language" class="filter">
|
|
Language
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="filter-language-menu" class="filter-menu">
|
|
<p>The client must support any of the languages checked.</p>
|
|
{% for language in languages %}
|
|
<div class="filter-option">
|
|
<input id="language-{{ language | slugify }}" type="checkbox" checked>
|
|
<label for="language-{{ language | slugify }}">{{ language }}</label>
|
|
</div>
|
|
{% endfor %}
|
|
<div class="reset-links">Select <button>all</button> - <button>none</button></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="filters-overlay"></div>
|
|
|
|
<div id="all-servers" class="projects-card-deck">
|
|
{% for server in servers_data.servers | sort(attribute="maturity") | reverse %}
|
|
<div>
|
|
<div class="project-card {{ srvutils::classes(server=server) }}">
|
|
<div class="title-row">
|
|
<h3>{{ server.name }}</h3>
|
|
<div class="maturity {{ server.maturity | lower }}">{{ server.maturity }}</div>
|
|
</div>
|
|
<div>{{ server.licence }} {{ server.language }}</div>
|
|
<span>{{ server.description | safe }}</span>
|
|
<div class="server-links">
|
|
{% if server.repository %}
|
|
<a href="{{ server.repository }}">
|
|
{{ load_data(path="/assets/projects/repo.svg") | safe }}
|
|
Repository
|
|
</a>
|
|
{% endif %}
|
|
{% if server.room %}
|
|
<a href="https://matrix.to/#/{{ server.room }}">
|
|
{{ load_data(path="/assets/projects/matrix.svg") | safe }}
|
|
Matrix Room
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|