118 lines
5.3 KiB
HTML
118 lines
5.3 KiB
HTML
{% macro sdks_panel(type) %}
|
|
{% set sdks_data = load_data(path="content/ecosystem/sdks/sdks.toml") %}
|
|
{% set licences = [] %}
|
|
{% set languages = [] %}
|
|
{% for sdk in sdks_data.sdks %}
|
|
{% set_global licences = licences | concat(with=sdk.licence) %}
|
|
{% set_global languages = languages | concat(with=sdk.language) %}
|
|
{% endfor %}
|
|
{% set licences = licences | unique | sort %}
|
|
{% set languages = languages | unique | sort %}
|
|
{% set partial_path = "partials/sdks/" ~ type ~ ".md" %}
|
|
<div id="purpose-{{ type }}-panel" class="panel">
|
|
<p>
|
|
{{ load_data(path=partial_path) | markdown | safe }}
|
|
</p>
|
|
|
|
<div id="{{ type }}-sdks-filters" class="filters">
|
|
<div class="filter-wrap">
|
|
<button id="{{ type }}-sdks-filter-maturity" class="filter">
|
|
Maturity
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="{{ type }}-sdks-filter-maturity-menu" class="filter-menu">
|
|
<p>The SDK 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="{{ type }}-sdks-filter-licence" class="filter">
|
|
Licence
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="{{ type }}-sdks-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="{{ type }}-sdks-filter-language" class="filter">
|
|
Language
|
|
<div class="divider"></div>
|
|
<img src="/assets/down-arrow.svg" alt="Downward facing arrow">
|
|
</button>
|
|
<div id="{{ type }}-sdks-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="{{ type }}-sdks" class="projects-card-deck">
|
|
{% for sdk in sdks_data.sdks | sort(attribute="maturity") | reverse %}
|
|
{% if sdk.purpose is containing(type) %}
|
|
<div>
|
|
<div
|
|
class="project-card maturity-{{ sdk.maturity | lower }} licence-{{ sdk.licence | slugify }} language-{{ sdk.language | slugify }}">
|
|
<div class="title-row">
|
|
<h3>{{ sdk.name }}</h3>
|
|
<div class="maturity {{ sdk.maturity | lower }}">{{ sdk.maturity }}</div>
|
|
</div>
|
|
<div class="author">{{ sdk.maintainer }}</div>
|
|
<div class="licence-language">
|
|
<div class="pill">{{ sdk.licence }}</div>
|
|
<div class="pill">{{ sdk.language }}</div>
|
|
</div>
|
|
{% if sdk.description %}<p>{{ sdk.description }}</p>{% endif %}
|
|
<div class="server-links">
|
|
{% if sdk.repository %}
|
|
<a href="{{ sdk.repository }}">
|
|
{{ load_data(path="/assets/projects/repo.svg") | safe }}
|
|
Repository
|
|
</a>
|
|
{% endif %}
|
|
{% if sdk.room %}
|
|
<a href="https://matrix.to/#/{{ sdk.room }}">
|
|
{{ load_data(path="/assets/projects/matrix.svg") | safe }}
|
|
Matrix Room
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endmacro %}
|