.. 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.2 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | features | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | m5stack_stamp_c3 | M5Stamp C3 Download | M5Stamp C3 | M5Stack |
|
m5stack_stamp_c3.jpg | 2022-11-01 | esp32c3 |
|
M5Stack just added a new family to its popular series of modules with the Stamp-C3. the new Stamp-C3 featuring ESPRESSIF ESP32-C3 RISC-V MCU with Wi-Fi connectivity for IoT edge devices such as home appliances and Industrial Automation. By combining RSA-3072-based secure boot and the AES-128-XTS-based flash encryption, while also make it optimal for industrial IoT equipment collecting sensor data within a factory or a building.
The Stamp-C3 is based on 32-bit RISC-V microcontroller and operates at a maximum clock frequency of 160 MHz. With 400 KB of internal RAM and 4 MB Flash, it can facilitate many different use-cases involving connected devices. Furthermore, the exceptional heat resistance plastic enclosure is sustained at a higher operating temperature.