Compare commits

...

11 Commits

17 changed files with 51 additions and 58 deletions

View File

@ -20,7 +20,7 @@ public sealed class BlogApiController : ControllerBase
/// Initializes a new instance of the <see cref="BlogApiController" /> class.
/// </summary>
/// <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)
{
_blogPostService = blogPostService;

View File

@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using OliverBooth.Data.Web.Configuration;
namespace OliverBooth.Data.Web;
@ -6,7 +6,7 @@ namespace OliverBooth.Data.Web;
/// <summary>
/// Represents a session with the web database.
/// </summary>
public sealed class WebContext : DbContext
internal sealed class WebContext : DbContext
{
private readonly IConfiguration _configuration;

View File

@ -18,7 +18,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="index">Blog</a>
<a asp-page="Index">Blog</a>
</li>
<li class="breadcrumb-item active" aria-current="page">@post.Title</li>
</ol>

View File

@ -6,11 +6,11 @@
<h1 class="display-4">Contact</h1>
<p class="lead">What would you like to talk about?</p>
<ul class="contact-reasons">
<li><a asp-page="/contact/jobopportunity">💼 Job opportunity / collaboration</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="/contact/technicalhelp">💬️ Technical help and code review</a></li>
<li><a asp-page="/contact/opensource">🌍 Open source contribution</a></li>
<li><a asp-page="/contact/privacy">🔒 Privacy policy concerns</a></li>
<li><a asp-page="/contact/other">❓ Misc / general inquiry</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="ProjectIdea">💡 Project idea</a></li>
<li><a asp-page="TechnicalHelp">💬️ Technical help and code review</a></li>
<li><a asp-page="OpenSource">🌍 Open source contribution</a></li>
<li><a asp-page="Privacy">🔒 Privacy policy concerns</a></li>
<li><a asp-page="Other">❓ Misc / general inquiry</a></li>
</ul>

View File

@ -6,7 +6,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Job Opportunity</li>
</ol>

View File

@ -6,22 +6,23 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Open Source Contribution</li>
</ol>
</nav>
<p>
Thank you for taking the time to consider contributing to one of my open source projects! I am always looking for
ways to improve my code, and I appreciate any and all contributions that I receive. You do not need to contact
me to do so, just submit a pull request on GitHub and I will review it as soon as I can.
Thank you for taking the time to consider contributing to one of my open source projects. I appreciate any and all
contributions that I receive. You do not need to contact me to do so, just submit a pull request on GitHub and I
will review it as soon as I can!
</p>
<p>
Below are links to the repositories for each of my active projects. This list is subject to change at any time. If
you'd like to contribute to a project that is not listed below, it is likely that I am not currently actively
maintaining it, 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.
Below is a <strong>non-exhaustive</strong> list of the repositories that are currently active. This list is subject
to change at any time, and may not be up to date. For a better gauge of what I am currently working on, please
visit my <a href="https://github.com/oliverbooth">GitHub profile</a>. If you would like to contribute to a project
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>
<ul>
<li>

View File

@ -6,7 +6,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Other</li>
</ol>

View File

@ -7,7 +7,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Privacy Policy Concerns</li>
</ol>

View File

@ -6,7 +6,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Project Idea</li>
</ol>
@ -31,7 +31,7 @@
<strong>
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
<a asp-page="/contact/jobopportunity">this one</a>.
<a asp-page="JobOpportunity">this one</a>.
</strong>
</p>
</div>
@ -45,7 +45,7 @@
</div>
<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?">
</div>
@ -60,7 +60,7 @@
</div>
<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">
I acknowledge and agree to the transfer of intellectual property rights as described above.
</label>

View File

@ -6,7 +6,7 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="/contact/index">Contact</a>
<a asp-page="Index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Technical Help</li>
</ol>

View File

@ -11,9 +11,12 @@
</p>
<p>
I've also written a few <a asp-page="/tutorials/index">tutorials</a> on various topics, usually involvin information
not readily available elsewhere. I hope you find them useful. On occasion, I also write about other 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>.
I've also written a few <a asp-page="/Tutorials/Index">tutorials</a> on various topics, usually involving
information not readily available elsewhere. I hope you find them useful. On occasion, I also write about other
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>
@ -22,4 +25,4 @@
<a href="https://play.google.com/store/apps/dev?id=9010459220239503006">Google Play</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>
<p>If you'd like to get in touch, you can do so by <a asp-page="/Contact/Index">clicking here</a>.</p>

View File

@ -8,7 +8,7 @@
<p class="lead">Last Updated: 26 May 2023</p>
<div class="alert alert-primary">
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>
<p>
@ -62,5 +62,5 @@
<h2>Contact Me</h2>
<p>
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>

View File

@ -8,7 +8,7 @@
<p class="lead">Last Updated: 26 May 2023</p>
<div class="alert alert-primary">
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>
<p>
@ -79,7 +79,7 @@
<h2>Contact Me</h2>
<p>
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>
<hr/>

View File

@ -58,22 +58,22 @@
<nav>
<ul class="site-nav">
<li>
<a asp-page="/index">About</a>
<a asp-page="/Index">About</a>
</li>
<li>
<a asp-page="/blog/index">Blog</a>
<a asp-page="/Blog/Index">Blog</a>
</li>
<li>
<a asp-page="/tutorials/index">Tutorials</a>
<a asp-page="/Tutorials/Index">Tutorials</a>
</li>
<li>
<a asp-page="/projects/index">Projects</a>
<a asp-page="/Projects/Index">Projects</a>
</li>
<li>
<a asp-page="/contact/index">Contact</a>
<a asp-page="/Contact/Index">Contact</a>
</li>
<li>
<a asp-page="/donate">Donate</a>
<a asp-page="/Donate">Donate</a>
</li>
</ul>
</nav>

View File

@ -251,4 +251,8 @@ a.bmc-btn {
.text-orange {
color: #f60 !important;
}
.accordion.faq {
margin: 20px 0;
}

View File

@ -218,7 +218,7 @@ class UI {
let content = block.innerHTML;
// but ugly fucking hack. I hate this
content = content.replaceAll("&lt;mark&gt;", "<mark>");
content = content.replaceAll(/&lt;mark(.*?)&gt;/g, "<mark$1>");
content = content.replaceAll("&lt;/mark&gt;", "</mark>");
block.innerHTML = content;
});

View File

@ -3,8 +3,6 @@ import UI from "./UI";
import Input from "./Input";
import Author from "./Author";
const pkg = require("../../package.json");
declare const Handlebars: any;
declare const Prism: any;
@ -12,7 +10,7 @@ declare const Prism: any;
Prism.languages.extend('markup', {});
Prism.languages.hex = {
'number': {
pattern: /(?:[a-f0-9]{3}){1,2}\b/i,
pattern: /(?:[a-fA-F0-9]{3}){1,2}\b/i,
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, () => {
window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "_blank");
});