A textboard written in Perl https://posttext.pl
assets | ||
lib | ||
migrations | ||
public | ||
script | ||
t | ||
templates | ||
.gitignore | ||
.perlcriticrc | ||
AUTHORS | ||
cpanfile | ||
Dockerfile | ||
example_post_text.conf | ||
LICENSE | ||
README.md |
Post::Text
A textboard written in Perl
Installing locally
Install dependencies:
cpanm --installdeps .
Running locally
Create a config file:
cp example_post_text.conf post_text.conf
This file right now just contains a Perl hash reference. Someday it should be YAML or XML or something better suited.
Run it in development mode:
morbo -w assets/css/ -w public/ -w lib/ -w templates/ \
-w script/ script/post_text
Now try requesting http://localhost:3000
Testing
First, create a valid first thread and first remark to the first thread. The tests rely on the existence of thread #1 and remark #1 being the first remark to that first thread. Then you can run the tests locally:
prove -l
Building/running container
Build
podman build -t post_text .
Tag
podman tag post_text git.n4vn33t.com/swag/post_text
Push
podman push git.n4vn33t.com/swag/post_text
Pull
podman pull git.n4vn33t.com/swag/post_text
Run
podman run -dt --rm --name post_text -p 3002:3000 post_text
Generate unit file
podman generate systemd --files --new --name post_text
TODOs
- Post preview
- There was something else but I forget...
- CAPTCHA
- "All new posts flagged" mode (require approval for new posts)
- Tests for mod-only user?
Crazy future ideas
(Lord knows there's TODOs I could be working on...)
- Is
remark_tally
counting hidden remarks? Tried to add aWHERE NOT hidden_status
but that returns null, probably need a differentJOIN
which may not be worth the trouble/processing - Implement tripcodes (moving this down in priority due to complexity...)
- Post thread via SMS (twil.io??)