Merge pull request #194 from jwcooper/accessibility

Accessibility Changes
This commit is contained in:
Scott Shawcroft 2019-05-22 11:52:39 -07:00 committed by GitHub
commit dc7498f39f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 284 additions and 312 deletions

View file

@ -18,7 +18,6 @@ gem "jekyll", "~> 3.8.4"
# If you have any plugins, put them here!
group :jekyll_plugins do
gem 'jekyll-sitemap'
gem 'jekyll-feed'
gem 'jekyll-seo-tag'
gem 'jekyll-paginate'
end

View file

@ -27,8 +27,6 @@ GEM
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-feed (0.11.0)
jekyll (~> 3.3)
jekyll-paginate (1.1.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
@ -65,7 +63,6 @@ PLATFORMS
DEPENDENCIES
jekyll (~> 3.8.4)
jekyll-feed
jekyll-paginate
jekyll-seo-tag
jekyll-sitemap

View file

@ -12,7 +12,7 @@
so much because they all happen underneath the adafruit_blinka layer.
</p>
<div>
<a class="download-button" href="{{ page.download_instructions }}">INSTALLATION INSTRUCTIONS<i class="fas fa-arrow-circle-right"></i></a>
<a class="download-button" href="{{ page.download_instructions }}">INSTALLATION INSTRUCTIONS<i class="fas fa-arrow-circle-right" aria-hidden="true"></i></a>
<div class="clear"></div>
</div>
</div>

View file

@ -55,7 +55,7 @@
</label>
<div class="download-buttons">
{% for file in version.files['en_US'] %}
<a class="download-button {% if version.stable %}stable{% else %}unstable{% endif %} {{ file | slice: -3, 3 }}" href="{{ file }}">DOWNLOAD {{ file | slice: -4, 4 | upcase }} NOW <i class="fas fa-download"></i></a>
<a class="download-button {% if version.stable %}stable{% else %}unstable{% endif %} {{ file | slice: -3, 3 }}" href="{{ file }}">DOWNLOAD {{ file | slice: -4, 4 | upcase }} NOW <i class="fas fa-download" aria-hidden="true"></i></a>
{% endfor %}
</div>
</div>
@ -70,7 +70,7 @@
the absolute latest and are feeling risky.
</p>
<div>
<a class="download-button-unrecommended" href="https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bin/{{ page.board_id }}/">BROWSE S3<i class="fas fa-arrow-circle-right"></i></a>
<a class="download-button-unrecommended" href="https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bin/{{ page.board_id }}/">BROWSE S3<i class="fas fa-arrow-circle-right" aria-hidden="true"></i></a>
<div class="clear"></div>
</div>
</div>
@ -81,7 +81,7 @@
the latest stable otherwise.
</p>
<div>
<a class="download-button-unrecommended" href="https://github.com/adafruit/circuitpython/releases">BROWSE GITHUB<i class="fab fa-github"></i></a>
<a class="download-button-unrecommended" href="https://github.com/adafruit/circuitpython/releases">BROWSE GITHUB<i class="fab fa-github" aria-hidden="true"></i></a>
<div class="clear"></div>
</div>
</div>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
{% include head.html %}

View file

@ -1,31 +0,0 @@
---
layout: default
---
<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
<header class="post-header">
<h1 class="post-title" itemprop="name headline">{{ page.title }}</h1>
<p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time>{% if page.author %} • <span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name"><a href="https://github.com/{{page.author}}">@{{page.author}}</a></span></span>{% endif %}</p>
</header>
<div class="post-content" itemprop="articleBody">
{{ content }}
</div>
</article>
<script type='text/javascript'>
window.onload = function () {
try {
var headers = document.querySelectorAll('h2');
headers.forEach(function (hdr) {
var id = hdr.id,
title = hdr.innerText,
link = "<a href='#" + id + "' class='header-link'>link</a>";
hdr.innerHTML = title + " " + link;
});
} catch (ex) {
// ignore
}
}
</script>

View file

@ -326,7 +326,7 @@ function shouldDisplayDownload(download, displayedManufacturers, displayedFeatur
}
function appendFilterTag(type, name) {
var tagHtml = "<span class='tag'><i class='fas fa-times tag-remove' ";
var tagHtml = "<span class='tag'><i class='fas fa-times tag-remove' title='Remove Filtered Option'";
tagHtml += "data-type='" + type + "' ";
tagHtml += "data-name='" + name + "'></i>";
tagHtml += name + "</span>";

View file

@ -33,3 +33,12 @@ a.purple-button-link {
padding-left: 10px;
}
}
fieldset {
border: 0;
legend {
font-size: 1.5em;
font-weight: 500;
}
}

View file

@ -10,9 +10,10 @@
}
.content {
h1 {
h2 {
width: 75%;
margin: 20px auto;
font-size: 2em;
}
p {

View file

@ -9,34 +9,41 @@ permalink: /blinka
<div class="downloads-inputs">
<div class="downloads-search">
<label class="search-wrapper">
<input type="text" id="search" placeholder="Search for CircuitPython boards" />
<input aria-label="Search for Blinka boards" type="text" id="search" placeholder="Search for Blinka boards" />
</label>
</div>
<div class="downloads-filter">
<button class="filter"><i class="fas fa-sliders-h"></i></button>
<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"><i class="fas fa-times"></i></button>
<button class="save-changes" title="Close and Save Changes"><i class="fas fa-times" aria-hidden="true"></i></button>
</div>
<div>
<div class="manufacturers">
<h2>Manufacturers</h2>
<ul class="content"></ul>
<fieldset>
<legend>Manufacturers</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="features">
<h2>Features</h2>
<ul class="content"></ul>
<fieldset>
<legend>Features</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="sort-by">
<h2>Sort By</h2>
<ul class="content">
<li><input type="radio" name="sort-by" value="alpha-asc" checked> Board Name (A to Z)</li>
<li><input type="radio" name="sort-by" value="alpha-desc"> Board Name (Z to A)</li>
</ul>
<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>
@ -50,7 +57,7 @@ permalink: /blinka
<a href="{{ board.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
<img src="{{ board.board_image | relative_url }}">
<img src="{{ board.board_image | relative_url }}" alt="Image of Board">
</div>
<div class="details">
<h3>{{ board.name }}</h3>

View file

@ -13,31 +13,37 @@ permalink: /downloads
</label>
</div>
<div class="downloads-filter">
<button class="filter"><i class="fas fa-sliders-h"></i></button>
<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"><i class="fas fa-times"></i></button>
<button class="save-changes" title="Close and Save Changes"><i class="fas fa-times" aria-hidden="true"></i></button>
</div>
<div>
<div class="manufacturers">
<h2>Manufacturers</h2>
<ul class="content"></ul>
<fieldset>
<legend>Manufacturers</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="features">
<h2>Features</h2>
<ul class="content"></ul>
<fieldset>
<legend>Features</legend>
<ul class="content"></ul>
</fieldset>
</div>
<div class="sort-by">
<h2>Sort By</h2>
<ul class="content">
<li><input type="radio" name="sort-by" value="downloads" checked> Downloads</li>
<li><input type="radio" name="sort-by" value="alpha-asc"> Board Name (A to Z)</li>
<li><input type="radio" name="sort-by" value="alpha-desc"> Board Name (Z to A)</li>
</ul>
<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>
@ -57,7 +63,7 @@ permalink: /downloads
{% 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 }}"
@ -66,7 +72,7 @@ permalink: /downloads
<a href="{{ info.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
<img src="{{ info.board_image | relative_url }}">
<img src="{{ info.board_image | relative_url }}" alt="Image of Board">
</div>
<div class="details">
<h3>{{ info.name | default: board.id }}</h3>
@ -92,7 +98,7 @@ permalink: /downloads
<a href="{{ board.url | relative_url }}">
<div>
<div class="img-responsive-4by3">
<img src="{{ board.board_image | relative_url }}">
<img src="{{ board.board_image | relative_url }}" alt="Image of Board">
</div>
<div class="details">
<h3>{{ board.name }}</h3>

View file

@ -1,30 +0,0 @@
---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ site.title | xml_escape }}</title>
<description>{{ site.description | xml_escape }}</description>
<link>{{ site.url }}{{ site.baseurl }}/</link>
<atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
<generator>Jekyll v{{ jekyll.version }}</generator>
{% for post in site.posts limit:10 %}
<item>
<title>{{ post.title | xml_escape }}</title>
<description>{{ post.content | xml_escape }}</description>
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
<link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
<guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
{% for tag in post.tags %}
<category>{{ tag | xml_escape }}</category>
{% endfor %}
{% for cat in post.categories %}
<category>{{ cat | xml_escape }}</category>
{% endfor %}
</item>
{% endfor %}
</channel>
</rss>

