Compare commits
11 Commits
09f3535d77
...
9295c4a848
Author | SHA1 | Date | |
---|---|---|---|
9295c4a848 | |||
70bf8aca19 | |||
bcbf963cd8 | |||
7dc9c4c6f7 | |||
e5fd4b106e | |||
1c044a9c96 | |||
b36a3207ca | |||
f18ae5eba4 | |||
9e2fa951f1 | |||
8202bb7440 | |||
1e1f67b9b4 |
@ -20,7 +20,7 @@ public sealed class BlogApiController : ControllerBase
|
|||||||
/// Initializes a new instance of the <see cref="BlogApiController" /> class.
|
/// Initializes a new instance of the <see cref="BlogApiController" /> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="blogPostService">The <see cref="IBlogPostService" />.</param>
|
/// <param name="blogPostService">The <see cref="IBlogPostService" />.</param>
|
||||||
/// <param name="userService">The <see cref="IUserService" />.</param>
|
/// <param name="userService">The <see cref="IBlogUserService" />.</param>
|
||||||
public BlogApiController(IBlogPostService blogPostService, IBlogUserService userService)
|
public BlogApiController(IBlogPostService blogPostService, IBlogUserService userService)
|
||||||
{
|
{
|
||||||
_blogPostService = blogPostService;
|
_blogPostService = blogPostService;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using OliverBooth.Data.Web.Configuration;
|
using OliverBooth.Data.Web.Configuration;
|
||||||
|
|
||||||
namespace OliverBooth.Data.Web;
|
namespace OliverBooth.Data.Web;
|
||||||
@ -6,7 +6,7 @@ namespace OliverBooth.Data.Web;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents a session with the web database.
|
/// Represents a session with the web database.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class WebContext : DbContext
|
internal sealed class WebContext : DbContext
|
||||||
{
|
{
|
||||||
private readonly IConfiguration _configuration;
|
private readonly IConfiguration _configuration;
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="index">Blog</a>
|
<a asp-page="Index">Blog</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">@post.Title</li>
|
<li class="breadcrumb-item active" aria-current="page">@post.Title</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
<h1 class="display-4">Contact</h1>
|
<h1 class="display-4">Contact</h1>
|
||||||
<p class="lead">What would you like to talk about?</p>
|
<p class="lead">What would you like to talk about?</p>
|
||||||
<ul class="contact-reasons">
|
<ul class="contact-reasons">
|
||||||
<li><a asp-page="/contact/jobopportunity">💼 Job opportunity / collaboration</a></li>
|
<li><a asp-page="JobOpportunity">💼 Job opportunity / collaboration</a></li>
|
||||||
<li><a asp-page="/donate">☕ Donate money for coffee</a></li>
|
<li><a asp-page="/Donate">☕ Donate money for coffee</a></li>
|
||||||
<li><a asp-page="/contact/projectidea">💡 Project idea</a></li>
|
<li><a asp-page="ProjectIdea">💡 Project idea</a></li>
|
||||||
<li><a asp-page="/contact/technicalhelp">💬️ Technical help and code review</a></li>
|
<li><a asp-page="TechnicalHelp">💬️ Technical help and code review</a></li>
|
||||||
<li><a asp-page="/contact/opensource">🌍 Open source contribution</a></li>
|
<li><a asp-page="OpenSource">🌍 Open source contribution</a></li>
|
||||||
<li><a asp-page="/contact/privacy">🔒 Privacy policy concerns</a></li>
|
<li><a asp-page="Privacy">🔒 Privacy policy concerns</a></li>
|
||||||
<li><a asp-page="/contact/other">❓ Misc / general inquiry</a></li>
|
<li><a asp-page="Other">❓ Misc / general inquiry</a></li>
|
||||||
</ul>
|
</ul>
|
@ -6,7 +6,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Job Opportunity</li>
|
<li class="breadcrumb-item active" aria-current="page">Job Opportunity</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -6,22 +6,23 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Open Source Contribution</li>
|
<li class="breadcrumb-item active" aria-current="page">Open Source Contribution</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Thank you for taking the time to consider contributing to one of my open source projects! I am always looking for
|
Thank you for taking the time to consider contributing to one of my open source projects. I appreciate any and all
|
||||||
ways to improve my code, and I appreciate any and all contributions that I receive. You do not need to contact
|
contributions that I receive. You do not need to contact me to do so, just submit a pull request on GitHub and I
|
||||||
me to do so, just submit a pull request on GitHub and I will review it as soon as I can.
|
will review it as soon as I can!
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Below are links to the repositories for each of my active projects. This list is subject to change at any time. If
|
Below is a <strong>non-exhaustive</strong> list of the repositories that are currently active. This list is subject
|
||||||
you'd like to contribute to a project that is not listed below, it is likely that I am not currently actively
|
to change at any time, and may not be up to date. For a better gauge of what I am currently working on, please
|
||||||
maintaining it, I would recommend that you fork the repository and continue development on your own as unfortunately
|
visit my <a href="https://github.com/oliverbooth">GitHub profile</a>. If you would like to contribute to a project
|
||||||
I have no timeline as to when I will start such projects back up again.
|
that is not in active development, I would recommend that you fork the repository and continue development on your
|
||||||
|
own as unfortunately I have no timeline as to when I will start such projects back up again.
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Other</li>
|
<li class="breadcrumb-item active" aria-current="page">Other</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Privacy Policy Concerns</li>
|
<li class="breadcrumb-item active" aria-current="page">Privacy Policy Concerns</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Project Idea</li>
|
<li class="breadcrumb-item active" aria-current="page">Project Idea</li>
|
||||||
</ol>
|
</ol>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
<strong>
|
<strong>
|
||||||
If this is not something you want, and you'd like to collaborate, please
|
If this is not something you want, and you'd like to collaborate, please
|
||||||
<span style="text-decoration: underline">do not</span> use this form, instead, please use
|
<span style="text-decoration: underline">do not</span> use this form, instead, please use
|
||||||
<a asp-page="/contact/jobopportunity">this one</a>.
|
<a asp-page="JobOpportunity">this one</a>.
|
||||||
</strong>
|
</strong>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@ -45,7 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group" style="margin-top: 10px;">
|
<div class="form-group" style="margin-top: 10px;">
|
||||||
<label for="project-title">Your Email Adddress</label>
|
<label for="project-title">Your Email Address</label>
|
||||||
<input type="email" class="form-control" id="email" name="project-title" placeholder="How can I reach you, if I need to?">
|
<input type="email" class="form-control" id="email" name="project-title" placeholder="How can I reach you, if I need to?">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -60,7 +60,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-check" style="margin-top: 10px;">
|
<div class="form-check" style="margin-top: 10px;">
|
||||||
<input class="form-check-input" type="checkbox" value="" id="agreement-checkbox" required>
|
<input class="form-check-input" type="checkbox" id="agreement-checkbox" name="agreement-checkbox" required>
|
||||||
<label class="form-check-label" for="agreement-checkbox">
|
<label class="form-check-label" for="agreement-checkbox">
|
||||||
I acknowledge and agree to the transfer of intellectual property rights as described above.
|
I acknowledge and agree to the transfer of intellectual property rights as described above.
|
||||||
</label>
|
</label>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="breadcrumb-item active" aria-current="page">Technical Help</li>
|
<li class="breadcrumb-item active" aria-current="page">Technical Help</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -11,9 +11,12 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
I've also written a few <a asp-page="/tutorials/index">tutorials</a> on various topics, usually involvin information
|
I've also written a few <a asp-page="/Tutorials/Index">tutorials</a> on various topics, usually involving
|
||||||
not readily available elsewhere. I hope you find them useful. On occasion, I also write about other topics that I
|
information not readily available elsewhere. I hope you find them useful. On occasion, I also write about other
|
||||||
find interesting, such as <a asp-page="/blog/index">my thoughts on the state of the world or the tech industry</a>.
|
topics that I find interesting, such as
|
||||||
|
<a asp-page="/Blog/Index">
|
||||||
|
my thoughts on the state of the world or the tech industry
|
||||||
|
</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -22,4 +25,4 @@
|
|||||||
<a href="https://play.google.com/store/apps/dev?id=9010459220239503006">Google Play</a>.
|
<a href="https://play.google.com/store/apps/dev?id=9010459220239503006">Google Play</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>If you'd like to get in touch, you can do so by <a asp-page="/contact/index">clicking here</a>.</p>
|
<p>If you'd like to get in touch, you can do so by <a asp-page="/Contact/Index">clicking here</a>.</p>
|
@ -8,7 +8,7 @@
|
|||||||
<p class="lead">Last Updated: 26 May 2023</p>
|
<p class="lead">Last Updated: 26 May 2023</p>
|
||||||
<div class="alert alert-primary">
|
<div class="alert alert-primary">
|
||||||
This Privacy Policy differs from the policy that applies to this website. For this website's privacy policy, please
|
This Privacy Policy differs from the policy that applies to this website. For this website's privacy policy, please
|
||||||
<a asp-page="/privacy/index">click here</a>.
|
<a asp-page="/Privacy/Index">click here</a>.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -62,5 +62,5 @@
|
|||||||
<h2>Contact Me</h2>
|
<h2>Contact Me</h2>
|
||||||
<p>
|
<p>
|
||||||
If you have any questions or concerns about this Privacy Policy or my privacy practices, please
|
If you have any questions or concerns about this Privacy Policy or my privacy practices, please
|
||||||
<a asp-page="/contact/privacy" asp-route-which="google-play">get in touch</a>.
|
<a asp-page="/Contact/Privacy" asp-route-which="google-play">get in touch</a>.
|
||||||
</p>
|
</p>
|
@ -8,7 +8,7 @@
|
|||||||
<p class="lead">Last Updated: 26 May 2023</p>
|
<p class="lead">Last Updated: 26 May 2023</p>
|
||||||
<div class="alert alert-primary">
|
<div class="alert alert-primary">
|
||||||
This Privacy Policy differs from the policy that applies to my applications published to Google Play. For my
|
This Privacy Policy differs from the policy that applies to my applications published to Google Play. For my
|
||||||
applications' privacy policy, please <a asp-page="/privacy/googleplay">click here</a>.
|
applications' privacy policy, please <a asp-page="/Privacy/GooglePlay">click here</a>.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -79,7 +79,7 @@
|
|||||||
<h2>Contact Me</h2>
|
<h2>Contact Me</h2>
|
||||||
<p>
|
<p>
|
||||||
If you have any questions or concerns about this Privacy Policy or my privacy practices, please
|
If you have any questions or concerns about this Privacy Policy or my privacy practices, please
|
||||||
<a asp-page="/contact/privacy" asp-route-which="website">get in touch</a>.
|
<a asp-page="/Contact/Privacy" asp-route-which="website">get in touch</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
|
@ -58,22 +58,22 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<ul class="site-nav">
|
<ul class="site-nav">
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/index">About</a>
|
<a asp-page="/Index">About</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/blog/index">Blog</a>
|
<a asp-page="/Blog/Index">Blog</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/tutorials/index">Tutorials</a>
|
<a asp-page="/Tutorials/Index">Tutorials</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/projects/index">Projects</a>
|
<a asp-page="/Projects/Index">Projects</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/contact/index">Contact</a>
|
<a asp-page="/Contact/Index">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a asp-page="/donate">Donate</a>
|
<a asp-page="/Donate">Donate</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -252,3 +252,7 @@ a.bmc-btn {
|
|||||||
.text-orange {
|
.text-orange {
|
||||||
color: #f60 !important;
|
color: #f60 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accordion.faq {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
@ -218,7 +218,7 @@ class UI {
|
|||||||
let content = block.innerHTML;
|
let content = block.innerHTML;
|
||||||
|
|
||||||
// but ugly fucking hack. I hate this
|
// but ugly fucking hack. I hate this
|
||||||
content = content.replaceAll("<mark>", "<mark>");
|
content = content.replaceAll(/<mark(.*?)>/g, "<mark$1>");
|
||||||
content = content.replaceAll("</mark>", "</mark>");
|
content = content.replaceAll("</mark>", "</mark>");
|
||||||
block.innerHTML = content;
|
block.innerHTML = content;
|
||||||
});
|
});
|
||||||
|
@ -3,8 +3,6 @@ import UI from "./UI";
|
|||||||
import Input from "./Input";
|
import Input from "./Input";
|
||||||
import Author from "./Author";
|
import Author from "./Author";
|
||||||
|
|
||||||
const pkg = require("../../package.json");
|
|
||||||
|
|
||||||
declare const Handlebars: any;
|
declare const Handlebars: any;
|
||||||
declare const Prism: any;
|
declare const Prism: any;
|
||||||
|
|
||||||
@ -12,7 +10,7 @@ declare const Prism: any;
|
|||||||
Prism.languages.extend('markup', {});
|
Prism.languages.extend('markup', {});
|
||||||
Prism.languages.hex = {
|
Prism.languages.hex = {
|
||||||
'number': {
|
'number': {
|
||||||
pattern: /(?:[a-f0-9]{3}){1,2}\b/i,
|
pattern: /(?:[a-fA-F0-9]{3}){1,2}\b/i,
|
||||||
lookbehind: true
|
lookbehind: true
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -29,19 +27,6 @@ declare const Prism: any;
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let isCtrl = false;
|
|
||||||
document.addEventListener('keyup', (e) => {
|
|
||||||
if (e.ctrlKey) isCtrl = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
document.addEventListener('keydown', (e) => {
|
|
||||||
if (e.ctrlKey) isCtrl = true;
|
|
||||||
if (isCtrl && e.key === "u") {
|
|
||||||
window.open(pkg.repository.url, "_blank");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Input.registerShortcut(Input.KONAMI_CODE, () => {
|
Input.registerShortcut(Input.KONAMI_CODE, () => {
|
||||||
window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "_blank");
|
window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "_blank");
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user