Commit Graph

194 Commits

Author SHA1 Message Date
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
Oliver Booth 190e247067
feat: add /raw route to blog posts for markdown output 2023-08-09 23:17:16 +01:00
Oliver Booth a138c38009
feat: add mastodon to footer 2023-08-09 22:13:09 +01:00
Oliver Booth 26b022f7ba
refactor: set OpeningChars for parser 2023-08-09 21:09:50 +01:00
Oliver Booth 2e17daea52
docs: add xmldoc to TemplateExtension 2023-08-09 21:09:32 +01:00
Oliver Booth 07071dc7a5
refactor: remove unused ns import 2023-08-09 21:09:14 +01:00
Oliver Booth 8a1cd689ea
feat: add rss output at route /blog/feed 2023-08-09 21:08:57 +01:00
Oliver Booth 6743918f44
fix: slice from initial index 2023-08-08 22:25:23 +01:00
Oliver Booth 030e5fdd3d
perf: inline redundant var 2023-08-08 22:25:06 +01:00
Oliver Booth a6afe46891
fix: skip value read for key without = 2023-08-08 22:20:58 +01:00
Oliver Booth 6d8a1ac5b9
fix: consume token for template param value 2023-08-08 22:19:57 +01:00
Oliver Booth dbbc18b8a6
perf: optimize and cleanup template parser 2023-08-08 22:18:42 +01:00
Oliver Booth 68bff36fa6
style: remove double blank line 2023-08-08 21:04:27 +01:00
Oliver Booth aee4052954
docs: add xmldoc to BlogContext members 2023-08-08 21:04:13 +01:00
Oliver Booth 6af41cba5a
feat: add support for MediaWiki-style templates 2023-08-08 21:03:41 +01:00
Oliver Booth da5fe30c7a
feat: add font awesome 6.4.2 2023-08-08 21:01:31 +01:00
Oliver Booth 0fa43704ea
style: add alt to author image, reorder anchor attrs 2023-08-08 21:01:13 +01:00
Oliver Booth 77288a0ab5
feat: add operator== for BlogPost 2023-08-08 12:47:34 +01:00
Oliver Booth 4d10fd4ea1
docs: add xmldoc to members 2023-08-08 12:47:21 +01:00
Oliver Booth 50a25dad6f
chore: suppress NonReadonlyMemberInGetHashCode 2023-08-08 12:47:05 +01:00
Oliver Booth 2ef1e47ece
style: order members alphabetically 2023-08-08 12:46:52 +01:00