.. 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")
```
29 lines
961 B
Markdown
29 lines
961 B
Markdown
---
|
|
layout: download
|
|
board_id: "raspberry_pi_1b"
|
|
title: "Raspberry Pi 1 Model B Download"
|
|
name: "Pi 1 Model B"
|
|
manufacturer: "Raspberry Pi"
|
|
board_url:
|
|
- "https://www.adafruit.com/product/998"
|
|
board_image: "raspberry_pi_1b.jpg"
|
|
download_instructions: "https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi"
|
|
downloads_display: true
|
|
blinka: true
|
|
date_added: 2019-06-17
|
|
features:
|
|
- Ethernet
|
|
- HDMI/DisplayPort
|
|
---
|
|
|
|
The Model B was the original Raspberry Pi Model B and consisted of two revisions. In July 2014 It was superseded by the Raspberry Pi 1 Model B+
|
|
|
|
- Broadcom BCM2835, ARM11 76JZF-S SoC @ 700MHz
|
|
- 512MB RAM
|
|
- 26-pin GPIO header
|
|
- Separate Composite Video Output
|
|
- 2 USB 2.0 ports
|
|
- CSI camera port for connecting a Raspberry Pi camera
|
|
- DSI display port for connecting a Raspberry Pi touchscreen display
|
|
- Stereo audio output port
|
|
- Full-size SD port for loading your operating system and storing data
|