146 Commits

Author SHA1 Message Date
3925f11a02 Fix last_ip setter, use X-Forwarded-For header via proxy
default to remote_addr still
2024-10-08 16:06:50 -05:00
4f2f751f24 Change TOS email 2023-05-10 19:07:36 -05:00
3d5e175db5 Move all root app files into 'runnerspace' folder 2023-05-10 19:05:25 -05:00
54f5eeb5cb Fix centered explore href link 2023-05-10 02:04:30 -05:00
680caba8d3 Polish README 2023-05-10 01:35:35 -05:00
cfe6ac4f65 Fix header image URL link 2023-05-10 01:30:59 -05:00
ae29927730 Remove all trace of Heroku, replace with 'deployment' or Railway 2023-05-10 01:30:15 -05:00
42a03ba498 Use current year in copyright generation 2023-05-10 01:15:56 -05:00
d095f9849a Setup .env local environment loading 2023-05-10 00:53:34 -05:00
Xevion
1214ef9030 Fix unpluralized word in index 2022-08-24 17:12:56 -05:00
Xevion
07aac89449 Add twitter-card embed banner 2022-04-04 22:46:35 -05:00
Xevion
47c52ed7b5 Add screenshots to README.md 2022-04-04 22:24:22 -05:00
Xevion
166791d777 Fix README.md Banner URL 2022-04-04 22:19:24 -05:00
Xevion
62acccb6b8 Update README.md with updated information 2022-04-04 22:18:35 -05:00
Xevion
285e05c3d1 Fix element overlap in slim banner 2022-04-04 21:22:53 -05:00
Xevion
35d8c6e286 Add slim version of banner 2022-04-04 21:21:36 -05:00
Xevion
7ea5015032 Create new banner for project promotion 2022-04-04 21:14:55 -05:00
Xevion
f8e8d0fbaf Add likes/comment counts + like button to individual post viewer
- Only render in jQuery and likes script when a user is logged in
- Possibly we should show the like button but redirect to login page?
2022-03-30 16:49:59 -05:00
Xevion
531c60d163 Remove spaCy references and generate new Pipfile.lock 2022-03-30 16:00:08 -05:00
Xevion
73d9fd5454 Replace profanity-filter with better-profanity
Since Heroku refuses to let me downloda the spaCy model, we're going
with this instead. :/
2022-03-30 15:57:47 -05:00
Xevion
3a0c1690d3 Remove runtime spacy model downloading 2022-03-30 02:39:51 -05:00
Xevion
018752f0df Add spaCy en-core-web-sm model to Pipfile 2022-03-30 02:38:05 -05:00
Xevion
29d9426d57 Remove unused ProfanityFilter instance from route_forms.py 2022-03-30 02:24:49 -05:00
Xevion
3ab3fd5476 Ensure Spacy NLP model is downloaded by Heroku in production 2022-03-30 02:10:20 -05:00
Xevion
b0aa5addbf Merge pull request #2 from Xevion/profanity-filters
Profanity Filters, Likes, Model Revamp, Flask-WTF Forms, CSRF, jQuery, TOS & License
2022-03-30 01:48:11 -05:00
Xevion
2c8d97559d Show divider only when post form is displayed, add post count text. 2022-03-30 01:45:44 -05:00
Xevion
765e786231 Add like counter to user profile
- Also fixed some issue with get_post_count() method? Weird.
2022-03-30 01:41:32 -05:00
Xevion
11394bfb7e Re-add red border to form errors, limit like button to logged in users 2022-03-30 01:36:32 -05:00
Xevion
d16df75bf5 Add better message hints to RegEx validators
I realized that users wouldn't be able to understand why their username
was invalid, so rather than getting rid of it, I added message hints
and split it up into two different validators. If the first one fails,
the second one will show as well.

