circuitpython-org/downloads.html

123 lines
4.8 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>
</ul>
</fieldset>
</div>
</div>
</div>
<div class="downloads-section">
{% comment %}
The following are boards that are in the _data/files.json build
process. Seperate 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: ','}}">
<a href="{{ info.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
<img srcset="{{ "/assets/images/boards/small/" | append: info.board_image | relative_url }} 300w,
{{ "/assets/images/boards/large/" | append: info.board_image | relative_url }} 700w"
sizes="(max-width: 1024px) 700px,
300px"
src="{{ "/assets/images/boards/" | append: info.board_image | relative_url }}" alt="Image of Board">
</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: ','}}">
<a href="{{ board.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
<img srcset="{{ "/assets/images/boards/small/" | append: board.board_image | relative_url }} 300w,
{{ "/assets/images/boards/large/" | append: board.board_image | relative_url }} 700w"
sizes="(max-width: 1024px) 700px,
300px"
src="{{ "/assets/images/boards/" | append: board.board_image | relative_url }}" alt="Image of Board">
</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>