e0b236831b
feat: add LinkedIn to footer
2023-09-24 18:39:34 +01:00
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
f48713c470
feat: add tag filtering (resolves WEB-1)
2023-09-24 17:03:06 +01:00
856c33a74f
chore: add MailKit
2023-09-24 16:46:49 +01:00
dd2a0c027b
style: space footer nav instead of using bullet points
2023-09-24 16:44:36 +01:00
4b3e345a1b
style: add headshot image to index
2023-09-24 16:39:58 +01:00
6b1a75bfcc
feat: load projects from db
2023-09-24 14:37:38 +01:00
3076f58485
feat: add working privacy policy contact form
2023-09-24 00:04:44 +01:00
5283985026
style: add header to blog cards
2023-09-23 22:09:26 +01:00
a9c4b3a144
feat: display post tags
2023-09-23 22:08:25 +01:00
2ea52759b8
style: <mark> instead of <strong> for more visual clarity
2023-09-23 21:10:23 +01:00
7cad3204df
style: s/and/but
2023-09-23 21:10:02 +01:00
eb152aaa09
fix: fix typo in Discord
2023-09-22 16:47:28 +01:00
a75536d08b
fix: remove invalid @model ref for projects page
2023-09-22 14:57:21 +01:00
08eed3c71e
feat: add Other contact page submission
2023-09-22 14:57:04 +01:00
1a20749809
fix: allow arbitrary string input in starting salary
2023-09-20 17:56:15 +01:00
eed1e3ad8d
fix: use correct field names on project idea form
2023-09-20 17:56:01 +01:00
6ef492016c
refactor: remove your- prefix from form fields
2023-09-20 17:55:35 +01:00
bb088e3107
refactor: update projects, cancel Unity API docs
2023-09-20 17:20:41 +01:00
5558aecb5a
style: fix spacing on links in index
2023-09-20 14:50:43 +01:00
39b455caf0
refactor: call toString on numeric timestamp
2023-09-20 14:49:54 +01:00
9885bfaed9
feat: display private/unlisted alert for article
2023-09-20 14:49:02 +01:00
73f5e4e4a2
fix: use correct route for /blog?p= redirect
2023-09-20 14:48:26 +01:00
d114870f87
feat: add links to next and prev articles
2023-09-19 19:29:21 +01:00
2fd4b704cd
feat: add binaryformatter psa
2023-09-16 14:48:26 +01:00
7ae8a749d2
feat: add tutorials page
2023-09-16 14:48:14 +01:00
ffaa2b2fa4
fix(blog): fix rss permalink
2023-08-20 14:23:50 +01:00
0e583de316
feat(blog): add post visibility and password
2023-08-20 14:23:04 +01:00
06fd256ec8
refactor: remove redundant models for privacy policy pages
2023-08-20 13:30:11 +01:00
70bf8aca19
fix: add name to checkbox
2023-08-16 15:22:35 +01:00
bcbf963cd8
style: fix typo
2023-08-16 15:22:10 +01:00
1c044a9c96
style: fix typo on index page
2023-08-16 14:51:08 +01:00
b36a3207ca
docs(blog): use rename interface in param
2023-08-16 14:44:57 +01:00
f18ae5eba4
refactor(web): make dbcontext internal
2023-08-16 14:09:43 +01:00
9e2fa951f1
refactor: use PascalCase for asp-page routes
2023-08-16 14:08:33 +01:00
8202bb7440
style: reword open source text
2023-08-16 14:02:58 +01:00
09f3535d77
refactor: remove unused ns import
2023-08-15 17:07:49 +01:00
20eabeeb1e
refactor: remove unneeded log line
2023-08-15 17:06:00 +01:00
fe4701c1bf
chore(debug): set minlevel for DEBUG config
2023-08-15 17:05:16 +01:00
d9c6034aa0
fix(blog): link to relative index not root index
2023-08-15 17:04:58 +01:00
7ee9d3637c
feat: add support for template variants
2023-08-15 17:04:43 +01:00
1cdad4c17c
fix(blog): set post in ViewData for article
2023-08-14 00:58:58 +01:00
e7cbe0330b
feat: add post metadata for social embed support
2023-08-14 00:57:46 +01:00
9ce4b844fe
style: format RSS link child
2023-08-14 00:57:13 +01:00
c3e64a6cde
style: add theme-color #121212
2023-08-14 00:56:59 +01:00
adf9e63008
style: remove self-closing /
2023-08-14 00:56:45 +01:00
fdea721f4f
fix: fix support for inline templates
2023-08-14 00:56:05 +01:00
eb2a63e136
fix(blog): use tag helpers to generate href
2023-08-13 18:12:42 +01:00
193b2486a1
refactor(blog): use /blog prefix for article endpoints
2023-08-13 18:12:13 +01:00
dc83309db7
perf(blog): cache users
2023-08-13 18:03:08 +01:00
bbc76bc305
refactor(blog): use api controller for /blog/feed endpoint
2023-08-13 18:02:58 +01:00
369436ccce
refactor: use global templates
2023-08-13 18:02:19 +01:00
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
be44fb4b4b
chore: add per-project Dockerfile
2023-08-13 16:38:56 +01:00
f878bff8f3
refactor: use shared Markdig pipeline
2023-08-13 15:24:57 +01:00
6bbdd0a74d
fix: add missing ns import
2023-08-13 13:28:25 +01:00
287af40501
feat: share template system among all projects
2023-08-13 13:27:44 +01:00
bd5fd6114a
refactor: remove blog CORS policy from principal project
2023-08-13 13:11:50 +01:00
f60b9c754a
fix: remove ref to removed service
2023-08-13 00:53:22 +01:00
692d688dc3
refactor: remove unused config service
2023-08-12 22:38:28 +01:00
58799594ae
refactor: switch to serilog
2023-08-12 21:06:48 +01:00
1432c8e0f1
fix: amend 4c86a43a84
2023-08-12 20:41:14 +01:00
419aae741d
fix: use shared assets in root site
2023-08-12 20:40:46 +01:00
4c86a43a84
chore: remove redundant gitignore
2023-08-12 20:40:31 +01:00
a55c657d91
fix: add missing refs for blog project
2023-08-12 20:32:27 +01:00
86bbf803b5
feat: share wwwroot assets
2023-08-12 20:30:10 +01:00
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
b3fd6e9420
chore: add toml config to common lib
2023-08-12 19:04:18 +01:00
67231c86af
refactor: delegate ssl cert read to common lib
2023-08-12 18:35:57 +01:00
9b9143632a
refactor: remove ref to jquery validation lib
2023-08-12 16:49:37 +01:00
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
47b648f327
fix: fix markdown formatting inside templates
2023-08-11 21:51:16 +01:00
6f7fa67135
refactor: move DateFormatter to child ns
2023-08-11 21:34:04 +01:00
034bd66b29
feat: format template arguments
2023-08-11 21:33:14 +01:00
9d0e16abc1
feat: add CORS for /api/blog controller
2023-08-11 17:16:26 +01:00
415726cdcd
fix: add missing _ViewImports for blog area
2023-08-11 17:16:04 +01:00
0aee2aafbc
fix: add missing asp-area for article breadcrumb
2023-08-11 17:15:54 +01:00
cd0f38764d
fix: send charset=utf-8 for content-type header
2023-08-11 16:42:12 +01:00
7bd1c5a45a
refactor: remove redundant write of StatusCode
2023-08-11 16:41:53 +01:00
e9d9836238
refactor: move Template extension to subnamespace
2023-08-11 16:35:13 +01:00
049601a6fb
fix: remove explicit routing
2023-08-11 16:32:29 +01:00
54f3706ba0
refactor: move blog api controller to project root
2023-08-11 16:32:11 +01:00
143131b413
style: remove BOM
2023-08-11 15:51:20 +01:00
1a726b4962
style: format url as yyyy/MM/dd
2023-08-11 15:43:06 +01:00
becd70c865
fix: use area "blog" for page link
2023-08-11 15:42:48 +01:00
1bdd2a04f0
docs: add xmldoc in api controller
2023-08-11 15:41:02 +01:00
fb8848270f
refactor: remove unused ns imports
2023-08-11 14:29:26 +01:00
2844904723
fix: add missing _ViewStart to inherit shared layout
2023-08-11 14:27:38 +01:00
19a398d694
refactor: remove unused Post property
2023-08-11 14:27:13 +01:00
eb2edcb3f6
fix: amend 0ecef1a547
...
Forgot these two
2023-08-11 14:26:38 +01:00
2d4d6d3823
refactor: amend c2deccafae
...
Define new Area for blog
2023-08-11 14:26:21 +01:00
0ecef1a547
refactor: match db change from INT to UUID for pkeys
2023-08-11 14:09:13 +01:00
c2deccafae
refactor: move blog to new asp area
2023-08-11 14:08:14 +01:00
3c6a2209c2
style: remove self-closing tag
2023-08-11 13:52:43 +01:00
31794a1238
feat: add rss icon to layout footer
2023-08-11 13:24:57 +01:00
69e1279a8b
refactor: remove redundant asp-area attr
2023-08-11 13:23:03 +01:00
bb0483d4ae
refactor: rename index link
2023-08-11 02:27:17 +01:00
682b7c2a87
style: use meaningful placeholders
2023-08-11 02:27:07 +01:00
69963a5b81
style: swap roles of strong/underline
2023-08-11 02:26:56 +01:00
ca31a63bb7
feat: use ViewData title in layout
2023-08-11 02:08:18 +01:00
cbb7d07844
fix: add missing ViewData title assignment
2023-08-11 02:08:03 +01:00
1c73ada81c
style: use breadcrumbs for child contact pages
2023-08-11 02:07:39 +01:00
7219c948e6
refactor: remove weird namespace declspec
2023-08-11 02:07:13 +01:00
95b7ed0ae7
feat: create partial for spinner, register as handlebars template
2023-08-11 02:06:52 +01:00
06fab21cd5
feat: link to blog from index
2023-08-11 02:05:27 +01:00
3e3f074e63
style: use dynamic bmc button
2023-08-11 02:05:18 +01:00
f048c619f3
style: reword donate page
2023-08-11 02:05:08 +01:00
b2a7bf3536
feat: read ssl pem/key path from env
2023-08-10 23:33:15 +01:00
3e20e41565
refactor: use HttpGet for api routes
2023-08-10 22:57:24 +01:00
d3958fc22c
feat: validate referer on all routes
2023-08-10 22:56:49 +01:00
159e1ad65d
refactor: return Ok(...) instead of building a JsonResult
2023-08-10 22:55:52 +01:00
9d46d6495e
fix: 0-pad Published properties
2023-08-10 22:53:15 +01:00
d6c24d80c1
fix: remove stdout diagnostic print
2023-08-10 22:52:43 +01:00
74e7187cba
chore: remove redundant NLog ref
...
this is implicitly ref'd by NLog.Extensions.Logging
2023-08-10 22:50:43 +01:00
8dd4468c1a
feat: gracefully shutdown logmanager on exit
2023-08-10 22:49:44 +01:00
dcbc402bfb
refactor: remove redundant ns import
2023-08-10 22:49:15 +01:00
5bb6463a4b
fix: use manual Prism highlighting
2023-08-10 16:16:29 +01:00
4244f9f014
fix: add disqus comment counter after posts have loaded
2023-08-10 16:14:48 +01:00
506347ce9c
feat: add pre-formatted date "dddd, d MMMM yyyy HH:mm"
2023-08-10 15:32:34 +01:00
f3ad04ff1f
feat: add disqus comment count injection to asp page
2023-08-10 15:15:36 +01:00
221a6f0007
fix: add missing method from BlogService
2023-08-10 14:37:52 +01:00
87c54fa5a4
fix: add missing ns import
...
amends 0b9841a724
2023-08-10 14:37:25 +01:00
217c1d660e
feat: use Handlebars to render template excerpt card
2023-08-10 14:36:51 +01:00
3868fcbaa8
feat: add pre-humanized timestamp to api schema
2023-08-10 14:34:52 +01:00
aa69713e49
feat: add handlebars 4.7.8
2023-08-10 14:08:35 +01:00
cb331ff54f
refactor: use - not _ for id word splitter
2023-08-10 14:08:22 +01:00
2036970fa2
fix: remove redundant article tag
2023-08-10 04:56:28 +01:00
95dd7e51e5
perf: add dynamic fetch of blog posts to speed up page load
2023-08-10 04:56:12 +01:00
d11e3f616b
chore: move tsconfig to project root, add ES2020/DOM libs
2023-08-10 04:48:02 +01:00
e64d8b47b8
feat: add support for Discord-style timestamps
2023-08-10 01:49:09 +01:00
fa51e0a189
chore: use es2020
2023-08-10 00:29:31 +01:00
434c61d7fa
fix: remove non-existent css link
2023-08-10 00:29:24 +01:00
738bf1f3ba
feat: use emoji support
2023-08-09 23:19:39 +01:00
5c55318577
feat: use smarty pants extension
2023-08-09 23:19:29 +01:00
0b9841a724
refactor: simplify md pipeline
2023-08-09 23:19:19 +01:00
190e247067
feat: add /raw route to blog posts for markdown output
2023-08-09 23:17:16 +01:00
a138c38009
feat: add mastodon to footer
2023-08-09 22:13:09 +01:00
26b022f7ba
refactor: set OpeningChars for parser
2023-08-09 21:09:50 +01:00
2e17daea52
docs: add xmldoc to TemplateExtension
2023-08-09 21:09:32 +01:00
07071dc7a5
refactor: remove unused ns import
2023-08-09 21:09:14 +01:00
8a1cd689ea
feat: add rss output at route /blog/feed
2023-08-09 21:08:57 +01:00
6743918f44
fix: slice from initial index
2023-08-08 22:25:23 +01:00
030e5fdd3d
perf: inline redundant var
2023-08-08 22:25:06 +01:00
a6afe46891
fix: skip value read for key without =
2023-08-08 22:20:58 +01:00
6d8a1ac5b9
fix: consume token for template param value
2023-08-08 22:19:57 +01:00
dbbc18b8a6
perf: optimize and cleanup template parser
2023-08-08 22:18:42 +01:00
68bff36fa6
style: remove double blank line
2023-08-08 21:04:27 +01:00
aee4052954
docs: add xmldoc to BlogContext members
2023-08-08 21:04:13 +01:00
6af41cba5a
feat: add support for MediaWiki-style templates
2023-08-08 21:03:41 +01:00
da5fe30c7a
feat: add font awesome 6.4.2
2023-08-08 21:01:31 +01:00