new site
This commit is contained in:
1 parent
6119e000a5
commit
390a746fec
17 files changed
+768
-282
No files matched your search
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
Executable
+56
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="110.58241mm"
|
||||
height="110.58241mm"
|
||||
viewBox="0 0 110.58241 110.58241"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||
sodipodi:docname="icon.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="0.7376459"
|
||||
inkscape:cx="358.57313"
|
||||
inkscape:cy="302.99091"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1380"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" /><defs
|
||||
id="defs1" /><g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-51.994026,-45.906918)"><rect
|
||||
style="fill:none;fill-opacity:1;stroke-width:1.32595"
|
||||
id="rect1"
|
||||
width="110.58241"
|
||||
height="110.58241"
|
||||
x="51.994026"
|
||||
y="45.906918"
|
||||
inkscape:export-filename="icon-400x400.png"
|
||||
inkscape:export-xdpi="91.877167"
|
||||
inkscape:export-ydpi="91.877167" /><image
|
||||
width="162.95058"
|
||||
height="91.659683"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAADo08FDAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9 kT1Iw0AcxV/TSkUqRewg4pChOlkQFXGUKhbBQmkrtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB 8APE0clJ0UVK/F9SaBHjwXE/3t173L0DhGaVqWZgAlA1y0gn4mIuvyoGXxFAGH4MABIz9WRmMQvP 8XUPH1/vYjzL+9yfo18pmAzwicRzTDcs4g3imU1L57xPHGFlSSE+Jx436ILEj1yXXX7jXHJY4JkR I5ueJ44Qi6UulruYlQ2VeJo4qqga5Qs5lxXOW5zVap2178lfGCpoKxmu0xxBAktIIgURMuqooAoL MVo1UkykaT/u4R92/ClyyeSqgJFjATWokBw/+B/87tYsTk26SaE40PNi2x+jQHAXaDVs+/vYtlsn gP8ZuNI6/loTmP0kvdHRokdAeBu4uO5o8h5wuQMMPemSITmSn6ZQLALvZ/RNeWDwFuhbc3tr7+P0 AchSV8s3wMEhMFai7HWPd/d29/bvmXZ/P/DicnNG6xVaAAAABmJLR0QAbQBtAG3r7U0VAAAACXBI WXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5gQPEy4qb/Y5egAAABl0RVh0Q29tbWVudABDcmVhdGVk IHdpdGggR0lNUFeBDhcAACAASURBVHja7N3Jb6TXnub353feGDgmyZxHpZSSeG/d27dvVQPVld1l A+VaGH0Bwri34X3VvhfVQP8dXgiGN14Y0sZLdzc6gfbCC+8s24DRntQwa9AtKZVKKScOQUa80zle nHPyfRliakxmMjO/H+hVkMHgFPFGMDKe9/kdCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 /znkfGO1H/z2xzr3RLine truncated
|
||||
id="image1"
|
||||
x="29.755487"
|
||||
y="50.346672" /></g></svg>
|
||||
|
After Width: | Height: | Size: 269 KiB |
Executable
+70
@@ -0,0 +1,70 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Critterfolio</title>
|
||||
<link rel="icon" href="icon.svg">
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f9f9f9;
|
||||
color: #333;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
padding: 2rem;
|
||||
max-width: 400px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 200px;
|
||||
height: auto;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3rem;
|
||||
margin-bottom: 2rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.download-button {
|
||||
display: inline-block;
|
||||
background-color: #007AFF;
|
||||
color: white;
|
||||
padding: 12px 24px;
|
||||
border-radius: 8px;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.download-button:hover {
|
||||
background-color: #005ecb;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>CritterFolio</h1>
|
||||
<img src="icon.svg" alt="Critterfolio Logo" class="logo">
|
||||
<h3>A simple application for managing all of your critters!</h3>
|
||||
<h2>Downloads</h1>
|
||||
<a href="critterfolio.apk" class="download-button">Download for Android</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+176
@@ -0,0 +1,176 @@
|
||||
:root {
|
||||
--color-background: #010101;
|
||||
--color-foreground: #4d6e8d;
|
||||
|
||||
--frame-spacing: 15px;
|
||||
--frame-border-radius: 10px;
|
||||
|
||||
--main-view-width: 80vw;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: var(--color-background);
|
||||
color: var(--color-foreground);
|
||||
}
|
||||
|
||||
#page-heading {
|
||||
font-size: 30pt;
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
letter-spacing: 0.10em;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
#main {
|
||||
width: 90vw !important;
|
||||
}
|
||||
#page-heading {
|
||||
font-size: 20pt;
|
||||
}
|
||||
}
|
||||
|
||||
#main {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 100px;
|
||||
width: var(--main-view-width);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: stretch;
|
||||
padding: 20px;
|
||||
gap: var(--frame-spacing);
|
||||
margin-inline: auto;
|
||||
}
|
||||
#main > * {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
#tui-status-bar {
|
||||
width: 100vw;
|
||||
border-top: 2px solid var(--color-foreground);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background-color: var(--color-background);
|
||||
color: var(--color-foreground);
|
||||
padding: 20px;
|
||||
max-height: 30px;
|
||||
display: flex;
|
||||
font-size: 10pt;
|
||||
}
|
||||
#tui-status-bar p {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
#tui-status-bar p::before {
|
||||
content: ':';
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
|
||||
/* TUI FRAME */
|
||||
|
||||
.tui-frame {
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 20px;
|
||||
border: 2px solid var(--color-foreground);
|
||||
border-radius: var(--frame-border-radius);
|
||||
position: relative;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.tui-frame-header {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
transform: translateY(-50%);
|
||||
background-color: var(--color-background);
|
||||
padding: 0 10px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.15em;
|
||||
}
|
||||
|
||||
.tui-frame-content * {
|
||||
font-size: 14pt;
|
||||
/* display: block; */
|
||||
}
|
||||
|
||||
.tui-frame-content p {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.tui-frame-content h2 {
|
||||
font-size: 19pt;
|
||||
font-style: italic;
|
||||
letter-spacing: 0.15em;
|
||||
text-transform: uppercase;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.tui-frame-content h2::before {
|
||||
content: '//';
|
||||
}
|
||||
|
||||
.tui-frame-content li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 5px;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.tui-frame-content li::before {
|
||||
content: "*";
|
||||
display: inline;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.tui-frame-single-image {
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.tui-frame-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 10px;
|
||||
gap: 10px;
|
||||
}
|
||||
.tui-frame-section * {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* CONTROLS */
|
||||
button {
|
||||
color: var(--color-foreground);
|
||||
background-color: transparent;
|
||||
border: 2px solid var(--color-foreground);
|
||||
padding: 5px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
button:hover {
|
||||
transform: scale(1.05, 1.05);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: underline;
|
||||
color: var(--color-foreground);
|
||||
font-style: italic;
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
input {
|
||||
color: var(--color-foreground);
|
||||
background-color: transparent;
|
||||
border: 2px solid var(--color-foreground);
|
||||
padding: 5px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="hex-logo.animate.css">
|
||||
<title>Hex Logo Animation Test</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="hex-svg">
|
||||
<svg width="400" height="400" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="hex-logo">
|
||||
<g id="hex-logo-h">
|
||||
<path id="rect850" d="M15.7479 34.5518H11.5634V62.4482H15.7479V34.5518Z" fill="black"/>
|
||||
<path id="rect852" d="M22.722 50.5923V46.4078H11.5634V50.5923H22.722Z" fill="black"/>
|
||||
<path id="rect854" d="M30.8119 34.5517H26.6274V62.4481H30.8119V34.5517Z" fill="black"/>
|
||||
</g>
|
||||
<g id="hex-logo-e">
|
||||
<path id="rect856" d="M40.065 34.5518H35.8805V62.4482H40.065V34.5518Z" fill="black"/>
|
||||
<path id="rect858" d="M51.2235 50.5923V46.4078H42.8546V50.5923H51.2235Z" fill="black"/>
|
||||
<path id="rect860" d="M51.2235 38.7363V34.5518H35.8805V38.7363H51.2235Z" fill="black"/>
|
||||
<path id="rect864" d="M51.2235 62.4482V58.2637H35.8805V62.4482H51.2235Z" fill="black"/>
|
||||
</g>
|
||||
<path id="hex-logo-hexagon" d="M62.8316 61.5916C62.6287 61.2394 61.3368 59.0007 59.9609 56.6166C57.5437 52.4282 55.71 49.2333 55.4309 48.7242L55.2963 48.4785L55.5171 48.0747C55.7907 47.5738 56.1847 46.8861 57.8597 43.9856C59.0777 41.8765 63.0011 35.0864 63.1156 34.8896L63.1651 34.8042L67.1282 34.7815C69.3078 34.7702 72.8948 34.7626 75.0992 34.7702L79.1072 34.7815L80.2735 36.8109C80.915 37.9271 82.5723 40.8034 83.9565 43.2027C86.4771 47.5721 86.9074 48.3293 86.9395 48.4529C86.9584 48.5258 86.7985 48.827 86.0349 50.1569C85.5828 50.9448 80.6853 59.4294 79.6327 61.2485L79.0862 62.1929L75.4324 62.2155C73.4228 62.2268 69.8486 62.2382 67.4897 62.2344L63.2009 62.2335L62.8316 61.5916ZM78.5288 61.0404C78.5666 60.9735 79.6892 59.0267 81.0255 56.714C82.3618 54.4013 83.9743 51.6106 84.6088 50.5123C85.2432 49.4141 85.7621 48.5008 85.7619 48.4829C85.7616 48.4602 80.94 40.0826 78.7059 36.2251L78.4897 35.8516L71.1537 35.829C67.119 35.8177 63.8084 35.8177 63.797 35.829C63.7857 35.8404 62.4908 38.0789 60.9197 40.8024C59.3486 43.5258 57.7105 46.3648 57.2794 47.1112C56.8484 47.8576 56.4957 48.4742 56.4957 48.4813C56.4957 48.4888 56.9287 49.2439 57.4579 50.1602C57.987 51.0764 59.5632 53.806 60.9605 56.2259C62.3578 58.6457 63.5717 60.7461 63.6581 60.8934L63.8153 61.1614L71.1387 61.1611L78.4621 61.1609L78.529 61.0396L78.5288 61.0404Z" fill="black" stroke="black" stroke-width="0.986869" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path id="hex-logo-greater" d="M64.63 40.7631L69.5655 47.7179L70.1206 48.5001L69.5655 49.2823L64.63 56.2371L64.0749 55.4549L69.0104 48.5001L64.0749 41.5454L64.63 40.7631Z" fill="black" stroke="black" stroke-width="0.725197"/>
|
||||
<path id="hex-logo-lesser" d="M77.6163 40.7631L72.6808 47.7179L72.1257 48.5001L72.6808 49.2823L77.6163 56.2371L78.1715 55.4549L73.2359 48.5001L78.1715 41.5454L77.6163 40.7631Z" fill="black" stroke="black" stroke-width="0.725197"/>
|
||||
<rect id="hex-logo-slash" x="50" y="50" width="1.5" height="13" fill="black"/>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+156
@@ -0,0 +1,156 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="css/main.css">
|
||||
<script type="module" src="scripts/main.js"></script>
|
||||
<title>// HEX STUDIOS //</title>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<div id="main">
|
||||
|
||||
<h1 id="page-heading">// HEX STUDIOS //</h1>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">WELCOME</h2>
|
||||
<div class="tui-frame-content">
|
||||
<p>Hello! My name is Chris. Welcome to my personal portfolio site!</p>
|
||||
<h2>About Me</h2>
|
||||
<p>I am a husband, programmer, musician, and all around nerd! I like to make games and software, as well as tinker with robots and motorcycles. I am a huge advocate for FOSS (Free and Open Source Software), a Linux user for well over 12 years, and a novice homelabber.</p>
|
||||
<p>I am primarily a Software Engineer by trade with a Bachelor's in Sotware Engineering and ~5 years of professional experience, where the majority of my knowledge is in C#/.NET, XAML, and HTML/CSS. I am also proficient in many other languages like Odin, C/C++, Java, QML, and JavaScript.</p>
|
||||
<p>I am also the CEO and Co-Founder of <a href="https://bellsworne.com">Bellsworne LLC.</a> with my wife Alex.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">IMAGE</h2>
|
||||
<div class="tui-frame-content">
|
||||
<img class="tui-frame-single-image" src="res/chris2.jpg" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">credentials</h2>
|
||||
<div class="tui-frame-content">
|
||||
<h2>Education</h2>
|
||||
<ul>
|
||||
<li>Bachelors, Software Engineering - 2026</li>
|
||||
<li>Associates, Computer Science - 2022</li>
|
||||
</ul>
|
||||
<h2>Experience</h2>
|
||||
<ul>
|
||||
<li>Software Engineer (C#, .NET, Unity) - 4 years</li>
|
||||
<li>Computer Technician (Repair, IT) - 2 years</li>
|
||||
</ul>
|
||||
<h2>Certs</h2>
|
||||
<ul>
|
||||
<li>CompTIA Project+</li>
|
||||
<li>AWS Certified Cloud Practitioner</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">LINKS</h2>
|
||||
<div class="tui-frame-content">
|
||||
<ul>
|
||||
<li><a href="https://git.bellsworne.tech">Git repos</a></li>
|
||||
<li><a href="https://bellsworne.com">Bellsworne</a></li>
|
||||
<li><a href="https://youtube.com/@hexstudios">Youtube</a></li>
|
||||
<li><a href="https://www.linkedin.com/in/christopher-i-bell/">LinkedIn</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">SITE SETTINGS</h2>
|
||||
<div class="tui-frame-content">
|
||||
<p>Change site colors, spacing, and borders</p>
|
||||
<div class="tui-frame-section" id="settings-form">
|
||||
<label for="foreground-setting">Foreground Color</label>
|
||||
<input type="text" name="foreground-setting" id="foreground-setting">
|
||||
|
||||
<label for="background-setting">Background Color</label>
|
||||
<input type="text" name="background-setting" id="background-setting">
|
||||
|
||||
<label for="frame-spacing-setting">Frame Spacing</label>
|
||||
<input type="number" name="frame-spacing-setting" id="frame-spacing-setting" min="5" max="50" value="10">
|
||||
|
||||
<label for="frame-border-radius-setting">Frame Rounding</label>
|
||||
<input type="number" name="frame-border-radius-setting" id="frame-border-radius-setting" min="0" max="50" value="10">
|
||||
|
||||
<button type="button" id="save-settings-button">SAVE</button>
|
||||
<button type="button" id="reset-settings-button">RESET</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">projects</h2>
|
||||
<div class="tui-frame-content">
|
||||
<h2>SessionZero</h2>
|
||||
<p>SessionZero is a data-driven TTRPG companion application for managing characters, sessions, and game data.</p>
|
||||
<p>This is my passion project, and is currently a work in progress. Its core is developed using C# with .NET 8.</p>
|
||||
<p>Visit <a href="https://sessionzero.app">sessionzero.app</a> to learn more, or <a href="https://git.bellsworne.tech/Bellsworne/sessionzero-cs">view the source code.</a></p>
|
||||
|
||||
<h2>Critterfolio</h2>
|
||||
<p>A simple cross-platform full-stack application for managing your critters, for farms or pet owners. Made in C# with Avalonia UI.</p>
|
||||
<p>This project was developed as my Software Engineering Capstone project, but the idea came from my wife who breeds goats and needed an easy way to track linage and other notes about her goats. It still needs some work, but you can download it for Windows, Linux, or Android <a href="critterfolio/index.html">HERE</a>.</p>
|
||||
|
||||
<h2>Let there be blight</h2>
|
||||
<p>A game made in 72 hours for the MiniJam #150 game jam, made in Godot. <a href="/dev/blight">-- Click here to play in your browser! --</a></p>
|
||||
|
||||
<h2>Cogwheel</h2>
|
||||
<p>A C# .NET 9 library that provides a robust and extendible Command and Developer Console system for Games and Software applications. <a href="https://git.bellsworne.tech/Bellsworne/Cogwheel">-- Click here to view on Gitea --</a></p>
|
||||
|
||||
<h2>Interactive Map</h2>
|
||||
<p>An interactive world map that uses the <a href="https://worldbank.org">World Bank</a> REST API to display country information. Made as a school project in AngularJS. <a href="dev/interactive-angular-map">-- Click here to access-- </a></p>
|
||||
|
||||
<h2>Stars</h2>
|
||||
<p>A really simple plain JS webpage that randomly generates a lot of stars. <a href="dev/stars/index.html">-- Click here to view --</a></p>
|
||||
|
||||
<h2>More</h2>
|
||||
<p>To see more of my personal or professional projects, see my <a href="https://git.bellsworne.tech">Git repos</a> page.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="tui-frame"> -->
|
||||
<!-- <h2 class="tui-frame-header">notice</h2> -->
|
||||
<!-- <div class="tui-frame-content" style="width: 100%; display: flex; justify-content: center; text-align: center;"> -->
|
||||
<!-- <p style="font-size: 20pt; color: darkred;">SAY NO TO GENERATIVE AI</p> -->
|
||||
<!-- </div> -->
|
||||
<!-- </div> -->
|
||||
|
||||
|
||||
|
||||
<!-- <div class="tui-frame">
|
||||
<h2 class="tui-frame-header">motto</h2>
|
||||
<p>Say No To AI</p>
|
||||
</div>
|
||||
<div class="tui-frame">
|
||||
<h2 class="tui-frame-header">motto</h2>
|
||||
<p>Say No To AI</p>
|
||||
</div> -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id="tui-status-bar">
|
||||
<p>COPYRIGHT 2026 <a href="https://bellsworne.com">BELLSWORNE LLC</a></p>
|
||||
<p><a href="https://git.bellsworne.tech/chrisbell/hexstudios-co">Source Code</a></p>
|
||||
</div>
|
||||
|
||||
<!-- Keep android open banner -->
|
||||
<script src="https://keepandroidopen.org/banner.js"></script>
|
||||
|
||||
</body>
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/master.css">
|
||||
</head>
|
||||
|
||||
<body style="background-color: #10191d; width: 100vw; height: 100vh;">
|
||||
<img src="res/project7-1080p.png" alt="" style="height: auto; width: 75%; margin-top: 5vh;">
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Executable
+96
@@ -0,0 +1,96 @@
|
||||
const r = document.querySelector(':root');
|
||||
|
||||
const fgInput = document.getElementById('foreground-setting');
|
||||
const bgInput = document.getElementById('background-setting');
|
||||
const spacingInput = document.getElementById('frame-spacing-setting');
|
||||
const radiusInput = document.getElementById('frame-border-radius-setting');
|
||||
const saveBtn = document.getElementById('save-settings-button');
|
||||
const resetBtn = document.getElementById('reset-settings-button');
|
||||
|
||||
let lightMode = false;
|
||||
|
||||
const defaultSettings = {
|
||||
foreground: "#4d6e8d",
|
||||
background: "#010101",
|
||||
spacing: "15px",
|
||||
radius: "10px"
|
||||
};
|
||||
|
||||
saveBtn.addEventListener('click', () => {
|
||||
const currentSettings = {
|
||||
foreground: fgInput.value,
|
||||
background: bgInput.value,
|
||||
spacing: spacingInput.value + 'px',
|
||||
radius: radiusInput.value + 'px'
|
||||
};
|
||||
|
||||
setForegroundColor(currentSettings.foreground);
|
||||
setBackgroundColor(currentSettings.background);
|
||||
setFrameSpacing(currentSettings.spacing);
|
||||
setFrameBorderRadius(currentSettings.radius);
|
||||
|
||||
localStorage.setItem('user-settings', JSON.stringify(currentSettings));
|
||||
});
|
||||
|
||||
resetBtn.addEventListener('click', () => {
|
||||
localStorage.setItem('user-settings', JSON.stringify(defaultSettings));
|
||||
loadStoredSettings();
|
||||
syncSettings();
|
||||
});
|
||||
|
||||
function setForegroundColor(color) {
|
||||
r.style.setProperty('--color-foreground', color);
|
||||
}
|
||||
|
||||
function setBackgroundColor(color) {
|
||||
r.style.setProperty('--color-background', color);
|
||||
}
|
||||
|
||||
function setFrameSpacing(amount) {
|
||||
r.style.setProperty('--frame-spacing', amount);
|
||||
}
|
||||
|
||||
function setFrameBorderRadius(amount) {
|
||||
r.style.setProperty('--frame-border-radius', amount);
|
||||
}
|
||||
|
||||
function syncSettings() {
|
||||
const rootStyles = getComputedStyle(document.documentElement);
|
||||
|
||||
const varMap = {
|
||||
'foreground-setting': '--color-foreground',
|
||||
'background-setting': '--color-background',
|
||||
'frame-spacing-setting': '--frame-spacing',
|
||||
'frame-border-radius-setting': '--frame-border-radius'
|
||||
};
|
||||
|
||||
for (const [id, variable] of Object.entries(varMap)) {
|
||||
const element = document.getElementById(id);
|
||||
|
||||
if (element) {
|
||||
let cssValue = rootStyles.getPropertyValue(variable).trim();
|
||||
|
||||
if (element.type === 'number') {
|
||||
element.value = parseFloat(cssValue) || 0;
|
||||
} else {
|
||||
element.value = cssValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadStoredSettings() {
|
||||
const saved = localStorage.getItem('user-settings');
|
||||
|
||||
if (saved) {
|
||||
const settings = JSON.parse(saved);
|
||||
|
||||
setForegroundColor(settings.foreground);
|
||||
setBackgroundColor(settings.background);
|
||||
setFrameSpacing(settings.spacing);
|
||||
setFrameBorderRadius(settings.radius);
|
||||
}
|
||||
}
|
||||
|
||||
loadStoredSettings();
|
||||
syncSettings();
|
||||
Executable
+111
@@ -0,0 +1,111 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8 Offline" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglercraftX 1.8</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglercraftX 1.8" />
|
||||
<meta property="og:description" content="Play minecraft 1.8 in your browser" />
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
const relayId = Math.floor(Math.random() * 3);
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window.eaglercraftXOptsHints = {
|
||||
hintsVersion: 1,
|
||||
container: "game_frame",
|
||||
worldsDB: "worlds",
|
||||
relays: [
|
||||
{ addr: "wss://relay.deev.is/", comment: "lax1dude relay #1", primary: relayId === 0 },
|
||||
{ addr: "wss://relay.lax1dude.net/", comment: "lax1dude relay #2", primary: relayId === 1 },
|
||||
{ addr: "wss://relay.shhnowisnottheti.me/", comment: "ayunami relay #1", primary: relayId === 2 }
|
||||
],
|
||||
checkRelaysForUpdates: true
|
||||
};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<style type="eaglercraft" id="eaglercraftXClientSignature">data:application/octet-stream;base64,RUFHU0lHAAEyniBKnkJvKSKkdBTm7lt/O0qhv/YDshLezn/VyRxKnaJXHuSnaeL1KHX7n10tTsOcwQWbNbcYafn4zWGn/k6k+0picWIJVaf5b0R60KKzczUqUbMNuv7zm2DnVub6L30yXlDRgxw6UQ4nmw91txw7zWEqPFePcjnzjXEjrvqGq8koDA5BOa4MuuKhTM+/3KhhYNDIy4Fj82kcQGudkG92+aXexB3FYp677NqJmAwffDBMdytPViNKjgTGCaUnQSOgTvRYvOieBnTsW3MdlmuRvS9du3rGmneiI7jS1+6IC2KUEZLKOGyfjssSJrl8d5XvOrFckoVzQGjxt2JfhOc1AsQfiwgAAAAAAAD/Y2Bg7PubYfObYX3mRbc9mjM/5G2e3DNBRDM96w/X8R+e0RN3z085/7DtgP+aFZoMKnmpJXo5iRWGKaUpqXqpiek5qUXJRYlpJXplhvEWesk5mal5JQwCrgiJCAVDPQsGDpgeBgYGWQbmUiNLBlm3zIrUFIW8xNxUhZLE9GKF/DwFNz/HcIXi7My84u7ZLMeVG0u6usOseM52TrXVZt+R/+OS4Nk2bb7OTepO/w7fVD26eo8NW762jctfgWW33798dOjDvwhdiyYXXeEbzZkH1QTNJz2TdPgak3TCyuVB/LdtRrNsX17avU4u/XSosaTKkia/uaqBvm83vXj/I9z8eP9E4/vmLllLRWuOLVy36vl9cfZZp8+cmLNL9v21fbOBbhZweFInwsCSk1lcwqCfUVJSUGylr4/s/eT8XP2UHP3k/KJifaDv4pMSk7NLC/RAGg4dPL0F6OWiHAY9EnSmJJac+KT9DqLRCKYRpAol2IsyC0C6gWGMprnmaok5A0tmQVoxg3VSYlplUmpmSl5mqVFeYUVBdka5mWlFaWlSnolJYUFRmVlFYXFqRWZlUVluSU5lknmucVFhsnlxSWpe5dRuiywG7tLiVN30xJLU8sRKBk2YW6ACeiA79DLz9UG0vkpyZoqKvkpBYkmGStqRCXyoetVgek1Sy1KLchLzUrBq7CibooCqURmmMaU8NQkYqnnZmLryv3BJoOrShQdbTn5pSlpOYlGqLti1oDDH0M+6zmMqqn5VuP40PPosjr6chapPCaav3LgYh2P706PDUTUZwjSBbUotydBLLEpMz8/TA2a58vwiLGasXRp2EUfc5KWVFJfkA/Wn4rB/qezBaTj0gpVBYhU9iiF6t87vO40jepD0ImIKokunjPs9juBF0oUc0hB91StvyBF2KbqHIXoBBbngDNwEAAA=</style>
|
||||
<style type="eaglercraft" id="eaglercraftXClientBundle">data:application/octet-stream;base64,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 truncated
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
function eaglerBundleUnwrap(tagIn) { const e = document.getElementById(tagIn); const ret = e.innerText; e.remove(); return ret; }
|
||||
window.eaglercraftXClientSignature = eaglerBundleUnwrap("eaglercraftXClientSignature");
|
||||
window.eaglercraftXClientBundle = eaglerBundleUnwrap("eaglercraftXClientBundle");
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
var ds = new DecompressionStream("gzip");
|
||||
var result = [];
|
||||
function fetchStream(reader) {
|
||||
reader.read().then(function processData({ done, value }) {
|
||||
if (done) {
|
||||
window.clientScriptSrcURL = URL.createObjectURL(new Blob(result, { type: "text/javascript;charset=utf-8" }));
|
||||
result = [];
|
||||
ds = null;
|
||||
return;
|
||||
}
|
||||
result.push(value);
|
||||
return reader.read().then(processData);
|
||||
});
|
||||
}
|
||||
fetch(window.eaglercraftXClientBundle, { cache: "force-cache" })
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => fetchStream(blob.stream().pipeThrough(ds).getReader()));
|
||||
})();
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
function launchTick() {
|
||||
if(launchCounter > 100) {
|
||||
if(window.clientScriptSrcURL) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(() => {
|
||||
document.getElementById("launch_countdown_screen").remove();
|
||||
const script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.src = window.clientScriptSrcURL;
|
||||
window.clientScriptSrcURL = null;
|
||||
document.head.appendChild(script);
|
||||
}, 50);
|
||||
}
|
||||
return;
|
||||
}
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
++launchCounter;
|
||||
}
|
||||
window.addEventListener("load", () => {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
|
||||
</head>
|
||||
<body style="margin:0px;width:100vw;height:100vh;overflow:hidden;" id="game_frame">
|
||||
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
|
||||
<div style="margin:auto;text-align:center;">
|
||||
<h1>This file is from <span style="color:#AA0000;">04/20/2024</span></h1>
|
||||
<h3>Get the latest version at <a href="https://eaglercraft.com"><span style="color:#AA0000;">eaglercraft.com</span></a></h1>
|
||||
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
|
||||
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user