Commit Graph

79 Commits

Author SHA1 Message Date
0943ff34b1
Merge pull request #7 from kirsle/questions
Feature: Ask Me Anything
2018-12-24 11:54:50 -08:00
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
9b938ccff3 Move package from internal to src 2018-12-23 16:21:50 -08:00
517a2ee86b Questions system WIP 2018-12-23 16:18:04 -08:00
eae499c640 Dummy out Events and Contacts for now, shelved for later 2018-12-15 17:17:36 -08:00
bddae00a1e Merge branch 'master' into events 2018-12-15 16:42:56 -08:00
b31eb284f0 Rebase Dockerfile on golang:1.10 2018-09-18 11:21:11 -07:00
d9a1e6a3c0
Merge pull request #5 from kirsle/docker
Add a Dockerfile
2018-06-07 11:52:29 -07:00
107e5dd963 Add a Dockerfile 2018-06-07 11:51:44 -07:00
5c4f5612f8 Controller docs, RSVP counts, comment integration 2018-05-12 11:48:18 -07:00
a3ba16c9b2 Anonymous contact authentication for events 2018-05-11 21:29:18 -07:00
a166c72cf3 SQLite DB, initial invite flows and UX 2018-05-11 21:28:55 -07:00
f154c55862 Catch spam bots on my contact form 2018-05-01 18:26:50 +00:00
345878fabe Contact creation and invite UI 2018-04-30 17:50:39 -07:00
765e80b64d Initial events UI - Creation, editing, viewing 2018-04-29 12:56:37 -07:00
a1c84fa1e9 Make Session available in the templates 2018-04-27 14:49:21 -07:00
efeb2e934e Fix page count and comment form styling 2018-04-14 09:29:03 -07:00
92887a6472 Keep fragments in the blog index file 2018-04-13 22:08:44 -07:00
95fdc4baff Fix CSRF token generator 2018-04-11 19:53:41 -07:00
aca9734b14 More config settings and age gating 2018-04-11 19:34:37 -07:00
532135094c Bootstrap version bump 2018-04-11 18:59:48 -07:00
b7d1661fcd Various tweaks 2018-04-11 18:59:30 -07:00
709e1f9577 Add tumblr-import script to import Tumblr blogs 2018-04-10 22:36:32 -07:00
3b4bd4e978 Various small nice fixes 2018-04-10 19:07:25 -07:00
7fa422e42f Shuffle around packages, fix rophako-import 2018-02-11 16:24:43 -08:00
f702ad12e0
Merge pull request #4 from kirsle/refactor
Refactor the codebase
2018-02-10 15:50:52 -08:00
d4321b5087 Small bugfixes 2018-02-10 15:16:30 -08:00
c69c14ea09 Controller breakout for blog and comments 2018-02-10 15:07:10 -08:00
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
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
eab7dae75b Further simplify template rendering 2018-02-10 13:16:20 -08:00
f0045ae2cf Move Flash and Redirect responses to subpackage 2018-02-10 11:20:27 -08:00
60ccaf7b35 Eviscerate the last of the middleware into sub-packages 2018-02-10 11:14:42 -08:00
e393b1880f Move template rendering into sub-package 2018-02-10 10:08:45 -08:00
aabcf59181 Branch markdown into its own subpackage 2018-02-09 19:01:56 -08:00
3d5147ff4c Shuffle around package directories 2018-02-09 18:46:58 -08:00
3b3295884c Fix blog posts losing their Created time on edit 2018-02-09 18:25:03 -08:00
e8ca2e408a Descriptions in XML feeds 2018-02-01 20:25:41 -08:00
0ca2ebd874 Bring back the RSS/Atom feeds 2018-02-01 20:14:42 -08:00
9f25d38276 Upgrade to Bootstrap 4 Final 2018-02-01 09:34:28 -08:00
4cfc5bbd3d Merge branch 'master' of github.com:kirsle/blog 2018-01-02 19:19:03 +00:00
1430c54f0e Legacy /category/ URI 2018-01-02 11:17:57 -08:00
c6e8e3f5e5 Legacy /category/ URI 2018-01-02 11:16:11 -08:00
946a05c505 Some README Documentation 2017-12-24 13:55:50 -08:00
22374fb5f8 Log contact form messages to disk, just in case 2017-12-24 12:46:15 -08:00
ce4f0d2f7c Sort comments properly from Rophako ingest 2017-12-24 10:34:10 -08:00
c664c07a74 Sort comments on Rophako ingest 2017-12-24 10:24:42 -08:00
baaf7bcfac Legacy Rophako blog index page 2017-12-23 21:21:26 -08:00
419ae157cc Add account settings page to change passwords 2017-12-23 19:15:50 -08:00
00925bb267 Don't allow reconfiguring the site 2017-12-23 18:45:39 -08:00