circuitpython-org/_board/magiclick_s3_n4r2.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

822 B

layout board_id title name manufacturer board_url board_image date_added family bootloader_id downloads_display features
download magiclick_s3_n4r2 MagiClick S3 Download MagiClick S3 MakerM0
https://github.com/MakerM0/MagiClick-esp32s3
magiclick_s3.jpg 2023-09-30 esp32s3 magiclick_s3_n4r2 true
Wi-Fi
USB-C
Bluetooth/BTLE
Display
Battery Charging

A single-button keyboard, based on ESP32-S3, with a color screen.

Specifications

  • Color 0.85” IPS TFT with 128x128 pixels
  • ESP32-S3
  • 4MB Flash
  • 2MB RAM
  • 1 keyboard switch
  • 2 user buttons
  • 1 speaker
  • 6-axis motion sensor
  • Extendable Pins
  • USB Type-C interface
  • reset button
  • RGB LEDs
  • Power options - USB-C or Lipoly battery

Learn More