circuitpython-org/_board/ugame10.md
Jeff Epler 4715875cc4 Fix board dates to always be of the form YYYY-MM-DD
.. 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")
```
2024-03-22 11:31:45 -05:00

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
https://ugame.rtfd.io
ugame_10.jpg 2019-03-12 atmel-samd trinket_m0
Display
Speaker
Battery Charging

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.