circuitpython-org/_board/boardsource_blok.md
Jeff Epler 4715875cc4 Fix board dates to always be of the form YYYY-MM-DD
.. 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")
```
2024-03-22 11:31:45 -05:00

40 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: download
board_id: "boardsource_blok"
title: "Blok Download"
name: "Blok"
manufacturer: "Boardsource"
board_url:
- "https://boardsource.xyz/store/628b95b494dfa308a6581622"
board_image: "boardsource_blok.jpg"
date_added: 2021-04-06
family: raspberrypi
features:
- Breadboard-Friendly
- USB-C
---
Bloks elevate any keyboard compatible with Pro Micro Footprints and grants them instant access to a modern and feature-rich ecosystem. Users who dont want to touch a text editor or config file dont have to, Bloks work out of the box with Peg. Users can map keys, set LED colors, configure rotary encoders, create OLED images, and much more all from within an easy to use visual program (GUI). Many of Pegs features and configuration options are unavailable through any other flashing program built for yesterdays ATmega32U4 processors. Now, deep configuration and rich features custom keyboards offer can be configured easily instead of becoming another project. On the other hand, users who enjoy in-the-editor programming, product development, design, or any other roll your solution will similarly love the Blok. Shipping with KMK and CircuitPython out of the box, Bloks offer enthusiasts and creators a modern development environment limited only by your imagination instead of programming knowledge and hardware constraints. Create your entire keymap in Python within a single main.py file and test your changes instantly, no recompiling necessary. Remember, if this isnt your thing — Peg can handle it for you.
Built on top of a powerful RP2040 ARM microprocessor and designed with the future in mind, Bloks handle whatever you throw at them. Compared to older ATmega based controllers Bloks have an incredible 100x the RAM, 8x the computing speed, 500x the ROM, are 32 bit instead of 8 bit, and are dual-core instead of single core. These are huge upgrades and allows for innovation and development within the custom keyboard space. Bloks offer additional features and functionality compared to other RP2040 based controllers as well, such as OLED screen compatibility, innovative reset/boot switches accessible in any controller orientation, and a programmable RGB LED on-board.
**Specifications**
- RP2040 Controller
- Dual core
- 16MB ROM
- 133 MHz
- 32 bit processor
- 264kb RAM
- Height: 3.2mm (Height of USB C Port)
- USB Type-C
**Features**
- Compatible With All Pro Micro Footprints.
- Durable USB-C Port
- On-board Reset and Boot switch in accessible locations.
- Programmable RGB LED
- Extremely low profile
## Purchase
* [Boardsource](https://boardsource.xyz/store/628b95b494dfa308a6581622)