.. 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")
```
737 B
737 B
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | bootloader_id | features | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | ugame10 | µGame Download | µGame | Radomir Dopieralski |
|
ugame_10.jpg | 2019-03-12 | atmel-samd | trinket_m0 |
|
A tiny game console programmable with Python, which lets you easily re-create the classic titles. Just draw your sprites in 16-color BMP files, generate sounds as mono WAV files, and write code in CircuitPython, using the Stage library which gives you graphic primitives such as tiled grids and sprites.
Learn More
More information about the project is available at hackaday.io.