.. 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.6 KiB
1.6 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | date_added | family | features | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | espruino_banglejs2 | Espruino Bangle.js v2 Download | Espruino Bangle.js v2 | Espruino |
|
espruino_banglejs2.jpg | 2023-03-01 | nrf52840 |
|
Bangle.js 2 is an open, hackable smartwatch. With a sunlight-readable always-on screen, 4-week battery life, complete flexibility, and complete control of your data, Bangle.js 2 is a refreshing break from expensive smart watches.
You can install new apps from the web or develop your own using JavaScript. All you need is a Web Browser (Chrome, Edge, or Opera) and you can upload apps or write code to run on your watch wirelessly! Bangle.js is waterproof and comes with Bluetooth Low Energy, GPS, a heart rate monitor, accelerometer, magnetometer, pressure sensor, and more.
Bangle.js 2.0 specs:
- IP67 Waterproof (max 1 meter for 30 minutes) Please note: IP67 does not mean you can wear it while swimming.
- Nordic 64MHz nRF52840 ARM Cortex-M4 processor with Bluetooth LE
- 256kB RAM, 1MB on-chip flash, 8MB external flash
- 1.3 inch 176x176 always-on 3-bit color LCD display (LPM013M126) with backlight
- Full touchscreen (6H hardness glass)
- GPS/Glonass receiver
- Heart rate monitor
- 3 Axis Accelerometer
- 3 Axis Magnetometer
- Air Pressure/Temperature sensor
- Vibration motor
- 200mAh battery, 4 week standby time
- 36mm x 43mm x 12mm watch body, with standard 20mm watch straps
- Full SWD debug port on back of watch