Commit Graph

44 Commits

Author SHA1 Message Date
Oliver Booth 28c7f7ce78
refactor!: restructure the markdown editor
This change significantly impacts the organisation and structure of the markdown editor, starting to utilise Blazor (SignalR) to perform operations such as saving, removing the need for an API controller.

Much of the TypeScript source has been more coherently decoupled, for example UI vs business logic is now independent.
2024-02-28 16:04:56 +00:00
Oliver Booth 7cb6e9d463
feat: add post title edit capability 2024-02-26 17:44:22 +00:00
Oliver Booth 4b2223634e
feat: add blog post editing 2024-02-26 02:50:48 +00:00
Oliver Booth faf3c4c3a8
feat: implement MFA for admin login 2024-02-25 17:21:29 +00:00
Oliver Booth 0fbb94b86e
refactor: move authentication to dedicated controller 2024-02-25 15:54:32 +00:00
Oliver Booth b6d3eb72fe
feat: add api versioning 2024-02-25 15:47:51 +00:00
Oliver Booth a1a7d6dd96
refactor: move BlogApiController to Api folder 2024-02-25 15:38:00 +00:00
Oliver Booth c5a4ac37b2
feat: redirect to referer on logout if possible 2024-02-25 14:19:26 +00:00
Oliver Booth 6db3aba1c2
style: amend 278c807fa3 2024-02-25 14:19:07 +00:00
Oliver Booth 14d73851ea
refactor: delegate cookie writing to SessionService 2024-02-24 15:37:39 +00:00
Oliver Booth fa394480b1
refactor: move Session entity to Web area 2024-02-24 15:27:03 +00:00
Oliver Booth 951500ca91
refactor: validate session separately 2024-02-24 15:04:03 +00:00
Oliver Booth 0d670554e6
refactor: move admin page out of blog area 2024-02-24 15:00:36 +00:00
Oliver Booth 8ef34d014b
refactor: rename BlogUserService to UserService 2024-02-24 14:52:43 +00:00
Oliver Booth bd55ac28e3
Merge branch 'main' into feature/blog-admin 2024-02-24 03:42:08 +00:00
Oliver Booth 0aa9754714
refactor: remove unused imports 2024-02-23 15:46:32 +00:00
Oliver Booth 8fda2e9907
feat: add blog admin page and simple login 2024-02-20 20:39:52 +00:00
Oliver Booth 1f6825c9df
feat: add contact blacklist 2023-12-22 14:26:18 +00:00
Oliver Booth 3186ce9b50
fix: use correct formatted date on blog card attr 2023-10-12 16:58:10 +01:00
Oliver Booth 6d6a54336c
feat: add recaptcha validation to contact form 2023-09-29 15:47:29 +01:00
Oliver Booth 40d8052116
fix: remove invalid contact refs 2023-09-25 20:08:05 +01:00
Oliver Booth 33c3b434d7
fix: redirect to error message on contact failure 2023-09-25 19:58:11 +01:00
Oliver Booth f912fa580d
refactor!: merge contact into one form (WEB-2) 2023-09-25 19:55:34 +01:00
Oliver Booth f48713c470
feat: add tag filtering (resolves WEB-1) 2023-09-24 17:03:06 +01:00
Oliver Booth 3076f58485
feat: add working privacy policy contact form 2023-09-24 00:04:44 +01:00
Oliver Booth a9c4b3a144
feat: display post tags 2023-09-23 22:08:25 +01:00
Oliver Booth 08eed3c71e
feat: add Other contact page submission 2023-09-22 14:57:04 +01:00
Oliver Booth b36a3207ca
docs(blog): use rename interface in param 2023-08-16 14:44:57 +01:00
Oliver Booth bbc76bc305
refactor(blog): use api controller for /blog/feed endpoint 2023-08-13 18:02:58 +01:00
Oliver Booth 0a9c2e82d5
refactor: combine sites into one
CORS was "cors"ing some issues (heh).

But also it is easier to maintain this way. Development was made much more difficult when I separated it. Combining it all also improves SEO
2023-08-13 17:34:38 +01:00
Oliver Booth e8bc50bbdf
refactor: move blog to separate app
I'd ideally like to keep the blog. subdomain the same, and while there are a few ways to achieve this it is much simpler to just dedicate a separate application for the subdomain.

This change also adjusts the webhost builder extensions to default to ports 443/80, and each app now explicitly sets the port it needs.
2023-08-12 20:13:47 +01:00
Oliver Booth 641313f97a
refactor: remove Author schema
Introducing new User which serves both as author model and credential model
2023-08-12 14:24:27 +01:00
Oliver Booth 9d0e16abc1
feat: add CORS for /api/blog controller 2023-08-11 17:16:26 +01:00
Oliver Booth 54f3706ba0
refactor: move blog api controller to project root 2023-08-11 16:32:11 +01:00
Oliver Booth 2d4d6d3823
refactor: amend c2deccafae
Define new Area for blog
2023-08-11 14:26:21 +01:00
Oliver Booth 0ecef1a547
refactor: match db change from INT to UUID for pkeys 2023-08-11 14:09:13 +01:00
Oliver Booth 3e20e41565
refactor: use HttpGet for api routes 2023-08-10 22:57:24 +01:00
Oliver Booth d3958fc22c
feat: validate referer on all routes 2023-08-10 22:56:49 +01:00
Oliver Booth 159e1ad65d
refactor: return Ok(...) instead of building a JsonResult 2023-08-10 22:55:52 +01:00
Oliver Booth 9d46d6495e
fix: 0-pad Published properties 2023-08-10 22:53:15 +01:00
Oliver Booth d6c24d80c1
fix: remove stdout diagnostic print 2023-08-10 22:52:43 +01:00
Oliver Booth 506347ce9c
feat: add pre-formatted date "dddd, d MMMM yyyy HH:mm" 2023-08-10 15:32:34 +01:00
Oliver Booth 3868fcbaa8
feat: add pre-humanized timestamp to api schema 2023-08-10 14:34:52 +01:00
Oliver Booth 95dd7e51e5
perf: add dynamic fetch of blog posts to speed up page load 2023-08-10 04:56:12 +01:00