View file

@ -4,124 +4,134 @@ layout: home
<div id="home-page" class="common-layout">
<div class="content">
<img class="responsive" src="{{ "/assets/images/blinka-computer.png" | relative_url }}" srcset="{{ "/assets/images/blinka-computer.png" | relative_url }} 1x,
{{ "/assets/images/blinka-computer@2x.png" | relative_url }} 2x,
{{ "/assets/images/blinka-computer@3x.png" | relative_url }} 3x" alt="Blinka at a computer">
<h1>The easiest way to program microcontrollers</h1>
<p>
CircuitPython is a programming language designed to simplify experimenting
and learning to code on low-cost microcontroller boards. It makes getting
started easier than ever with no upfront desktop downloads needed. Once you
get your board set up, open any text editor, and get started editing code.
It's that simple.
</p>
<p>
<a href="https://learn.adafruit.com/welcome-to-circuitpython">Get started with CircuitPython &gt;</a>
</p>
<section>
<img class="responsive" src="{{ "/assets/images/blinka-computer.png" | relative_url }}" srcset="{{ "/assets/images/blinka-computer.png" | relative_url }} 1x,
{{ "/assets/images/blinka-computer@2x.png" | relative_url }} 2x,
{{ "/assets/images/blinka-computer@3x.png" | relative_url }} 3x" alt="Blinka at a computer">
<h2>The easiest way to program microcontrollers</h2>
<p>
CircuitPython is a programming language designed to simplify experimenting
and learning to code on low-cost microcontroller boards. It makes getting
started easier than ever with no upfront desktop downloads needed. Once you
get your board set up, open any text editor, and get started editing code.
It's that simple.
</p>
<p>
<a href="https://learn.adafruit.com/welcome-to-circuitpython">Get started with CircuitPython &gt;</a>
</p>
</section>
<hr />
<img class="responsive" src="{{ "/assets/images/python.png" | relative_url }}"
srcset="{{ "/assets/images/python.png" | relative_url }} 1x,
{{ "/assets/images/python@2x.png" | relative_url }} 2x,
{{ "/assets/images/python@3x.png" | relative_url }} 3x" alt="Python Logo">
<h1>Learn Python with CircuitPython</h1>
<p>
<a href="https://www.python.org/">Python</a> is the fastest growing programming language.
It's taught in schools and universities. It's a high-level programming language which
means it's designed to be easier to read, write and maintain. It supports modules and
packages which means it's easy to reuse your code for other projects. It has
a built in interpreter which means there are no extra steps, like compiling,
to get your code to work. And of course, <a href="https://www.python.org/">Python</a>
is Open Source Software which means it's free for anyone to use, modify or improve upon.
</p>
<p>
CircuitPython adds hardware support to the core Python language. If you
already have Python knowledge, you can easily apply that to using
CircuitPython. If you have no previous experience, it's really simple to
get started! Learning CircuitPython is learning Python.
</p>
<section>
<img class="responsive" src="{{ "/assets/images/python.png" | relative_url }}"
srcset="{{ "/assets/images/python.png" | relative_url }} 1x,
{{ "/assets/images/python@2x.png" | relative_url }} 2x,
{{ "/assets/images/python@3x.png" | relative_url }} 3x" alt="Python Logo">
<h2>Learn Python with CircuitPython</h2>
<p>
<a href="https://www.python.org/">Python</a> is the fastest growing programming language.
It's taught in schools and universities. It's a high-level programming language which
means it's designed to be easier to read, write and maintain. It supports modules and
packages which means it's easy to reuse your code for other projects. It has
a built in interpreter which means there are no extra steps, like compiling,
to get your code to work. And of course, <a href="https://www.python.org/">Python</a>
is Open Source Software which means it's free for anyone to use, modify or improve upon.
</p>
<p>
CircuitPython adds hardware support to the core Python language. If you
already have Python knowledge, you can easily apply that to using
CircuitPython. If you have no previous experience, it's really simple to
get started! Learning CircuitPython is learning Python.
</p>
</section>
<hr />
<img class="responsive" src="{{ "/assets/images/microcontrollers.png" | relative_url }}"
srcset="{{ "/assets/images/microcontrollers.png" | relative_url }} 1x,
{{ "/assets/images/microcontrollers@2x.png" | relative_url }} 2x,
{{ "/assets/images/microcontrollers@3x.png" | relative_url }} 3x" alt="Image of various microcontrollers">
<h1>Supported by your favorite microcontroller</h1>
<p>
CircuitPython is designed to run on microcontroller boards. A
microcontroller board is a circuit board with a microcontroller chip that's
essentially an itty-bitty all-in-one computer. CircuitPython is easy to
use because all you need is that little board, a USB cable, and a computer
with a USB connection.
</p>
<p>
<a href="/downloads">Search for a compatible board</a>
</p>
<section>
<img class="responsive" src="{{ "/assets/images/microcontrollers.png" | relative_url }}"
srcset="{{ "/assets/images/microcontrollers.png" | relative_url }} 1x,
{{ "/assets/images/microcontrollers@2x.png" | relative_url }} 2x,
{{ "/assets/images/microcontrollers@3x.png" | relative_url }} 3x" alt="Image of various microcontrollers">
<h2>Supported by your favorite microcontroller</h2>
<p>
CircuitPython is designed to run on microcontroller boards. A
microcontroller board is a circuit board with a microcontroller chip that's
essentially an itty-bitty all-in-one computer. CircuitPython is easy to
use because all you need is that little board, a USB cable, and a computer
with a USB connection.
</p>
<p>
<a href="/downloads">Search for a compatible board</a>
</p>
</section>
<hr />
<h1>More reasons to use CircuitPython</h1>
<div class="home-table">
<div class="item">
<h3>Quick and Easy</h3>
<p>
Create a file, edit your code, save the file, and it runs immediately.
There is no compiling, no downloading and no uploading needed.
</p>
<section>
<h2>More reasons to use CircuitPython</h2>
<div class="home-table">
<div class="item">
<h3>Quick and Easy</h3>
<p>
Create a file, edit your code, save the file, and it runs immediately.
There is no compiling, no downloading and no uploading needed.
</p>
</div>
<div class="item">
<h3>Beginner Friendly</h3>
<p>
CircuitPython is designed with education in mind. It's easy to start
learning how to code and you get immediate feedback from the board.
</p>
</div>
<div class="item">
<h3>Easy Code Updates</h3>
<p>
Since your code lives on the disk drive, you can edit it whenever you
like, you can also keep multiple files around for easy experimentation.
</p>
</div>
<div class="item">
<h3>Serial Console + REPL</h3>
<p>
These allow for live feedback from your code and interactive programming.
</p>
</div>
<div class="item">
<h3>File Storage</h3>
<p>
The internal storage for CircuitPython makes it great for data-logging,
playing audio clips, and otherwise interacting with files.
</p>
</div>
<div class="item">
<h3>Strong Hardware Support</h3>
<p>
There are many libraries and drivers for sensors, breakout boards
and other external components.
</p>
</div>
</div>
<div class="item">
<h3>Beginner Friendly</h3>
<p>
CircuitPython is designed with education in mind. It's easy to start
learning how to code and you get immediate feedback from the board.
</p>
</div>
<div class="item">
<h3>Easy Code Updates</h3>
<p>
Since your code lives on the disk drive, you can edit it whenever you
like, you can also keep multiple files around for easy experimentation.
</p>
</div>
<div class="item">
<h3>Serial Console + REPL</h3>
<p>
These allow for live feedback from your code and interactive programming.
</p>
</div>
<div class="item">
<h3>File Storage</h3>
<p>
The internal storage for CircuitPython makes it great for data-logging,
playing audio clips, and otherwise interacting with files.
</p>
</div>
<div class="item">
<h3>Strong Hardware Support</h3>
<p>
There are many libraries and drivers for sensors, breakout boards
and other external components.
</p>
</div>
</div>
</section>
<hr />
<h1>Just the beginning...</h1>
<p>
CircuitPython continues to evolve, and is constantly being updated. We
welcome and encourage feedback from the community, and we incorporate this
into how we are developing CircuitPython. That's the core of the open source
concept. This makes CircuitPython better for you and everyone who uses it!
</p>
<p>
<a href="https://learn.adafruit.com/welcome-to-circuitpython">Get started with CircuitPython &gt;</a>
</p>
<hr />
<h1>Thanks</h1>
<p>
CircuitPython wouldn't exist without the awesome work of <a href="https://micropython.org">Damien George and the MicroPython community</a>. They did the hard work to reimplement Python on microcontrollers and continue to push the boundaries of what is possible.
</p>
<p>
Thank you to <a href="https://adafruit.com">Adafruit</a> for continuing to support
CircuitPython's beginner-focused development.
</p>
<p>
Lastly, thank you to the CircuitPython community members who have spent time testing, triaging, fixing and enhancing CircuitPython, its libraries and its documentation. Together we're all making something incredible.
</p>
<section>
<h2>Just the beginning...</h2>
<p>
CircuitPython continues to evolve, and is constantly being updated. We
welcome and encourage feedback from the community, and we incorporate this
into how we are developing CircuitPython. That's the core of the open source
concept. This makes CircuitPython better for you and everyone who uses it!
</p>
<p>
<a href="https://learn.adafruit.com/welcome-to-circuitpython">Get started with CircuitPython &gt;</a>
</p>
<hr />
<h2>Thanks</h2>
<p>
CircuitPython wouldn't exist without the awesome work of <a href="https://micropython.org">Damien George and the MicroPython community</a>. They did the hard work to reimplement Python on microcontrollers and continue to push the boundaries of what is possible.
</p>
<p>
Thank you to <a href="https://adafruit.com">Adafruit</a> for continuing to support
CircuitPython's beginner-focused development.
</p>
<p>
Lastly, thank you to the CircuitPython community members who have spent time testing, triaging, fixing and enhancing CircuitPython, its libraries and its documentation. Together we're all making something incredible.
</p>
</section>
</div>
</div>

