.. 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")
```
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
---
|
||
layout: download
|
||
board_id: "raspberry_pi_400"
|
||
title: "Raspberry Pi 400 Desktop Download"
|
||
name: "Pi 400 Desktop"
|
||
manufacturer: "Raspberry Pi"
|
||
board_url:
|
||
- "https://www.raspberrypi.com/products/raspberry-pi-400-unit"
|
||
board_image: "raspberry_pi_400.jpg"
|
||
download_instructions: "https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi"
|
||
downloads_display: true
|
||
blinka: true
|
||
date_added: 2020-11-02
|
||
features:
|
||
- Wi-Fi
|
||
- Bluetooth/BLE
|
||
- Ethernet
|
||
- HDMI/DisplayPort
|
||
- 40-pin GPIO
|
||
- USB 3.0
|
||
---
|
||
|
||
Raspberry Pi 400 is your complete personal computer, built into a compact keyboard. Featuring a quad-core 64-bit processor, 4GB of RAM, wireless networking, dual-display output, and 4K video playback, as well as a 40-pin GPIO header, it's the most powerful and easy-to-use Raspberry Pi computer yet.
|
||
|
||
- Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
|
||
- 4GB LPDDR4-3200
|
||
- Dual-band (2.4GHz and 5.0GHz) IEEE 802.11b/g/n/ac wireless LAN
|
||
- Bluetooth 5.0, BLE
|
||
- Gigabit Ethernet
|
||
- 2 × USB 3.0 and 1 × USB 2.0 ports
|
||
- Horizontal 40-pin GPIO header
|
||
- 2 × micro HDMI ports (supports up to 4Kp60)
|
||
- H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES 3.0 graphics
|
||
- MicroSD card slot for operating system and data storage
|
||
- 78- or 79-key compact keyboard (depending on regional variant)
|
||
- 5V DC via USB connector
|
||
- Operating temperature: 0°C to +50°C ambient
|
||
- Maximum dimensions 286 mm × 122 mm × 23 mm
|
||
|
||
## Purchase
|
||
* [Adafruit](https://www.adafruit.com/product/4796)
|