summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorKyle Javier [kj_sh604]2026-03-16 14:24:34 -0400
committerGitHub2026-03-16 14:24:34 -0400
commit64d8fc9ce9922f38780cc677478cbfb47b21a87e (patch)
tree5b244c18193da100a88904536bf1496392339f65 /README.md
parent17a970b067fcdf6758668c23184fb2112370bb94 (diff)
merge: python rewrite (#1)
* refactor: Dockerfile * refactor: docker-compose.yml * refactor: docker-entrypoint.sh * refactor: src/font.php * refactor: src/fonts.php * refactor: src/index.php * refactor: src/upload.php * refactor: src/app.py * refactor: src/index.html * refactor: src/requirements.txt * refactor: 24.04 vps compatibility and README re-write * refactor: python .gitignore update * refactor: README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md46
1 files changed, 33 insertions, 13 deletions
diff --git a/README.md b/README.md
index 140f679..f8883d0 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
3> suckless's sent tool ported to the very sucky web world 3> suckless's sent tool ported to the very sucky web world
4 4
5A web-based reimplementation of [suckless sent](https://tools.suckless.org/sent/) 5A web-based reimplementation of [suckless sent](https://tools.suckless.org/sent/)
6using pure PHP and vanilla JavaScript. 6using Python and vanilla JavaScript.
7 7
8<img width="1280" height="800" alt="sent0" src="https://github.com/user-attachments/assets/0c503bd4-3609-4e36-ae23-77b7f0711736" /> 8<img width="1280" height="800" alt="sent0" src="https://github.com/user-attachments/assets/0c503bd4-3609-4e36-ae23-77b7f0711736" />
9<br><br> 9<br><br>
@@ -11,15 +11,14 @@ using pure PHP and vanilla JavaScript.
11 11
12## features 12## features
13 13
14- **sent-compatible format** paragraphs = slides, `#` comments, `@image` 14- **sent-compatible format** - paragraphs = slides, `#` comments, `@image`
15 slides, `\` escapes 15 slides, `\` escapes
16- **keyboard navigation** arrow keys, hjkl, space, enter, backspace, pgup/pgdn 16- **keyboard navigation** - arrow keys, hjkl, space, enter, backspace, pgup/pgdn
17 (same as sent) 17 (same as sent)
18- **mouse navigation** left-click right half = next, left half = prev, scroll 18- **mouse navigation** - left-click right half = next, left half = prev, scroll
19 wheel 19 wheel
20- **image upload** — upload images and insert `@filename` references 20- **image upload** - upload images and insert `@filename` references (50 MB cap)
21- **export** — download as `.sent` file for local sent, or export `.pdf` for portability 21- **export** - download as `.sent` file for local sent, or export `.pdf` for portability
22
23## usage 22## usage
24 23
25### docker compose (recommended) 24### docker compose (recommended)
@@ -37,6 +36,26 @@ docker build -t sent-web .
37docker run -d -p 3000:3000 --init --name sent-web sent-web 36docker run -d -p 3000:3000 --init --name sent-web sent-web
38``` 37```
39 38
39### local python run (without docker)
40
41Requirements:
42
43- Python `3.12+`
44- `fontconfig` (`fc-list` must be available)
45- `libmagic` runtime (`libmagic1` on Ubuntu)
46
47Setup:
48
49```sh
50cd src
51python3.12 -m venv .venv
52. .venv/bin/activate
53pip install -r requirements.txt
54gunicorn --bind 0.0.0.0:3000 --workers 2 app:app
55```
56
57Then open [http://localhost:3000](http://localhost:3000).
58
40### presentation shortcuts 59### presentation shortcuts
41 60
42| key | action | 61| key | action |
@@ -65,12 +84,13 @@ with multiple lines
65 84
66## technology 85## technology
67 86
68- **PHP 8.3** — no framework, just `.php` files 87- **Python 3.12+** - Flask backend
69- **vanilla JavaScript** — no npm, no webpack, no react 88- **vanilla JavaScript** - no npm, no webpack, no react
70- **[noir.css](https://github.com/kj-sh604/noir.css)** — classless CSS 89- **[noir.css](https://github.com/kj-sh604/noir.css)** - classless CSS
71- **Apache** — serves it all 90- **Gunicorn** - production WSGI server
72- **fontconfig** — `fc-list` for font enumeration 91- **fontconfig** - `fc-list` for font enumeration
73- **Docker** — containerized with fonts pre-installed 92- **python-magic + libmagic** - content-based upload type checks
93- **Docker** - containerized with fonts pre-installed
74 94
75## license 95## license
76 96