.. 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")
```
28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
---
|
|
layout: download
|
|
board_id: "datum_light"
|
|
title: "datum-Light Download"
|
|
name: "datum-Light"
|
|
manufacturer: "J&J Studios"
|
|
board_url:
|
|
- "https://jandjstudios.io/datum/datum-Light/"
|
|
board_image: "datum_light.jpg"
|
|
date_added: 2019-07-12
|
|
family: atmel-samd
|
|
features:
|
|
- Breadboard-Friendly
|
|
---
|
|
|
|
The datum-Light sensor combines the same SAMD21G18 microcontroller used on the Arduino Zero with the APDS-9960 light sensor from Broadcom to create the simplest, easiest to use light sensor for your application.
|
|
|
|
The datum-Light sensor emulates a serial port over a USB connection, presents the information and data stored on it in a JSON formatted packet, and processes URI style commands to change and retrieve its settings. The datum-Light sensor fills the gap between a LEGO® Mindstorms® sensor and a breakout board.
|
|
|
|
The datum-Light sensor can do much more than just collect the data. The measurement units can be customized to suit your application. light data can be returned in mm, cm, inches, or feet. The datum-Light sensor does all the calculations for you.
|
|
|
|
It can also apply filters such as min, mix, mean, and RMS to the data stream. This truly makes the datum-Light sensor a smart sensor that goes far beyond what a breakout board can do.
|
|
|
|
## Learn more
|
|
* [datum-Light Website](https://jandjstudios.io/datum/datum-Light/)
|
|
|
|
## Purchase
|
|
* [GroupGets](https://groupgets.com/campaigns/574-datum-light)
|