circuitpython-org/downloads.html
2020-11-17 17:08:06 -08:00

145 lines
5.5 KiB
HTML

---
layout: default
title: Downloads
permalink: /downloads
---
<div id="downloads-page">
<h1>Downloads</h1>
<div class="downloads-inputs">
<div class="downloads-search">
<label class="search-wrapper">
<input type="text" id="search" placeholder="Search for CircuitPython boards" />
</label>
</div>
<div class="downloads-filter">
<button class="filter" title="Filter Boards"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>
</div>
<div class="downloads-filter-tags">
</div>
</div>
<div class="downloads-filter-content">
<div class="filter-buttons">
<button class="save-changes" title="Close and Save Changes"><i class="fas fa-times" aria-hidden="true"></i></button>
</div>
<div>
<div class="manufacturers">
<fieldset>
<legend>Manufacturers</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="features">
<fieldset>
<legend>Features</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="sort-by">
<fieldset>
<legend>Sort By</legend>
<ul class="content">
<li><input type="radio" name="sort-by" value="downloads" aria-label="Downloads" checked> Downloads</li>
<li><input type="radio" name="sort-by" value="alpha-asc" aria-label="Board Name (A to Z)"> Board Name (A to Z)</li>
<li><input type="radio" name="sort-by" value="alpha-desc" aria-label="Board Name (Z to A)"> Board Name (Z to A)</li>
<li><input type="radio" name="sort-by" value="date-desc" aria-label="Date Added (Newest First)"> Date Added (Newest First)</li>
<li><input type="radio" name="sort-by" value="date-asc" aria-label="Date Added (Oldest First)"> Date Added (Oldest First)</li>
</ul>
</fieldset>
</div>
</div>
</div>
<div class="download-count">
{% comment %}
Get a total number of boards by running through both loops
to get an accurate total.
{% endcomment %}
{% assign board_count = 0 %}
{% assign boards = site.data.files %}
{% for board in boards %}
{% assign info = site.board | where: 'board_id', board.id %}
{% if info.size == 0 %}
{% assign info = site.board | where: 'board_id', 'unknown' %}
{% endif %}
{% assign info = info[0] %}
{% if info.downloads_display == false %}
{% continue %}
{% endif %}
{% assign board_count = board_count | plus: 1 %}
{% endfor %}
{% for board in site.board %}
{% assign info = site.data.files | where: 'id', board.board_id | first %}
{% if info == nil and board.board_id != 'unknown' %}
{% assign board_count = board_count | plus: 1 %}
{% endif %}
{% endfor %}
Displaying <span id="board_count">{{ board_count }}</span> boards.
</div>
<div class="downloads-section">
{% comment %}
The following are boards that are in the _data/files.json build
process. Separate loops due to wanting to sort by download count first.
{% endcomment %}
{% assign boards = site.data.files | sort: "downloads" | reverse %}
{% for board in boards %}
{% assign info = site.board | where: 'board_id', board.id %}
{% if info.size == 0 %}
{% assign info = site.board | where: 'board_id', 'unknown' %}
{% endif %}
{% assign info = info[0] %}
{% if info.downloads_display == false %}
{% continue %}
{% endif %}
<div class="download" data-id="{{ board.id }}"
data-name="{{ info.name | default: board.id }}"
data-downloads="{{ board.downloads }}"
data-manufacturer="{{ info.manufacturer }}"
data-features="{{ info.features | join: ','}}"
data-date="{{ info.date_added }}">
<a href="{{ info.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
{% include downloads/board_image.html board_image=info.board_image %}
</div>
<div class="details">
<h3>{{ info.name | default: board.id }}</h3>
By {{ info.manufacturer }}
</div>
</div>
</a>
</div>
{% endfor %}
{% comment %}
The following are boards that are not yet in the _data/files.json build
process and have no downloads.
{% endcomment %}
{% for board in site.board %}
{% assign info = site.data.files | where: 'id', board.board_id | first %}
{% if info == nil and board.board_id != 'unknown' %}
<div class="download" data-id="{{ board.board_id }}"
data-name="{{ board.name }}"
data-downloads="0"
data-manufacturer="{{ board.manufacturer }}"
data-features="{{ board.features | join: ','}}"
data-date="{{ board.date_added }}">
<a href="{{ board.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
{% include downloads/board_image.html board_image=board.board_image %}
</div>
<div class="details">
<h3>{{ board.name }}</h3>
By {{ board.manufacturer }}
</div>
</div>
</a>
</div>
{% endif %}
{% endfor %}
</div>
</div>
<script src="/assets/javascript/downloads.js"></script>