Commit Graph

314 Commits

Author SHA1 Message Date
Oliver Booth 58f1cbf4b9
fix: fix contact link on tutorials page 2023-09-26 15:23:06 +01:00
Oliver Booth 8e3ddbac55
fix: fix npm build step 2023-09-26 15:16:00 +01:00
Oliver Booth d6cf2d760b
chore: guilp build from Dockerfile 2023-09-26 14:43:29 +01:00
Oliver Booth 1200318326
feat: add password protection to blog posts (WEB-3) 2023-09-26 12:46:18 +01:00
Oliver Booth 40d8052116
fix: remove invalid contact refs 2023-09-25 20:08:05 +01:00
Oliver Booth c3706213f7
chore: remove unused imports 2023-09-25 20:06:30 +01:00
Oliver Booth e65e4aeeb6
feat: add basic error pages 2023-09-25 20:06:05 +01:00
Oliver Booth 33c3b434d7
fix: redirect to error message on contact failure 2023-09-25 19:58:11 +01:00
Oliver Booth 00aed04181
style: reword failure message 2023-09-25 19:57:47 +01:00
Oliver Booth 5644dfd2e3
style: add title attr to footer links
Also separates socials from copyright/privacy
2023-09-25 19:56:00 +01:00
Oliver Booth f912fa580d
refactor!: merge contact into one form (WEB-2) 2023-09-25 19:55:34 +01:00
Oliver Booth bcb2e9292a
feat: add 5 O'Clock Somewhere policy option 2023-09-25 17:31:41 +01:00
Oliver Booth 4f8ab1db4f
docs: update google play privacy policy
Important amendment about lack of usage tracking!
2023-09-24 19:40:00 +01:00
Oliver Booth 3a7d807ac4
feat: add specific app policy
The policy that applies to It's 5 O'Clock Somewhere must be different since it collects minor information about the user.
2023-09-24 19:39:26 +01:00
Oliver Booth fd2ecf0b5c
style: add brand colours to social links 2023-09-24 19:11:27 +01:00
Oliver Booth e0b236831b
feat: add LinkedIn to footer 2023-09-24 18:39:34 +01:00
Oliver Booth a0fd48e6ca
fix: encode tag for URI (WEB-1)
The tag 'c#' was causing problems since # is a special URI char oops.
2023-09-24 17:15:40 +01:00
Oliver Booth f48713c470
feat: add tag filtering (resolves WEB-1) 2023-09-24 17:03:06 +01:00
Oliver Booth 856c33a74f
chore: add MailKit 2023-09-24 16:46:49 +01:00
Oliver Booth dd2a0c027b
style: space footer nav instead of using bullet points 2023-09-24 16:44:36 +01:00
Oliver Booth 4b3e345a1b
style: add headshot image to index 2023-09-24 16:39:58 +01:00
Oliver Booth 6b1a75bfcc
feat: load projects from db 2023-09-24 14:37:38 +01:00
Oliver Booth 3076f58485
feat: add working privacy policy contact form 2023-09-24 00:04:44 +01:00
Oliver Booth 5283985026
style: add header to blog cards 2023-09-23 22:09:26 +01:00
Oliver Booth a9c4b3a144
feat: display post tags 2023-09-23 22:08:25 +01:00
Oliver Booth 2ea52759b8
style: <mark> instead of <strong> for more visual clarity 2023-09-23 21:10:23 +01:00
Oliver Booth 7cad3204df
style: s/and/but 2023-09-23 21:10:02 +01:00
Oliver Booth eb152aaa09
fix: fix typo in Discord 2023-09-22 16:47:28 +01:00
Oliver Booth a75536d08b
fix: remove invalid @model ref for projects page 2023-09-22 14:57:21 +01:00
Oliver Booth 08eed3c71e
feat: add Other contact page submission 2023-09-22 14:57:04 +01:00
Oliver Booth 1a20749809
fix: allow arbitrary string input in starting salary 2023-09-20 17:56:15 +01:00
Oliver Booth eed1e3ad8d
fix: use correct field names on project idea form 2023-09-20 17:56:01 +01:00
Oliver Booth 6ef492016c
refactor: remove your- prefix from form fields 2023-09-20 17:55:35 +01:00
Oliver Booth bb088e3107
refactor: update projects, cancel Unity API docs 2023-09-20 17:20:41 +01:00
Oliver Booth 5558aecb5a
style: fix spacing on links in index 2023-09-20 14:50:43 +01:00
Oliver Booth 39b455caf0
refactor: call toString on numeric timestamp 2023-09-20 14:49:54 +01:00
Oliver Booth 9885bfaed9
feat: display private/unlisted alert for article 2023-09-20 14:49:02 +01:00
Oliver Booth 73f5e4e4a2
fix: use correct route for /blog?p= redirect 2023-09-20 14:48:26 +01:00
Oliver Booth d114870f87
feat: add links to next and prev articles 2023-09-19 19:29:21 +01:00
Oliver Booth 2fd4b704cd
feat: add binaryformatter psa 2023-09-16 14:48:26 +01:00
Oliver Booth 7ae8a749d2
feat: add tutorials page 2023-09-16 14:48:14 +01:00
Oliver Booth ffaa2b2fa4
fix(blog): fix rss permalink 2023-08-20 14:23:50 +01:00
Oliver Booth 0e583de316
feat(blog): add post visibility and password 2023-08-20 14:23:04 +01:00
Oliver Booth 06fd256ec8
refactor: remove redundant models for privacy policy pages 2023-08-20 13:30:11 +01:00
Oliver Booth 70bf8aca19
fix: add name to checkbox 2023-08-16 15:22:35 +01:00
Oliver Booth bcbf963cd8
style: fix typo 2023-08-16 15:22:10 +01:00
Oliver Booth 1c044a9c96
style: fix typo on index page 2023-08-16 14:51:08 +01:00
Oliver Booth b36a3207ca
docs(blog): use rename interface in param 2023-08-16 14:44:57 +01:00
Oliver Booth f18ae5eba4
refactor(web): make dbcontext internal 2023-08-16 14:09:43 +01:00
Oliver Booth 9e2fa951f1
refactor: use PascalCase for asp-page routes 2023-08-16 14:08:33 +01:00
Oliver Booth 8202bb7440
style: reword open source text 2023-08-16 14:02:58 +01:00
Oliver Booth 09f3535d77
refactor: remove unused ns import 2023-08-15 17:07:49 +01:00
Oliver Booth 20eabeeb1e
refactor: remove unneeded log line 2023-08-15 17:06:00 +01:00
Oliver Booth fe4701c1bf
chore(debug): set minlevel for DEBUG config 2023-08-15 17:05:16 +01:00
Oliver Booth d9c6034aa0
fix(blog): link to relative index not root index 2023-08-15 17:04:58 +01:00
Oliver Booth 7ee9d3637c
feat: add support for template variants 2023-08-15 17:04:43 +01:00
Oliver Booth 1cdad4c17c
fix(blog): set post in ViewData for article 2023-08-14 00:58:58 +01:00
Oliver Booth e7cbe0330b
feat: add post metadata for social embed support 2023-08-14 00:57:46 +01:00
Oliver Booth 9ce4b844fe
style: format RSS link child 2023-08-14 00:57:13 +01:00
Oliver Booth c3e64a6cde
style: add theme-color #121212 2023-08-14 00:56:59 +01:00
Oliver Booth adf9e63008
style: remove self-closing / 2023-08-14 00:56:45 +01:00
Oliver Booth fdea721f4f
fix: fix support for inline templates 2023-08-14 00:56:05 +01:00
Oliver Booth eb2a63e136
fix(blog): use tag helpers to generate href 2023-08-13 18:12:42 +01:00
Oliver Booth 193b2486a1
refactor(blog): use /blog prefix for article endpoints 2023-08-13 18:12:13 +01:00
Oliver Booth dc83309db7
perf(blog): cache users 2023-08-13 18:03:08 +01:00
Oliver Booth bbc76bc305
refactor(blog): use api controller for /blog/feed endpoint 2023-08-13 18:02:58 +01:00
Oliver Booth 369436ccce
refactor: use global templates 2023-08-13 18:02:19 +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 be44fb4b4b
chore: add per-project Dockerfile 2023-08-13 16:38:56 +01:00
Oliver Booth f878bff8f3
refactor: use shared Markdig pipeline 2023-08-13 15:24:57 +01:00
Oliver Booth 6bbdd0a74d
fix: add missing ns import 2023-08-13 13:28:25 +01:00
Oliver Booth 287af40501
feat: share template system among all projects 2023-08-13 13:27:44 +01:00
Oliver Booth bd5fd6114a
refactor: remove blog CORS policy from principal project 2023-08-13 13:11:50 +01:00
Oliver Booth f60b9c754a
fix: remove ref to removed service 2023-08-13 00:53:22 +01:00
Oliver Booth 692d688dc3
refactor: remove unused config service 2023-08-12 22:38:28 +01:00
Oliver Booth 58799594ae
refactor: switch to serilog 2023-08-12 21:06:48 +01:00
Oliver Booth 1432c8e0f1
fix: amend 4c86a43a84 2023-08-12 20:41:14 +01:00
Oliver Booth 419aae741d
fix: use shared assets in root site 2023-08-12 20:40:46 +01:00
Oliver Booth 4c86a43a84
chore: remove redundant gitignore 2023-08-12 20:40:31 +01:00
Oliver Booth a55c657d91
fix: add missing refs for blog project 2023-08-12 20:32:27 +01:00
Oliver Booth 86bbf803b5
feat: share wwwroot assets 2023-08-12 20:30:10 +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 b3fd6e9420
chore: add toml config to common lib 2023-08-12 19:04:18 +01:00
Oliver Booth 67231c86af
refactor: delegate ssl cert read to common lib 2023-08-12 18:35:57 +01:00
Oliver Booth 9b9143632a
refactor: remove ref to jquery validation lib 2023-08-12 16:49:37 +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 47b648f327
fix: fix markdown formatting inside templates 2023-08-11 21:51:16 +01:00
Oliver Booth 6f7fa67135
refactor: move DateFormatter to child ns 2023-08-11 21:34:04 +01:00
Oliver Booth 034bd66b29
feat: format template arguments 2023-08-11 21:33:14 +01:00
Oliver Booth 9d0e16abc1
feat: add CORS for /api/blog controller 2023-08-11 17:16:26 +01:00
Oliver Booth 415726cdcd
fix: add missing _ViewImports for blog area 2023-08-11 17:16:04 +01:00
Oliver Booth 0aee2aafbc
fix: add missing asp-area for article breadcrumb 2023-08-11 17:15:54 +01:00
Oliver Booth cd0f38764d
fix: send charset=utf-8 for content-type header 2023-08-11 16:42:12 +01:00
Oliver Booth 7bd1c5a45a
refactor: remove redundant write of StatusCode 2023-08-11 16:41:53 +01:00
Oliver Booth e9d9836238
refactor: move Template extension to subnamespace 2023-08-11 16:35:13 +01:00
Oliver Booth 049601a6fb
fix: remove explicit routing 2023-08-11 16:32:29 +01:00
Oliver Booth 54f3706ba0
refactor: move blog api controller to project root 2023-08-11 16:32:11 +01:00
Oliver Booth 143131b413
style: remove BOM 2023-08-11 15:51:20 +01:00
Oliver Booth 1a726b4962
style: format url as yyyy/MM/dd 2023-08-11 15:43:06 +01:00
Oliver Booth becd70c865
fix: use area "blog" for page link 2023-08-11 15:42:48 +01:00
Oliver Booth 1bdd2a04f0
docs: add xmldoc in api controller 2023-08-11 15:41:02 +01:00
Oliver Booth fb8848270f
refactor: remove unused ns imports 2023-08-11 14:29:26 +01:00
Oliver Booth 2844904723
fix: add missing _ViewStart to inherit shared layout 2023-08-11 14:27:38 +01:00
Oliver Booth 19a398d694
refactor: remove unused Post property 2023-08-11 14:27:13 +01:00
Oliver Booth eb2edcb3f6
fix: amend 0ecef1a547
Forgot these two
2023-08-11 14:26:38 +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 c2deccafae
refactor: move blog to new asp area 2023-08-11 14:08:14 +01:00
Oliver Booth 3c6a2209c2
style: remove self-closing tag 2023-08-11 13:52:43 +01:00
Oliver Booth 31794a1238
feat: add rss icon to layout footer 2023-08-11 13:24:57 +01:00
Oliver Booth 69e1279a8b
refactor: remove redundant asp-area attr 2023-08-11 13:23:03 +01:00
Oliver Booth bb0483d4ae
refactor: rename index link 2023-08-11 02:27:17 +01:00
Oliver Booth 682b7c2a87
style: use meaningful placeholders 2023-08-11 02:27:07 +01:00
Oliver Booth 69963a5b81
style: swap roles of strong/underline 2023-08-11 02:26:56 +01:00
Oliver Booth ca31a63bb7
feat: use ViewData title in layout 2023-08-11 02:08:18 +01:00
Oliver Booth cbb7d07844
fix: add missing ViewData title assignment 2023-08-11 02:08:03 +01:00
Oliver Booth 1c73ada81c
style: use breadcrumbs for child contact pages 2023-08-11 02:07:39 +01:00
Oliver Booth 7219c948e6
refactor: remove weird namespace declspec 2023-08-11 02:07:13 +01:00
Oliver Booth 95b7ed0ae7
feat: create partial for spinner, register as handlebars template 2023-08-11 02:06:52 +01:00
Oliver Booth 06fab21cd5
feat: link to blog from index 2023-08-11 02:05:27 +01:00
Oliver Booth 3e3f074e63
style: use dynamic bmc button 2023-08-11 02:05:18 +01:00
Oliver Booth f048c619f3
style: reword donate page 2023-08-11 02:05:08 +01:00
Oliver Booth b2a7bf3536
feat: read ssl pem/key path from env 2023-08-10 23:33:15 +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 74e7187cba
chore: remove redundant NLog ref
this is implicitly ref'd by NLog.Extensions.Logging
2023-08-10 22:50:43 +01:00
Oliver Booth 8dd4468c1a
feat: gracefully shutdown logmanager on exit 2023-08-10 22:49:44 +01:00
Oliver Booth dcbc402bfb
refactor: remove redundant ns import 2023-08-10 22:49:15 +01:00
Oliver Booth 5bb6463a4b
fix: use manual Prism highlighting 2023-08-10 16:16:29 +01:00
Oliver Booth 4244f9f014
fix: add disqus comment counter after posts have loaded 2023-08-10 16:14:48 +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 f3ad04ff1f
feat: add disqus comment count injection to asp page 2023-08-10 15:15:36 +01:00
Oliver Booth 221a6f0007
fix: add missing method from BlogService 2023-08-10 14:37:52 +01:00
Oliver Booth 87c54fa5a4
fix: add missing ns import
amends 0b9841a724
2023-08-10 14:37:25 +01:00
Oliver Booth 217c1d660e
feat: use Handlebars to render template excerpt card 2023-08-10 14:36:51 +01:00
Oliver Booth 3868fcbaa8
feat: add pre-humanized timestamp to api schema 2023-08-10 14:34:52 +01:00
Oliver Booth aa69713e49
feat: add handlebars 4.7.8 2023-08-10 14:08:35 +01:00
Oliver Booth cb331ff54f
refactor: use - not _ for id word splitter 2023-08-10 14:08:22 +01:00
Oliver Booth 2036970fa2
fix: remove redundant article tag 2023-08-10 04:56:28 +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
Oliver Booth d11e3f616b
chore: move tsconfig to project root, add ES2020/DOM libs 2023-08-10 04:48:02 +01:00
Oliver Booth e64d8b47b8
feat: add support for Discord-style timestamps 2023-08-10 01:49:09 +01:00
Oliver Booth fa51e0a189
chore: use es2020 2023-08-10 00:29:31 +01:00
Oliver Booth 434c61d7fa
fix: remove non-existent css link 2023-08-10 00:29:24 +01:00
Oliver Booth 738bf1f3ba
feat: use emoji support 2023-08-09 23:19:39 +01:00
Oliver Booth 5c55318577
feat: use smarty pants extension 2023-08-09 23:19:29 +01:00
Oliver Booth 0b9841a724
refactor: simplify md pipeline 2023-08-09 23:19:19 +01:00