83 lines
4.5 KiB
Plaintext
83 lines
4.5 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en" data-bs-theme="dark">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<meta name="color-scheme" content="dark"/>
|
|
<title>Oliver Booth</title>
|
|
<link rel="shortcut icon" href="~/img/favicon.png">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.1/css/bootstrap.min.css" integrity="sha512-Z/def5z5u2aR89OuzYcxmDJ0Bnd5V1cKqBEbvLOiUNWdg9PQeXVvXLI90SE4QOHGlfLqUnDNVAYyZi8UwUTmWQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" integrity="sha512-7nTa5CnxbzfQgjQrNmHXB7bxGTUVO/DcYX6rpgt06MkzM0rVXP3EYCv/Ojxg5H0dKbY7llbbYaqgfZjnGOAWGA==" crossorigin="anonymous" referrerpolicy="no-referrer">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" integrity="sha512-c42qTSw/wPZ3/5LBzD+Bw5f7bSF2oxou6wEb+I/lqeaKV5FDIfMvvRp772y4jcJLKuGUOpbJMdg/BTl50fJYAw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100;400;700&display=swap" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="~/css/prism.min.css" asp-append-version="true"/>
|
|
<link rel="stylesheet" href="~/css/prism.vs.min.css" asp-append-version="true">
|
|
<link rel="stylesheet" href="~/css/app.min.css" asp-append-version="true"/>
|
|
</head>
|
|
<body>
|
|
<header class="container" style="margin-top: 20px;">
|
|
<div id="site-title" class="text-center">
|
|
<h1>
|
|
<a href="/"><img src="~/img/ob-256x256.png" alt="Oliver Booth" height="128"> Oliver Booth</a>
|
|
</h1>
|
|
</div>
|
|
</header>
|
|
<nav>
|
|
<ul class="site-nav">
|
|
<li>
|
|
<a asp-page="/index">Home</a>
|
|
</li>
|
|
<li>
|
|
<a asp-page="/blog/index">Blog</a>
|
|
</li>
|
|
<li>
|
|
<a asp-page="/tutorials/index">Tutorials</a>
|
|
</li>
|
|
<li>
|
|
<a asp-page="/projects/index">Projects</a>
|
|
</li>
|
|
<li>
|
|
<a asp-page="/contact/index">Contact</a>
|
|
</li>
|
|
<li>
|
|
<a asp-page="/donate">Donate</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<div style="margin:50px 0;"></div>
|
|
|
|
<div class="container">
|
|
<main role="main" class="pb-3">
|
|
@RenderBody()
|
|
</main>
|
|
</div>
|
|
|
|
<footer class="footer text-muted">
|
|
<div class="container text-center">
|
|
© @DateTime.UtcNow.Year
|
|
•
|
|
<a asp-area="" asp-page="/privacy/index">Privacy</a>
|
|
•
|
|
<a href="https://mastodon.olivr.me/@@oliver" rel="me">Mastodon</a>
|
|
</div>
|
|
</footer>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.1/js/bootstrap.bundle.min.js" integrity="sha512-ToL6UYWePxjhDQKNioSi4AyJ5KkRxY+F1+Fi7Jgh0Hp5Kk2/s8FD7zusJDdonfe5B00Qw+B8taXxF6CFLnqNCw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.js" integrity="sha512-aoZChv+8imY/U1O7KIHXvO87EOzCuKO0GhFtpD6G2Cyjo/xPeTgdf3/bchB10iB+AojMTDkMHDPLKNxPJVqDcw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/js/all.min.js" integrity="sha512-uKQ39gEGiyUJl4AI6L+ekBdGKpGw4xJ55+xyJG7YFlJokPNYegn9KwQ3P8A7aFQAUtUsAQHep+d/lrGqrbPIDQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.8/handlebars.min.js" integrity="sha512-E1dSFxg+wsfJ4HKjutk/WaCzK7S2wv1POn1RRPGh8ZK+ag9l244Vqxji3r6wgz9YBf6+vhQEYJZpSjqWFPg9gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="~/js/prism.min.js" asp-append-version="true" data-manual></script>
|
|
<script src="~/js/app.min.js" asp-append-version="true"></script>
|
|
|
|
<script id="loading-spinner-template" type="text/x-handlebars-template">
|
|
@await Html.PartialAsync("_LoadingSpinner")
|
|
</script>
|
|
|
|
@await RenderSectionAsync("Scripts", required: false)
|
|
</body>
|
|
</html> |