Not perfect, but better than before by a longshot.
2022-03-30 01:33:17 -05:00
Xevion
7da54f656d Limit possible characters in a username heavily to combat abuse 2022-03-30 01:27:28 -05:00
Xevion
fdec448e74 Show up to 2 usernames, calculate number unshown on likes status text
- Switched to username for likes display text instead of name
- Reminder: Strict usernames, no spaces, a-Z + 0-9
2022-03-30 01:20:01 -05:00
Xevion
c5c3b01dfa Use jQuery to allow users to like/unlike posts with dynamic updates
- Only the pages that need jQuery and the likes.js script will load it
2022-03-30 01:18:42 -05:00
Xevion
bfb69621e1 Add like querying/checking/rendering to Feed posts
- Change runnerspace.live to Runnerspace
- Change post viewing URL to say /post/🆔 instead of /feed/🆔
2022-03-30 00:21:55 -05:00
Xevion
2a443979b9 Hide "New Users" box when no users are in database
- Also improved CSS organization
- Use space-around flex to center stats box
- Capitalized 'runnerspace'
2022-03-29 23:40:02 -05:00
Xevion
6b4d5acfb9 Move highly-static routes in separate blueprint 2022-03-29 23:34:31 -05:00
Xevion
cf8a754caf Implement inefficient like summation methods 2022-03-29 23:23:48 -05:00
Xevion
1a323a8349 Add PostLike and CommentLike models
- Also adjusted some User methods and added ones I believe may be wanted
or needed in time.
- Adjusted online time delta back to 3 minutes.
- Started looking into how to sum 'likes' efficiently on a user's posts.
2022-03-29 22:45:59 -05:00
Xevion
58861acd3d Change minimum comment length to 1 character
Comments like "yes", "no" or 😈 wouldn't be available to post either.
2022-03-29 21:16:12 -05:00
Xevion
66715ecc72 Improve edit profile and add comment styling 2022-03-29 21:14:42 -05:00
Xevion
2cb42bbc8b Fix profile editing form not coming pre-populated with data
Not sure why Form.populate_obj() wasn't working - looking at the source
and the description as well as relevant StackOverflow answers, that
method would apparently work just fine. Looking again, Form.process()
was recommended instead.

Also, I finally changed PyCharm to show me proper commit message
standards - so, be happy that things will look nice now. :)
2022-03-29 20:57:13 -05:00
Xevion
987e4f3256 Remove unused Post.likes
- As well as related methods
- In preparation for PostLikes and CommentLikes model implementations
2022-03-29 20:49:12 -05:00
Xevion
4d986d2c52 Remove unnecessary braces on pluralization filter
I should amend this, but nobody will notice if I make the commit subject line sound complex enough.
2022-03-29 18:14:55 -05:00
Xevion
fd35443a9a Revamp all model relationships to use backref attributes properly
- Fix new post form not including a CSRF token
- Removed some old leftover comment profanity validation, changed to validate_on_submit() for first time
- Include rest of pluralize macro work with this commit + used pluralizing logic where there once was none
2022-03-29 18:12:07 -05:00
Xevion
db560b7c41 Add pluralizing macro filter to templating engine
- Only some plural edits are included here - some are locked behind commits coming soon™️
- Also made index template statistics variables read better
- Fixed spelling error in CSRF Error template rendering (hadn't hit the page yet)
2022-03-29 18:07:39 -05:00
Xevion
49547e582c Improve License/TOS/Privacy statements 2022-03-29 17:06:56 -05:00
Xevion
839ef370be Create proper edit profile form w/ CSRF & refactor User.about_me null/empty string handling 2022-03-29 16:37:12 -05:00
Xevion
bad80cf483 Add force login method for development, add CSRF tokens to login & signup forms 2022-03-29 16:35:26 -05:00
Xevion
311f061b10 Implement CSRF protection & error page 2022-03-29 16:25:30 -05:00
Xevion
f41b83a15f Apply new form validation features to New Post form
- Use TextAreaField instead of StringField on forms.NewPostForm
- Fixed incorrect remember_me field and redirect in login
- Added placeholder usage to field rendering macro
2022-03-29 15:13:00 -05:00
Xevion
8cf2f02772 Implement new Profanity Checker on Form Validation
Why am I still up doing this at 3am
2022-03-29 03:00:12 -05:00