From bf01e2f0c06568891386f7d014299596412adb23 Mon Sep 17 00:00:00 2001 From: Vaughan Whitteron Date: Tue, 7 May 2024 21:05:59 +0900 Subject: [PATCH 1/4] add spotpear raspberry pi game board --- draft/boards/spotpear-raspberry-pi-game.png | Bin 0 -> 46312 bytes draft/overlay/spotpear-raspberry-pi-game.md | 78 ++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 draft/boards/spotpear-raspberry-pi-game.png create mode 100644 draft/overlay/spotpear-raspberry-pi-game.md diff --git a/draft/boards/spotpear-raspberry-pi-game.png b/draft/boards/spotpear-raspberry-pi-game.png new file mode 100644 index 0000000000000000000000000000000000000000..16fc9b40a452167542a5e4db9c6c7809da7a77f9 GIT binary patch literal 46312 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 +# Raspberry Pi Game + +1.3" LCD with inbuilt 3 watt speaker, headphone out and game controller buttons (Start, Select, D-pad, A, B, X, Y and L/R trigger buttons) + +## Features + +* 240x240 LCD (ST7789V driver) +* 3W speaker +* 3.5mm headphone output +* 12 game controller buttons \ No newline at end of file From 5e33f1ce41de96774c35da3c24ab4d56dc632496 Mon Sep 17 00:00:00 2001 From: Vaughan Whitteron Date: Tue, 7 May 2024 21:07:18 +0900 Subject: [PATCH 2/4] fix broken links to implicit index files --- serve.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/serve.py b/serve.py index a925d3af..233f5377 100755 --- a/serve.py +++ b/serve.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import sys +import os try: from flask import Flask, send_from_directory @@ -25,6 +26,9 @@ def custom_static(filename): @app.route("/") def show_page(page): + if not os.path.exists('{}/{}.html'.format(basedir, page)): + page = page + '/index' + return send_from_directory(basedir, '{}.html'.format(page)) From ad8db0a4ca6dafcfd267c1f0ff76537079ff07a9 Mon Sep 17 00:00:00 2001 From: Vaughan Whitteron Date: Tue, 7 May 2024 21:13:43 +0900 Subject: [PATCH 3/4] fix links to phatstack in the Docker container --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5e6ac32a..76fc5984 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ html: ./generate-html.py $(LANG) resources: - cp -r resources output/$(LANG)/ + cp -r resources phatstack output/$(LANG)/ devel: css all resources ./serve.py ${LANG} From 2287affd3518193a39c7fd71e774e93cf0ef394c Mon Sep 17 00:00:00 2001 From: Vaughan Whitteron Date: Tue, 7 May 2024 21:14:10 +0900 Subject: [PATCH 4/4] add feature to easily publish a draft in the Dockerized web server --- Dockerfile | 6 +++++- README.md | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2f371f5b..7e4e2e90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM python:2.7-slim +FROM python:3.12.3-slim + +ARG PUBLISH_DRAFT='' COPY . ./ @@ -7,4 +9,6 @@ RUN apt-get update && \ RUN pip install -r requirements.txt +RUN test -n ${PUBLISH_DRAFT} && ./draft/publish.sh ${PUBLISH_DRAFT} + CMD ["bash", "-c", "make serve LANG=en"] \ No newline at end of file diff --git a/README.md b/README.md index 36cc43a4..d5d5a238 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,12 @@ docker run -p 5000:5000 -e PINOUT_LANG=en pinout.xyz Now you can access the webserver at http://127.0.0.1:5000. +Optionally you can include a draft board in the containerized webserver by setting the `PUBLISH_DRAFT` build argument: + +```bash +docker run -p 5000:5000 -e PINOUT_LANG=en --build-arg PUBLISH_DRAFT=myboard pinout.xyz +``` + # Translating If you would like to provide support for a language not yet in the repository you should start by duplicating the `src/en` directory to the appropriate [language-code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). For example, if you want to create a Czech translation you would create the folder `src/cs`. Note that there are no plans to support cultures (it would just get out of hand), so you can't have `src/fr-CA` (sorry!).