Honzo eBook format reader app for the PocketMage PDA. See the Honzo Docs for more details on the format. Supports TOC, bookmarks, chapter/page navigation, and jump-to-page.
Requires PlatformIO, Rust with the esp Xtensa toolchain, and just.
just buildThis runs three scripts in sequence:
scripts/build_honzo.py-- cross-compilehonzo-c(Rust) toxtensa-esp32s3-espidfand copy the resulting static library intolib/honzo_c/.scripts/build_firmware.py-- runpio run -e OTA_APP.scripts/package_ota.py-- wrapfirmware.binintoHonzoReader.tarfor OTA distribution.
The default environment is OTA_APP. Set env in the Justfile or pass ENV=<name> to build a different PlatformIO environment.
PlatformIO tests:
pio test -e OTA_APPRust crate tests (honzo submodule):
just -f third_party/honzo/Justfile test| Input | Action |
|---|---|
| LEFT / RIGHT | Previous / next page |
| UP / DOWN | Previous / next chapter |
| SPACE / ENTER | Next page |
| t | Table of contents |
| j | Jump to page number |
| ? | Help overlay |
| h | Return to library, save bookmark |
| FN+LEFT | Exit reader / go up one level |
TOC navigation uses LEFT/RIGHT to scroll and SPACE/ENTER to select.
- PlatformIO (
espressif32platform, Arduino framework) - Rust with
cargo +esp(Xtensa ESP32-S3 target) for thehonzo-ccrate justcommand runner- GxEPD2 (fork:
ashtf8/GxEPD2_Editable_useFastFullUpdate) - Adafruit GFX fonts (FreeSerif, FreeMono, etc.)
src/ firmware source
include/ public headers
scripts/ build helpers (Python)
third_party/ honzo submodule
lib/
third_party/ html_parser, md4c submodules
honzo_c/ compiled honzo-c static library (generated)
Apache-2.0. Same as the PocketMage project.