.. leading zeros are required for `frontmatter` to treat them as dates
rather than strings, apparently per the YAML specification.
This was done by script:
```py
import re
import datetime
import pathlib
import sys
import frontmatter
rx = re.compile(r'^(\s*)date_added:.*$', re.M)
for path_str in sys.argv[1:]:
print(path_str)
path = pathlib.Path(path_str)
post = frontmatter.load(path)
date_added = post.get("date_added", "")
if isinstance(date_added, datetime.date):
continue
if isinstance(date_added, str):
try:
date_added = datetime.datetime.strptime(date_added, "%Y-%m-%d")
except ValueError as exc:
print(f"Failed to parse date {date_added} in {path_str}: {exc}")
continue
date_added = date_added.date()
content = path.read_text("utf-8")
new_content = rx.sub(lambda m: f"{m.group(1)}date_added: {date_added}", content)
assert content != new_content
path.write_text(new_content, "utf-8")
```
23 lines
950 B
Markdown
23 lines
950 B
Markdown
---
|
||
layout: download
|
||
board_id: "arduino_zero"
|
||
title: "Zero Download"
|
||
name: "Zero"
|
||
manufacturer: "Arduino"
|
||
board_url:
|
||
- "https://www.arduino.cc/en/Guide/ArduinoZero"
|
||
- "https://www.adafruit.com/product/2843"
|
||
board_image: "arduino_zero.jpg"
|
||
date_added: 2019-03-09
|
||
family: atmel-samd
|
||
bootloader_id: zero
|
||
features:
|
||
- Arduino Shield Compatible
|
||
---
|
||
|
||
The Arduino Zero is a simple and powerful 32-bit extension of the platform established by the UNO. The Zero board expands the family by providing increased performance, enabling a variety of project opportunities for devices, and acts as a great educational tool for learning about 32-bit application development.
|
||
|
||
The Zero applications span from smart IoT devices, wearable technology, high-tech automation, to crazy robotics. The board is powered by Microchip’s SAMD21 MCU, which features a 32-bit ARM Cortex® M0+ core.
|
||
|
||
## Purchase
|
||
* [Arduino](https://store-usa.arduino.cc/products/arduino-zero)
|