Commit Graph

93 Commits (master)

Author SHA1 Message Date
Noah 8de77dcb83 Rate limit login attempts 2024-02-28 21:33:39 -08:00
Noah f6f2dc57e8 Add class to Markdown page 2023-01-27 18:23:45 +00:00
Noah d78814b9c9 Tweaks to age-gate middleware
Allow more static files to be loaded: font files like for FontAwesome.
Also allow POST requests, in case you loaded a URL with the override
query parameter so you can leave a comment without being interrupted.
2019-10-22 10:50:51 -07:00
Noah 445fffdf2b JSON feed support for the blog cuz why not 2019-08-19 18:30:42 -07:00
Noah 82b73f26b4 Fix RSS feed links 2019-08-19 17:50:56 -07:00
Noah 77bf2b9dd3 Fix up RSS/Atom feeds 2019-08-19 17:46:44 -07:00
Noah e67df627ce Make it a Go module 2019-06-20 13:36:42 -07:00
Noah e2cfb2d70c Add a -v flag to print version information 2019-06-05 16:28:59 -07:00
Noah 7376947e8a Extract Blog Thumbnails for Archive Page 2019-06-05 16:18:38 -07:00
Noah c556f862e5 Add image uploader to the Edit Blog page 2019-05-16 20:12:47 -07:00
Noah 2fd5fccc5b Add button to disable ACE Code Editor (for mobile) 2019-05-16 18:46:02 -07:00
Noah 86d5367d8e Fix sticky blog posts not ordering correctly 2019-03-15 14:12:38 -07:00
Noah dee7c8eb98 Additional age gate suffixes 2019-01-03 11:36:52 -08:00
Noah 87f53c9895 Age Gate: Allow single-page exceptions with ?over18=1 2019-01-01 13:31:01 -08:00
Noah 0943ff34b1
Merge pull request #7 from kirsle/questions
Feature: Ask Me Anything
2018-12-24 11:54:50 -08:00
Noah 1821ef60d4 Feature: Ask Me Anything
Implements a Tumblr-style "Ask Me Anything" feature to the blog, with a bit of
automation and niceness:

* The route is at `/ask`
* User can leave their name (Anonymous), email address (if they want to be
  notified when you answer) and ask their question.
* The blog owner is notified about the question via email.
* The owner sees recent pending questions on the `/ask` page.
* Answering a question creates a blog entry and (if the asker left their
  email) notifies the asker to check the blog at the permalink-to-be for the
  new post.

Along with this feature, some changes to the blog application in
general:

* Added support for SQL databases in addition to the JsonDB system
  previously in use for blogs, users, comments, etc.
  * Default uses a SQLite DB at $root/.private/database.sqlite
  * The "Ask Me Anything" feature uses SQLite models instead of JSON.
* Restructure the code layout:
  * Rename the /internal/ package path to /src/
  * Begin to consolidate models into /src/models
2018-12-24 11:50:29 -08:00
Noah 9b938ccff3 Move package from internal to src 2018-12-23 16:21:50 -08:00
Noah 517a2ee86b Questions system WIP 2018-12-23 16:18:04 -08:00
Noah eae499c640 Dummy out Events and Contacts for now, shelved for later 2018-12-15 17:17:36 -08:00
Noah bddae00a1e Merge branch 'master' into events 2018-12-15 16:42:56 -08:00
Noah b31eb284f0 Rebase Dockerfile on golang:1.10 2018-09-18 11:21:11 -07:00
Noah d9a1e6a3c0
Merge pull request #5 from kirsle/docker
Add a Dockerfile
2018-06-07 11:52:29 -07:00
Noah 107e5dd963 Add a Dockerfile 2018-06-07 11:51:44 -07:00
Noah 5c4f5612f8 Controller docs, RSVP counts, comment integration 2018-05-12 11:48:18 -07:00
Noah a3ba16c9b2 Anonymous contact authentication for events 2018-05-11 21:29:18 -07:00
Noah a166c72cf3 SQLite DB, initial invite flows and UX 2018-05-11 21:28:55 -07:00
Noah f154c55862 Catch spam bots on my contact form 2018-05-01 18:26:50 +00:00
Noah 345878fabe Contact creation and invite UI 2018-04-30 17:50:39 -07:00
Noah 765e80b64d Initial events UI - Creation, editing, viewing 2018-04-29 12:56:37 -07:00
Noah a1c84fa1e9 Make Session available in the templates 2018-04-27 14:49:21 -07:00
Noah efeb2e934e Fix page count and comment form styling 2018-04-14 09:29:03 -07:00
Noah 92887a6472 Keep fragments in the blog index file 2018-04-13 22:08:44 -07:00
Noah 95fdc4baff Fix CSRF token generator 2018-04-11 19:53:41 -07:00
Noah aca9734b14 More config settings and age gating 2018-04-11 19:34:37 -07:00
Noah 532135094c Bootstrap version bump 2018-04-11 18:59:48 -07:00
Noah b7d1661fcd Various tweaks 2018-04-11 18:59:30 -07:00
Noah 709e1f9577 Add tumblr-import script to import Tumblr blogs 2018-04-10 22:36:32 -07:00
Noah 3b4bd4e978 Various small nice fixes 2018-04-10 19:07:25 -07:00
Noah 7fa422e42f Shuffle around packages, fix rophako-import 2018-02-11 16:24:43 -08:00
Noah f702ad12e0
Merge pull request #4 from kirsle/refactor
Refactor the codebase
2018-02-10 15:50:52 -08:00
Noah d4321b5087 Small bugfixes 2018-02-10 15:16:30 -08:00
Noah c69c14ea09 Controller breakout for blog and comments 2018-02-10 15:07:10 -08:00
Noah eb1880d348 Break out some controllers and move mail to subpackage
Controllers moved into sub-packages:
* Initial setup
* Admin routes
* Auth login/out routes
* Contact
2018-02-10 14:36:21 -08:00
Noah 6d3de7da69 Let me use interface{} for template vars
Since most of the `render.Vars{}` fields were hardcoded/not really
editable for the templates, apart from .Data, this struct is now locked
away in the render subpackage.

End http.HandlerFunc's can then make any arbitrary template data
structure they want to, available inside the templates as `.Data`.
2018-02-10 14:05:41 -08:00
Noah eab7dae75b Further simplify template rendering 2018-02-10 13:16:20 -08:00
Noah f0045ae2cf Move Flash and Redirect responses to subpackage 2018-02-10 11:20:27 -08:00
Noah 60ccaf7b35 Eviscerate the last of the middleware into sub-packages 2018-02-10 11:14:42 -08:00
Noah e393b1880f Move template rendering into sub-package 2018-02-10 10:08:45 -08:00
Noah aabcf59181 Branch markdown into its own subpackage 2018-02-09 19:01:56 -08:00
Noah 3d5147ff4c Shuffle around package directories 2018-02-09 18:46:58 -08:00