.. 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")
```
1.3 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | features | |
|---|---|---|---|---|---|---|---|---|---|---|
| download | pycubed_mram | PyCubedv04 w/MRAM Download | PyCubedv04 w/MRAM | PyCubed.org |
|
pycubed.jpg | 2020-04-07 | atmel-samd |
⭐ Double-check the your PyCubed board version before updating firmware.
PyCubed is an open-source, radiation-tested small satellite framework programmable entirely in CircuitPython. Capable of all standard operating functions a small satellite might need, the PyCubed mainboard provides University and hobbyist teams an entirely open-source and sate-of-the-art hardware and software avionics solution for their satellite missions without having to spend tens of thousands of dollars for antiquated commercial products.
Yet PyCubed's greatest value is its ease of programming & immense documentation. With nearly 100 detailed write-ups and tutorials, PyCubed's online resources are available to everyone and even include a step-by-step guide that walks you from unboxing and LED blinking all the way through full-featured mission software examples.