View file

@ -22,107 +22,111 @@ permalink: /libraries
The full list of all the CircuitPython libraries contained in the following bundles
can be found on the
<a href="https://circuitpython.readthedocs.io/projects/bundle/en/latest/drivers.html" title="">libraries page</a>.
<h2>Download and Installation Instructions</h2>
<p>
The libraries in each release are compiled to .mpy for all recent major versions
of CircuitPython. Please download the bundle that matches the major version
of your CircuitPython. For example, if you are running 4.0.0 you should
download the 4.x bundle. The .mpy files are designed to take up less space on
your CIRCUITPY drive. Unless you have a specific reason, choose the appropiate
.mpy library bundle!
</p>
<p>
<b>To install</b>, download the appropriate bundle for your version of CircuitPython.
Unzip the file, open the resulting folder and find the lib folder. Open the lib
folder and find the library files you need to load. Create a lib folder on your
CIRCUITPY drive. Copy the individual library files you need to the lib folder
on your CIRCUITPY drive.
</p>
<p>
You can always find the
<a href="https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest">latest releases of the libraries bundle</a>
on GitHub.
<div class="release-section">
<div id="adafruit-circuitpython-bundle-4.x-mpy">
<h3>Bundle Version 4.x</h3>
<p>
This bundle is built for use with CircuitPython 4.x.x. If you are using
CircuitPython 4, please download this bundle.
</p>
<section>
<h2>Download and Installation Instructions</h2>
<p>
The libraries in each release are compiled to .mpy for all recent major versions
of CircuitPython. Please download the bundle that matches the major version
of your CircuitPython. For example, if you are running 4.0.0 you should
download the 4.x bundle. The .mpy files are designed to take up less space on
your CIRCUITPY drive. Unless you have a specific reason, choose the appropiate
.mpy library bundle!
</p>
<p>
<b>To install</b>, download the appropriate bundle for your version of CircuitPython.
Unzip the file, open the resulting folder and find the lib folder. Open the lib
folder and find the library files you need to load. Create a lib folder on your
CIRCUITPY drive. Copy the individual library files you need to the lib folder
on your CIRCUITPY drive.
</p>
<p>
You can always find the
<a href="https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest">latest releases of the libraries bundle</a>
on GitHub.
<div class="release-section">
<div id="adafruit-circuitpython-bundle-4.x-mpy">
<h3>Bundle Version 4.x</h3>
<p>
This bundle is built for use with CircuitPython 4.x.x. If you are using
CircuitPython 4, please download this bundle.
</p>
</div>
<div id="adafruit-circuitpython-bundle-3.x-mpy">
<h3>Bundle Version 3.x</h3>
<p>
This bundle is built for use with CircuitPython 3.x.x. If you are using
CircuitPython 3, please download this bundle.
</p>
</div>
<div id="adafruit-circuitpython-bundle-py">
<h3>Bundle Version py</h3>
<p>
This bundle is the uncompiled source code for every library. It is not
intended for general use! It is only recommended if you need to edit
a library file. This bundle works with all versions of CircuitPython.
</p>
</div>
<div id="adafruit-circuitpython-bundle-examples">
<h3>Bundle Examples</h3>
<p>
Every CircuitPython library has examples to go along with it. This bundle
contains every library example. This bundle will have examples that
require the latest version of CircuitPython, and therefore contains files
that may not work with all versions.
</p>
</div>
</div>
<div id="adafruit-circuitpython-bundle-3.x-mpy">
<h3>Bundle Version 3.x</h3>
<p>
This bundle is built for use with CircuitPython 3.x.x. If you are using
CircuitPython 3, please download this bundle.
</p>
</section>
<section>
<h2>Contributing</h2>
<p>
If you'd like to contribute to the CircuitPython project, the CircuitPython
libraries are a great way to begin. Everyone is welcome to contribute!
Regardless of your experience level, we have many resources to get you
started. Check out the Contributing page for detailed information!
</p>
<p>
Find out more about how you can
<a href="{{ "/libraries/contributing" | relative_url }}" title="Contributing Page">contribute to CircuitPython libraries</a>.
</p>
<h2>Library Activity for Week of {{ site.data.libraries.updated_at | date: "%a, %b %d, %Y" }}</h2>
<p>
Thank you to all of our contributors!
</p>
<p>
This week there were {{ site.data.libraries.merged_pr_count }} pull requests merged:
<ul>
<li>
Authors:
{% for contributor in site.data.libraries.contributors %}
<a href="https://github.com/{{contributor}}" title="Contributor Name">{{contributor}}</a>{% if forloop.last != true %}, {% endif %}
{% endfor %}
</li>
<li>
Reviewers:
{% for reviewer in site.data.libraries.reviewers %}
<a href="https://github.com/{{reviewer}}" title="Contributor Name">{{reviewer}}</a>{% if forloop.last != true %}, {% endif %}
{% endfor %}
</li>
</ul>
</p>
<div class="libraries new">
<h3>New Libraries</h3>
<ul>
{% for library in site.data.libraries.library_updates.new %}
<li><a href="{{library[1]}}" title="New Library Location">{{library[0]}}</a></li>
{% endfor %}
</ul>
</div>
<div id="adafruit-circuitpython-bundle-py">
<h3>Bundle Version py</h3>
<p>
This bundle is the uncompiled source code for every library. It is not
intended for general use! It is only recommended if you need to edit
a library file. This bundle works with all versions of CircuitPython.
</p>
<div class="libraries updated">
<h3>Updated Libraries</h3>
<ul>
{% for library in site.data.libraries.library_updates.updated %}
<li><a href="{{library[1]}}" title="Updated Library Location">{{library[0]}}</a></li>
{% endfor %}
</ul>
</div>
<div id="adafruit-circuitpython-bundle-examples">
<h3>Bundle Examples</h3>
<p>
Every CircuitPython library has examples to go along with it. This bundle
contains every library example. This bundle will have examples that
require the latest version of CircuitPython, and therefore contains files
that may not work with all versions.
</p>
</div>
</div>
<h2>Contributing</h2>
<p>
If you'd like to contribute to the CircuitPython project, the CircuitPython
libraries are a great way to begin. Everyone is welcome to contribute!
Regardless of your experience level, we have many resources to get you
started. Check out the Contributing page for detailed information!
</p>
<p>
Find out more about how you can
<a href="{{ "/libraries/contributing" | relative_url }}" title="Contributing Page">contribute to CircuitPython libraries</a>.
</p>
<h2>Library Activity for Week of {{ site.data.libraries.updated_at | date: "%a, %b %d, %Y" }}</h2>
<p>
Thank you to all of our contributors!
</p>
<p>
This week there were {{ site.data.libraries.merged_pr_count }} pull requests merged:
<ul>
<li>
Authors:
{% for contributor in site.data.libraries.contributors %}
<a href="https://github.com/{{contributor}}" title="Contributor Name">{{contributor}}</a>{% if forloop.last != true %}, {% endif %}
{% endfor %}
</li>
<li>
Reviewers:
{% for reviewer in site.data.libraries.reviewers %}
<a href="https://github.com/{{reviewer}}" title="Contributor Name">{{reviewer}}</a>{% if forloop.last != true %}, {% endif %}
{% endfor %}
</li>
</ul>
</p>
<div class="libraries new">
<h3>New Libraries</h3>
<ul>
{% for library in site.data.libraries.library_updates.new %}
<li><a href="{{library[1]}}" title="New Library Location">{{library[0]}}</a></li>
{% endfor %}
</ul>
</div>
<div class="libraries updated">
<h3>Updated Libraries</h3>
<ul>
{% for library in site.data.libraries.library_updates.updated %}
<li><a href="{{library[1]}}" title="Updated Library Location">{{library[0]}}</a></li>
{% endfor %}
</ul>
</div>
</section>
</div>
</div>