Compare commits

..

No commits in common. "9295c4a8489763cefae641ea964f7c91b816a719" and "09f3535d775a4a738ab50b874e1348bcec1e4cfa" have entirely different histories.

17 changed files with 58 additions and 51 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="IBlogUserService" />.</param>
/// <param name="userService">The <see cref="IUserService" />.</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>
internal sealed class WebContext : DbContext
public 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="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>
<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>
</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="Index">Contact</a>
<a asp-page="/contact/index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Job Opportunity</li>
</ol>

View File

@ -6,23 +6,22 @@
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a asp-page="Index">Contact</a>
<a asp-page="/contact/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 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 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.
</p>
<p>
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.
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.
</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="Index">Contact</a>
<a asp-page="/contact/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="Index">Contact</a>
<a asp-page="/contact/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="Index">Contact</a>
<a asp-page="/contact/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="JobOpportunity">this one</a>.
<a asp-page="/contact/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 Address</label>
<label for="project-title">Your Email Adddress</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" id="agreement-checkbox" name="agreement-checkbox" required>
<input class="form-check-input" type="checkbox" value="" id="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="Index">Contact</a>
<a asp-page="/contact/index">Contact</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Technical Help</li>
</ol>

View File

@ -11,12 +11,9 @@
</p>
<p>
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>.
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>.
</p>
<p>
@ -25,4 +22,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,8 +251,4 @@ 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;/g, "<mark$1>");
content = content.replaceAll("&lt;mark&gt;", "<mark>");
content = content.replaceAll("&lt;/mark&gt;", "</mark>");
block.innerHTML = content;
});

View File

@ -3,6 +3,8 @@ 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;
@ -10,7 +12,7 @@ declare const Prism: any;
Prism.languages.extend('markup', {});
Prism.languages.hex = {
'number': {
pattern: /(?:[a-fA-F0-9]{3}){1,2}\b/i,
pattern: /(?:[a-f0-9]{3}){1,2}\b/i,
lookbehind: true
}
};
@ -27,6 +29,19 @@ 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");
});