.. 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.9 KiB
| layout | board_id | title | name | manufacturer | board_url | board_image | download_instructions | downloads_display | blinka | date_added | features | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| download | raspberry_pi_cm3plus | Raspberry Pi Compute Module 3+ Download | Compute Module 3+ | Raspberry Pi |
|
raspberry_pi_cm3plus.jpg | https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi | true | true | 2019-06-24 |
|
The Compute Module is a Raspberry Pi in a more flexible form factor, intended for industrial application. CM3+ (Compute Module 3+) is the Raspberry Pi 3 B+-based revision of the original Compute Module. The big update to the CM3+ compared to the CM3 series is more eMMC Flash memory and the new heat spreader on the main processor which will let it run at full speed much faster without overheating.
The Compute Module contains the guts of a Raspberry Pi 3 B+ (the BCM2837B0 processor and 1GB RAM) as well as a 8GB eMMC Flash device (which is the equivalent of the SD card in the Pi). The Pi 3 B+ has a processor speed of 1.2GHz and runs at roughly 10 times the speed of the Pi 1 due to its quad-core CPU. This is all integrated on to a small 67.6mm x 31.1mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory).
The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2837B0 SoC (which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi), and designing the Module into a custom system should be relatively straightforward as the Pi Foundation has put all the tricky bits onto the Module itself.