.. 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.1 KiB
1.1 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | bootloader_id | features | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | unexpectedmaker_nanos3 | Unexpected Maker NanoS3 Download | Unexpected Maker NanoS3 | Unexpected Maker |
|
unexpectedmaker_nanos3.jpg | 2023-06-26 | esp32s3 | unexpectedmaker_nanos3 |
|
Introducing the NanoS3 - The world’s smallest, fully-featured ESP32-S3 board in module form!
Features & Specifications
- Dual 32bit Xtensa LX7 cores @ up to 240Mhz
- RISC-V Ultra Low Power Co-processor
- 2.4GHz Wifi - 802.11b/g/n
- BLE 5.0 + Mesh
- 8MB QSPI Flash
- 8MB of extra QSPI PSRAM
- 700mA 3.3V LDO Regulator
- Low power RGB LED
- ULTRA LOW Deep Sleep Current
- 5V back-feed protection
- Native USB + USB Serial JTAG
- LiPo Battery Charging
- 3D High Gain Antenna
- 27 GPIO
- Only 28 x 11mm in size
- Drop in compatible with TinyPICO Nano
You can find out more about the NanoS3 at nanos3.io
Purchase
You can purchase your very own NanoS3 from: Unexpected Maker - https://unexpectedmaker.com/shop/nanos3