2022-07-22 21:34:36 +00:00
|
|
|
# Post::Text
|
|
|
|
|
2022-07-22 21:22:23 +00:00
|
|
|
A textboard written in Perl
|
2022-07-22 21:34:36 +00:00
|
|
|
|
2022-07-27 03:15:18 +00:00
|
|
|
## Installing locally
|
|
|
|
|
2022-10-02 02:43:40 +00:00
|
|
|
Install dependencies:
|
2022-07-27 03:15:18 +00:00
|
|
|
|
2022-08-22 21:33:15 +00:00
|
|
|
cpanm --installdeps .
|
2022-07-27 03:15:18 +00:00
|
|
|
|
2022-07-22 22:43:01 +00:00
|
|
|
## Running locally
|
|
|
|
|
2022-10-02 02:43:40 +00:00
|
|
|
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:
|
2022-07-22 22:43:01 +00:00
|
|
|
|
2023-05-15 02:43:13 +00:00
|
|
|
morbo -w assets/css/ -w public/ -w lib/ -w templates/ \
|
|
|
|
-w script/ script/post_text
|
2022-07-22 22:43:01 +00:00
|
|
|
|
|
|
|
Now try requesting http://localhost:3000
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
2023-06-25 04:01:13 +00:00
|
|
|
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:
|
2022-07-22 22:43:01 +00:00
|
|
|
|
2022-08-22 21:33:15 +00:00
|
|
|
prove -l
|
2022-07-22 22:43:01 +00:00
|
|
|
|
2023-04-25 19:10:31 +00:00
|
|
|
## 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
|
|
|
|
|
2023-05-10 01:18:21 +00:00
|
|
|
podman run -dt --rm --name post_text -p 3002:3000 post_text
|
2023-04-25 19:10:31 +00:00
|
|
|
|
|
|
|
### Generate unit file
|
|
|
|
|
|
|
|
podman generate systemd --files --new --name post_text
|
|
|
|
|
2022-07-22 21:34:36 +00:00
|
|
|
## TODOs
|
|
|
|
|
2023-01-09 03:11:46 +00:00
|
|
|
1. "All new posts flagged" mode (require approval for new posts)
|
2023-05-04 01:05:57 +00:00
|
|
|
1. Tests for mod-only user?
|
2022-09-01 20:00:54 +00:00
|
|
|
|
|
|
|
## Crazy future ideas
|
|
|
|
|
|
|
|
### (Lord knows there's TODOs I could be working on...)
|
|
|
|
|
2023-05-13 02:15:33 +00:00
|
|
|
1. Is `remark_tally` counting hidden remarks? Tried to add a `WHERE
|
|
|
|
NOT hidden_status` but that returns null, probably need a different
|
|
|
|
`JOIN` which may not be worth the trouble/processing
|
2022-11-03 19:42:06 +00:00
|
|
|
1. Implement tripcodes (moving this down in priority due to complexity...)
|
2022-09-27 03:51:36 +00:00
|
|
|
1. Return a text response instead of HTML if a `.txt` extension [is
|
|
|
|
requested](https://docs.mojolicious.org/Mojolicious/Plugin/DefaultHelpers#respond_to)
|
2022-10-06 16:13:20 +00:00
|
|
|
(JSON?)
|
2022-09-01 20:00:54 +00:00
|
|
|
1. Post thread via SMS (twil.io??)
|