A repo for my personal website

Moving to vanilla HTML and TypeScript

-1857
-4
.gitmodules
··· 1 - [submodule "new-site/themes/piko"] 2 - path = themes/piko 3 - url = https://github.com/heksagonnet/piko.git 4 - ignore = dirty
-6
archetypes/default.md
··· 1 - --- 2 - title: "{{ replace .Name "-" " " | title }}" 3 - date: {{ .Date }} 4 - draft: true 5 - --- 6 -
-76
assets/sass/colors.scss
··· 1 - [data-theme="dark"] { 2 - --background-color: #101f14 !important; 3 - --color: #bbcdbf !important; 4 - --h1-color: #edf3ef !important; 5 - --h2-color: #e0ebe4 !important; 6 - --h3-color: #d5e2d8 !important; 7 - --h4-color: #c8d8cc !important; 8 - --h5-color: #bbcdbf !important; 9 - --h6-color: #afc4b4 !important; 10 - --muted-border-color: #1f3825 !important; 11 - --primary: #07400b !important; 12 - --primary-hover: #0c6e13 !important; 13 - --primary-focus: rgba(16, 193, 30, 0.25) !important; 14 - --secondary: #597860 !important; 15 - --secondary-hover: #728c78 !important; 16 - --secondary-focus: rgba(114, 140, 120, 0.25) !important; 17 - --contrast: #edf3ef !important; 18 - --contrast-focus: rgba(114, 140, 120, 0.25) !important; 19 - --form-element-background-color: #101f14 !important; 20 - --form-element-border-color: #37563e !important; 21 - --form-element-disabled-background-color: #2c4933 !important; 22 - --form-element-disabled-border-color: #406249 !important; 23 - --switch-background-color: #37563e !important; 24 - --range-border-color: #d5e2d8 !important; 25 - --range-active-border-color: #bbcdbf !important; 26 - --table-row-stripped-background-color: #f6f9f6 !important; 27 - --code-background-color: #edf3ef !important; 28 - --card-box-shadow: 0 0.125rem 1rem rgba(26, 50, 33, 0.04),0 0.125rem 2rem rgba(26, 50, 33, 0.08),0 0 0 0.0625rem rgba(26, 50, 33, 0.024) !important; 29 - --card-sectionning-background-color: #fbfcfb !important; 30 - --modal-overlay-background-color: rgba(213, 226, 216, 0.8) !important; 31 - } 32 - 33 - [data-theme="light"] { 34 - --color: #406249 !important; 35 - --h1-color: #1a3221 !important; 36 - --h2-color: #233e2a !important; 37 - --h3-color: #2c4933 !important; 38 - --h4-color: #37563e !important; 39 - --h5-color: #406249 !important; 40 - --h6-color: #4d6d54 !important; 41 - --muted-border-color: #edf3ef !important; 42 - --primary: #10c11e !important; 43 - --primary-hover: #089b14 !important; 44 - --primary-focus: rgba(16, 193, 30, 0.13) !important; 45 - --secondary: #597860 !important; 46 - --secondary-hover: #406249 !important; 47 - --secondary-focus: rgba(89, 120, 96, 0.125) !important; 48 - --contrast: #1a3221 !important; 49 - --contrast-focus: rgba(89, 120, 96, 0.125) !important; 50 - --form-element-border-color: #a2b9a8 !important; 51 - --form-element-disabled-background-color: #d5e2d8 !important; 52 - --form-element-disabled-border-color: #a2b9a8 !important; 53 - --switch-background-color: #bbcdbf !important; 54 - --range-border-color: #d5e2d8 !important; 55 - --range-active-border-color: #bbcdbf !important; 56 - --table-row-stripped-background-color: #f6f9f6 !important; 57 - --code-background-color: #edf3ef !important; 58 - --card-box-shadow: 0 0.125rem 1rem rgba(26, 50, 33, 0.04),0 0.125rem 2rem rgba(26, 50, 33, 0.08),0 0 0 0.0625rem rgba(26, 50, 33, 0.024) !important; 59 - --card-sectionning-background-color: #fbfcfb !important; 60 - --modal-overlay-background-color: rgba(213, 226, 216, 0.8) !important; 61 - } 62 - 63 - .hero .hero-buttons { 64 - color: var(--color) !important; 65 - } 66 - 67 - nav a { 68 - --color: var(--color) !important; 69 - } 70 - nav a:hover { 71 - --color: var(--primary-hover) !important; 72 - } 73 - 74 - a { 75 - color: var(--link-color) !important; 76 - }
-324
assets/sass/main.scss
··· 1 - /* Can be forced with data-theme="light" */ 2 - [data-theme="light"], 3 - :root:not([data-theme="dark"]) { 4 - --muted-color: #4b5c4f !important; 5 - --link-color: #275933 !important; 6 - } 7 - 8 - /* Automatically enabled if user has Dark mode enabled */ 9 - @media only screen and (prefers-color-scheme: dark) { 10 - :root:not([data-theme="light"]) { 11 - --muted-color: #8fb197 !important; 12 - --link-color: #4ba862 !important; 13 - } 14 - } 15 - 16 - /* Enabled if forced with data-theme="dark" */ 17 - [data-theme="dark"] { 18 - --muted-color: #8fb197 !important; 19 - --link-color: #4ba862 !important; 20 - } 21 - 22 - :root { 23 - --spacing-hero: 5rem; 24 - --border-radius: 0.3rem !important; 25 - } 26 - 27 - *, 28 - ::after, 29 - ::before { 30 - box-sizing: border-box; 31 - } 32 - 33 - html { 34 - -webkit-tap-highlight-color: transparent; 35 - overflow-y: scroll; 36 - scroll-behavior: smooth; 37 - } 38 - 39 - .hero { 40 - background-color: #38463c; 41 - background-position: center; 42 - background-size: cover; 43 - h1, 44 - a[role='button'].outline.contrast { 45 - color: #edf3ef; 46 - border-color: #edf3ef; 47 - } 48 - .hero-buttons { 49 - margin: 10px 10px 10px 0; 50 - color: var(--mark-color); 51 - } 52 - } 53 - header { 54 - padding: var(--spacing-hero) 0; 55 - } 56 - 57 - .logo { 58 - width: fit-content; 59 - display: flex; 60 - align-items: center; 61 - } 62 - 63 - @media (min-width: 0px) and (max-width: 1200px) { 64 - main { 65 - margin-top: 50px; 66 - } 67 - } 68 - 69 - img { 70 - object-fit: cover; 71 - } 72 - 73 - .text-center { 74 - text-align: center; 75 - } 76 - 77 - .button, 78 - kbd { 79 - margin: 10px; 80 - } 81 - img, 82 - .button { 83 - border-radius: var(--border-radius); 84 - } 85 - 86 - a { 87 - text-decoration: none !important; 88 - color: var(--link-color); 89 - } 90 - 91 - .grid { 92 - article { 93 - padding: calc(var(--spacing) * 1.2) var(--block-spacing-horizontal); 94 - margin: 1rem 0; 95 - } 96 - } 97 - 98 - @media (min-width: 992px) { 99 - .grid-post { 100 - grid-template-columns: repeat(3, 1fr) !important; 101 - } 102 - } 103 - @media (min-width: 992px) { 104 - .grid-main { 105 - grid-template-columns: 2fr 1fr !important; 106 - } 107 - } 108 - 109 - .toc { 110 - padding: 2rem 1.2rem 1rem 1.2rem; 111 - } 112 - 113 - .share-buttons { 114 - background: var(--card-background-color); 115 - padding: 10px; 116 - border-radius: var(--border-radius); 117 - box-shadow: var(--card-box-shadow); 118 - display: flex; 119 - flex-wrap: wrap; 120 - justify-content: center; 121 - gap: 0.65rem; 122 - svg { 123 - color: var(--contrast) !important; 124 - width: 1.875rem; 125 - height: 1.875rem; 126 - } 127 - } 128 - 129 - .searchbox, 130 - .contact-form { 131 - max-width: 700px; 132 - margin: auto; 133 - } 134 - 135 - .search-result { 136 - background: var(--card-background-color); 137 - padding: 20px; 138 - border-radius: var(--border-radius); 139 - box-shadow: var(--card-box-shadow); 140 - margin: 10px 0; 141 - hgroup { 142 - margin: 0; 143 - } 144 - h6 { 145 - width: 100%; 146 - white-space: nowrap; 147 - overflow: hidden; 148 - text-overflow: ellipsis; 149 - } 150 - } 151 - 152 - .cover { 153 - float: left; 154 - margin: 0 20px 0 0; 155 - width: 300px; 156 - max-width: 100%; 157 - pointer-events: none; 158 - } 159 - @media (min-width: 0px) and (max-width: 576px) { 160 - .cover { 161 - float: none; 162 - margin: 10px auto; 163 - } 164 - } 165 - 166 - .post { 167 - &::first-letter { 168 - font-size: 300%; 169 - padding: 0px 5px 0px 0px; 170 - margin: -15px 6px -15px 0; 171 - float: left; 172 - } 173 - } 174 - 175 - .highlight, 176 - code, 177 - pre { 178 - position: relative !important; 179 - } 180 - 181 - .copy-code { 182 - z-index: 99; 183 - cursor: pointer; 184 - display: none; 185 - position: absolute; 186 - top: 4px; 187 - right: 4px; 188 - color: rgba(255, 255, 255, 0.8); 189 - background: rgba(78, 78, 78, 0.8); 190 - border-radius: var(--border-radius); 191 - padding: 0 5px; 192 - font-size: 14px; 193 - user-select: none; 194 - } 195 - 196 - .highlight:hover, 197 - code:hover, 198 - pre:hover { 199 - .copy-code { 200 - display: block; 201 - } 202 - } 203 - 204 - .page-item.active { 205 - font-size: larger; 206 - font-weight: bold; 207 - } 208 - 209 - .archive-posts { 210 - width: 100%; 211 - font-size: 16px; 212 - } 213 - 214 - .archive-year { 215 - margin-top: 40px; 216 - } 217 - 218 - .archive-year:not(:last-of-type) { 219 - border-bottom: 2px solid var(--border); 220 - } 221 - 222 - .archive-year-header { 223 - text-align: center; 224 - } 225 - 226 - .archive-month { 227 - display: flex; 228 - align-items: flex-start; 229 - padding: 10px 0; 230 - } 231 - 232 - .archive-month-header { 233 - margin: 25px 0 25px auto; 234 - width: 200px; 235 - } 236 - 237 - .archive-month:not(:last-of-type) { 238 - border-bottom: 1px solid var(--border); 239 - } 240 - 241 - .archive-entry { 242 - position: relative; 243 - padding: 5px; 244 - margin: 10px 0; 245 - } 246 - 247 - .archive-entry-title { 248 - margin: 5px 0; 249 - font-weight: 400; 250 - } 251 - 252 - .archive-count, 253 - .archive-meta { 254 - color: var(--secondary); 255 - font-size: 14px; 256 - } 257 - 258 - .entry-link { 259 - position: absolute; 260 - left: 0; 261 - right: 0; 262 - top: 0; 263 - bottom: 0; 264 - } 265 - 266 - .anchor, 267 - .hidden { 268 - display: none; 269 - } 270 - 271 - h1, 272 - h2, 273 - h3, 274 - h4, 275 - h5, 276 - h6 { 277 - &:hover { 278 - .anchor { 279 - cursor: pointer; 280 - display: inline-flex; 281 - margin-inline-start: 8px; 282 - font-weight: 500; 283 - user-select: none; 284 - } 285 - } 286 - } 287 - 288 - .min-h-80 { 289 - min-height: 80vh; 290 - } 291 - 292 - kbd, 293 - .grid-post article, 294 - a[role='button'], 295 - .search-result, 296 - .portfolio-post { 297 - transition: 0.3s ease; 298 - &:hover { 299 - animation: hover 0.3s ease; 300 - transform: scale3d(1.05, 1.05, 1.05); 301 - } 302 - } 303 - 304 - #cookie-banner { 305 - position: fixed; 306 - top: 0; 307 - z-index: 100; 308 - top: 3%; 309 - right: 3%; 310 - max-width: 400px; 311 - opacity: 0.9; 312 - } 313 - 314 - @keyframes hover { 315 - 0% { 316 - transform: scale3d(1, 1, 1); 317 - } 318 - 50% { 319 - transform: scale3d(1.08, 1.08, 1.08); 320 - } 321 - 100% { 322 - transform: scale3d(1.05, 1.05, 1.05); 323 - } 324 - }
-8
content/archives.md
··· 1 - --- 2 - title: "Archives" # in any language you want 3 - layout: "archives" # is necessary 4 - # url: "/archive" 5 - description: "The archives" 6 - summary: "archives" 7 - --- 8 -
-6
content/audio-credits/_index.md
··· 1 - --- 2 - title: Audio Credits 3 - image: "/uploads/portfolio-2.webp" 4 - description: Audio credits for my podcasts 5 - --- 6 -
-74
content/audio-credits/fourWoods-s1e1.md
··· 1 - --- 2 - title: "The Four Woods Podcast - Season 1 Episode 1" 3 - description: "Season 1 Episode 1 (Call of the Ocean) of the Four Woods Podcast" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAutor: false 10 - --- 11 - 12 - See More at [The Four Woods Podcast](https://beacons.page/4woodspodcast). 13 - 14 - # Music 15 - 16 - Darkest Child by Kevin MacLeod 17 - Link: [https://incompetech.filmmusic.io/song/3615-darkest-child](https://incompetech.filmmusic.io/song/3615-darkest-child) 18 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 19 - 20 - Darkling by Kevin MacLeod 21 - Link: [https://incompetech.filmmusic.io/song/3616-darkling](https://incompetech.filmmusic.io/song/3616-darkling) 22 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 23 - 24 - Dark Walk by Kevin MacLeod 25 - Link: [https://incompetech.filmmusic.io/song/3612-dark-walk](https://incompetech.filmmusic.io/song/3612-dark-walk) 26 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 27 - 28 - Industrial Cinematic by Kevin MacLeod 29 - Link: [https://incompetech.filmmusic.io/song/3909-industrial-cinematic](https://incompetech.filmmusic.io/song/3909-industrial-cinematic) 30 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 31 - 32 - Solace by Scott Buckley [https://soundcloud.com/scottbuckley](https://soundcloud.com/scottbuckley) 33 - Creative Commons — Attribution 3.0 Unported — CC BY 3.0 34 - Free Download / Stream: [https://bit.ly/s-b-solace](https://bit.ly/s-b-solace) 35 - Music promoted by Audio Library [https://youtu.be/x8h50E6ekR0](https://youtu.be/x8h50E6ekR0) 36 - 37 - Timeless by Neutrin05 [https://soundcloud.com/neutrin05](https://soundcloud.com/neutrin05) 38 - Creative Commons — Attribution 3.0 Unported — CC BY 3.0 39 - Free Download / Stream: [http://bit.ly/\\_-timeless](http://bit.ly/_-timeless) 40 - Music promoted by Audio Library [https://youtu.be/\\_6kFem21DxU](https://youtu.be/_6kFem21DxU) 41 - 42 - Trio for Piano, Cello, and Clarinet by Kevin MacLeod 43 - Link: [https://incompetech.filmmusic.io/song/4547-trio-for-piano-cello-and-clarinet](https://incompetech.filmmusic.io/song/4547-trio-for-piano-cello-and-clarinet) 44 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 45 - 46 - Virtutes Instrumenti by Kevin MacLeod 47 - Link: [https://incompetech.filmmusic.io/song/4590-virtutes-instrumenti](https://incompetech.filmmusic.io/song/4590-virtutes-instrumenti) 48 - License: [https://filmmusic.io/standard-license](https://filmmusic.io/standard-license) 49 - 50 - # Sound Effects 51 - 52 - Cave Ambience Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/LittleRobotSoundFactory) 53 - 54 - Door Close Sound Effect licensed under the Creative Commons 3.0 Attribution license [here](https://freesound.org/people/InspectorJ) 55 - 56 - Door Open Sound Effect licensed under the Creative Commons 3.0 Attribution license [here](https://freesound.org/people/InspectorJ) 57 - 58 - Drawer Open Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/dersuperanton) 59 - 60 - Concrete Footsteps Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/InspectorJ) 61 - 62 - Keyboard Typing Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/GeorgeHopkins) 63 - 64 - Library Ambience Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/Meepalicious) 65 - 66 - Magic Sparkle Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/RICHERlandTV) 67 - 68 - Noisy Street Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/Tomlija) 69 - 70 - Outdoor Ambience Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/daenerys) 71 - 72 - Paper Rustling Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/vedas) 73 - 74 - Water Splashing Sound Effect licensed under the Creative Commons 3.0 Attribution License [here](https://freesound.org/people/dobroide)
-6
content/blog/_index.md
··· 1 - --- 2 - title: Blog 3 - image: "/uploads/portfolio-2.webp" 4 - description: My blog's description here 5 - 6 - ---
-19
content/blog/explanation.md
··· 1 - --- 2 - title: "An Explanation" 3 - date: "2022-04-08" 4 - description: "An explanation for why I've been gone." 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "explanation" 11 - --- 12 - 13 - You might've wondered where I've been for the past couple weeks. I shared at the beginning of last week (on the 27th) that I wasn't going to be streaming for that week. And then I extended my week-long break to this past week as well. And I've been sensing that I need to change how I do my content creation. It's not friendly to any of my disabilities. In order to make it more friendly to those disabilities, I will be majorly pulling back from streaming for a while. In the future, I may have some more energy and more time to devote solely to streams, but streaming isn't what I do; I'm a content creator. For the past three months, I've been solely focusing on Twitch streaming, and while I've definitely had a lot of fun streaming, it's taken over a lot of the other areas of content creation that I would much rather be spending time on (e.g. creating music and making videos). 14 - 15 - So, what's the plan moving forward? Well, unless things are going to change again to put me back on schedules (which I don't see happening in the forseeable future), you will likely not be hearing about my Twitch streams here on this blog (other than perhaps a small mention at the end of my posts). I won't be posting schedules anymore on any of my socials. If I'm streaming, I'll be posting about it on my socials the day of. I do not have the bandwidth to make a schedule and stick to it week after week while also trying to put out small stream clips on my socials and also trying to put out other kinds of content while also trying to make money. It's not feasible for me anymore. You can keep an eye out for when I'll be streaming next in the appropriate places, but for now, my streaming is going to be a little more sporadic than it has been. 16 - 17 - My gut instinct is to apologize, but at the end of the day, this is my business. This is my content. At the end of the day, I'm the person that decides what happens with my content, and this is just the best business decision I can think of. Hopefully, this decision will open me up to making other content and doing more work and make more money. I would absolutely love to see my business flourish. But I can't do it with the way I've been going about it up until now. Something needs to change, and it's my Twitch streams. 18 - 19 - Of course, if you have the means to support me financially, you can head over to my [Ko-Fi](https://ko-fi.com/cityboundforest) and send some money my way. You can either send a one-time donation or set up a recurring donation each month. My only condition (and I'm transparently taking this from CGP Grey) is that you aren't a student and that you actually have the money to spare. If supporting me would dip into your savings or hurt you financially, then I would ask you to figure things out for yourself financially first before you try and help me. It's the old adage of "put on your own oxygen mask before attempting to help someone else with theirs." However, if you can't financially support me, what you can do is share it with others and get more eyes on it. Perhaps someone you share it with has the ability to support me financially or perhaps you share it to someone who shares it to someone who can or so on and so forth. Anything counts. Everything counts. Thank you for reading this, and I'll see you all over on Twitch whenever I have the spoons to stream.
-15
content/blog/minecraft_stream.md
··· 1 - --- 2 - title: "Minecraft Stream on Saturday!" 3 - date: "2022-01-05" 4 - description: "Just a reminder of my upcoming Minecraft stream on Saturday." 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "minecraft_stream" 11 - --- 12 - 13 - Hey everyone! This is just a reminder that I'll be streaming this Saturday at 1:00 pm PST on my [Twitch Channel](https://twitch.tv/cityboundforest) playing Minecraft with my friend KniightRyder. Hope to see you there! 14 - 15 - Make sure you follow me on Twitch to get notifications for when I go live!
-17
content/blog/secondstreamschedule.md
··· 1 - --- 2 - title: "New Stream schedule!" 3 - date: "2022-01-16" 4 - description: "My new stream schedule for this upcoming week." 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "secondstreamschedule" 11 - --- 12 - 13 - Hello everyone! I'm back with another stream schedule! 14 - 15 - ![Stream schedule for January 17-22. All streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke Part 1: FireRed with a re-run at 11:10 am PST. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 10:35 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 10:55 am PST. Friday's stream is Octopath Traveler with a re-run at 10:55 am PST. Saturday's stream is Minecraft with my friend KniightRyder with a re-run at 11:20 am PST.](https://imgur.com/UacPMso.png) 16 - 17 - That's all from me for now, see you over on Twitch!
-17
content/blog/streamschedule22feb24mar5.md
··· 1 - --- 2 - title: "New stream schedule for Twitch!" 3 - date: "2022-02-27" 4 - description: "The stream schedule for February 28-March 5, 2022" 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedule22feb24mar5" 11 - --- 12 - 13 - Hey everyone! I've been working on editing the update video for the Four Woods Podcast so that is coming soon (I recently switched to a new video editing program, so it's been A Time{{< rawhtml >}}<sup>tm</sup>{{< /rawhtml >}} to learn, but I'm starting to get into a groove with it), so stay tuned for that. I'm also still working on getting subtitles added to the YouTube video for the first episode of the show, so the update video won't come out until those are finished. Until the video releases, here's this week's stream schedule! 14 - 15 - ![Stream schedule for February 28 - March 5, 2022. All streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke I: FireRed with a re-run at 11:20 am PST. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 10:40 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:10 am PST. Friday's stream is Octopath Traveler with a re-run at 11:10 am PST. Saturday's stream is Minecraft with my friend KniightRyder with a re-run at 11:10 am PST.](https://imgur.com/FQ9StX0.png) 16 - 17 - That's all from me, see you over on Twitch!
-19
content/blog/streamschedule22mar14mar18.md
··· 1 - --- 2 - title: "Stream schedule for this week" 3 - date: "2022-03-13" 4 - description: "The stream schedule for March 14-18, 2022" 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedule22mar14mar18" 11 - --- 12 - 13 - Hey everyone! I'm going to pull back on the number of streams I'm doing each week, but I won't be pulling back on the content that I'm putting out; I'll still be finishing all of the series that I've started on my Twitch channel, so don't worry! Anyway, onto the stream schedule for this week. 14 - 15 - ![Stream schedule for March 14 - 18, 2022; all streams are at 1:00 pm PDT. Monday's stream is Pokemon GenLocke I: FireRed with a re-run at 11:15 am PDT. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 10:40 am PDT. Friday's stream is Octopath Traveler with a re-run at 11:10 am PDT.](https://imgur.com/XSPyQk2.png) 16 - 17 - --- 18 - 19 - That's all from me for now, see you all on Twitch!
-19
content/blog/streamschedule22mar21mar26.md
··· 1 - --- 2 - title: "Stream schedule for this week" 3 - date: "2022-03-20" 4 - description: "The stream schedule for March 21-26, 2022" 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedule22mar21mar26" 11 - --- 12 - 13 - Hey everyone! After Friday's stream, I'll be pulling Octopath Traveler from the lineup. That being said, I'll still complete the other series I have going on my Twitch channel, and I'll even been introducing a sub goal! When I reach 15 subs, I'll do a special Ocarina of Time: Beta Quest stream in full Link cosplay! Can't wait to get there, so let's keep trucking along. Anyway, onto the stream schedule! 14 - 15 - ![Stream schedule for this week; all streams are at 1:00 pm PDT. Monday's stream is Pokemon GenLocke I: FireRed with a re-run at 11:15 am PDT. Friday's stream is Fire Emblem: Three Houses with a re-run at 11:30 am PDT. Saturday's stream is Minecraft with my friend KniightRyder with a re-run at 11:10 am PDT.](https://imgur.com/oLOjZr0.png) 16 - 17 - --- 18 - 19 - That's all from me for now, see you over on Twitch!
-19
content/blog/streamschedule22mar7mar12.md
··· 1 - --- 2 - title: "Another Stream Schedule and Podcast Update" 3 - date: "2022-03-06" 4 - description: "The stream schedule for March 7-12, 2022" 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedule22mar7mar12" 11 - --- 12 - 13 - Hey everyone! I'm still hard at work adding captions to the video for the first episode of the Four Woods Podcast along with keeping up with my rigorous content schedule and also working on finding a stable job, so the update video for the Four Woods Podcast will have to wait just a bit (along with a couple other video projects I wanted to get working on, but that's besides the point). Anyway, I'm here today with a new stream schedule and a new game to add to the schedule! Enjoy! 14 - 15 - ![Stream schedule for this week, all streams are at 1:00 pm PST unless otherwise stated. Monday's stream is Pokemon GenLocke I: FireRed with a re-run at 11:15 am PST. Wednesday's stream is Pokemon: Legends Arceus. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:10 am PST. Friday's stream is Octopath Traveler with a re-run at 11:10 am PST. Saturday's stream is Minecraft with my friend KniightRyder at 2:30 pm PST with a re-run at 12:40 pm PST.](https://imgur.com/VoxwxJk.png) 16 - 17 - --- 18 - 19 - That's all from me for this week, I'll see y'all over on Twitch!
-29
content/blog/streamschedule_updates.md
··· 1 - --- 2 - title: "Stream Schedule and Updates!" 3 - date: "2022-01-09" 4 - description: "A new stream schedule and some updates about my creative content." 5 - tags: ["stream-announcements"] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedule_updates" 11 - --- 12 - 13 - Hello everyone! I'm back with some more announcements! 14 - 15 - #### Twitch Stream Schedule 16 - 17 - I have a new stream schedule for this week! Here it is! 18 - 19 - ![Stream schedule for January 10-14. All streams are at 1:00 pm PST. Monday's stream is a Pokemon GenLocke starting with Pokemon FireRed. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 11:05 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 10:55 am PST. Friday's stream is Octopath Traveler with a re-run at 11:00 am PST.](https://imgur.com/zVuuK6D.png) 20 - 21 - #### Podcasts 22 - 23 - I'm currently trying to work on editing together a D&D actual play podcast surrounding the Skull & Shackles Adventure Path written for Pathfinder 1st Edition (although we play in Pathfinder 2nd Edition). Since I'm the only editor on the project and it's not my only priority (as streaming takes up most of my time alongside finding a stable job), it's been taking me a while to edit the first episode, but when it comes out, you'll be able to get an update here on my blog as well as on all of my social media accounts. The problem with me being the only editor on the project is that I *also* run the game and we're also like 20 sessions in. And we're starting sessions back up this upcoming week. So I have a lot of work to do on that. 24 - 25 - In any case, I've worked out a kind of budget when it comes to paying the voice actors for my audio drama podcast The Four Woods Podcast. Beyond that, I'll need to, well, ask them whether or not they would be willing to return for the rest of the podcast as well as find writers and editors for the show. 26 - 27 - --- 28 - 29 - In any case, that's all I've got on this front for blog posts. I'm still wondering what else to put on this blog other than my stream updates and creative updates.
-23
content/blog/streamscheduleandbudgetupdate.md
··· 1 - --- 2 - title: "Stream Schedule and an Update!" 3 - date: "2022-01-30" 4 - description: "This week's stream schedule (January 31 - February 5, 2022) as well as an update on my audio drama podcast" 5 - tags: ["stream-announcements"] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamscheduleandbudgetupdate" 11 - --- 12 - 13 - Hey everyone! Here's a new stream schedule for this week. I'm going to keep publishing my stream schedules here as I make them but I still want to do more with this blog. If you have any ideas, let me know down below in the comments. Anyway, onto the stream schedule! 14 - 15 - ![Stream schedule for January 31-Feburary 5. All streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke Part 1: FireRed with a re-run at 11:20 am PST. Wednesday's stream is Majora's Mask with a re-run at 10:55 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 10:50 am PST. Friday's stream is Octopath Traveler with a re-run at 11:05 am PST. Saturday's stream is Minecraft with my friend KniightRyder with a re-run at 10:50 am PST.](https://imgur.com/et1MeD7.png) 16 - 17 - That's all from me in this post, see you over on Twitch! 18 - 19 - --- 20 - 21 - ### Update on the Four Woods Podcast 22 - 23 - Hey! I have an update on my audio drama podcast, The Four Woods Podcast. I've done some research and I'm moving forward in the pre-production process for season 1 of the show. Right now, all I've got is a budget outline for how much I'm going to need to raise to pay the actors, the writers that I'm going to bring on, the editors that I'm going to bring on (that's audio editors, not script editors), as well as myself. It's currently looking to be around $15,000, but I don't have exact numbers yet, and I won't have exact numbers until I figure out some specific things like any characters that I'm going to need to add for later episodes in the season. I'm considering making a Patreon, but I already have my [Ko-Fi](https://ko-fi.com/cityboundforest) set up and it can take monthly donations, so I'm tempted to use that instead. Let me know which you'd rather me use (Patreon or Ko-Fi) in the comments below. Any money coming in through Ko-Fi with the express mention of the podcast will go to the podcast (and if I make a Patreon, I'll put some percentage that I'll figure out later into the podcast); otherwise, it'll just go to me through my usual channels (similar to my Twitch subscriptions or StreamElements tips). In any case, things are looking up for the podcast and I'm excited to see where things are going to go. Keep an eye out on this space as well as my other socials to hear more about this and I'll see you later!!!
-31
content/blog/streamscheduleincomingvideo.md
··· 1 - --- 2 - title: "A Stream Schedule and a Promise of a Video" 3 - date: "2022-02-13" 4 - description: "The stream schedule for February 14-19, 2022 alongside a small update for The Four Woods Podcast" 5 - tags: ["stream-announcements"] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamscheduleincomingvideo" 11 - --- 12 - 13 - Hey everyone! I've got some news on The Four Woods Podcast as well as a new stream schedule for this week! 14 - 15 - --- 16 - 17 - ### Stream Schedule 18 - 19 - Here's the stream schedule for this week. Enjoy! 20 - 21 - ![Stream schedule for February 14-19, 2022; all streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke Part 1: FireRed with a re-run at 11:20 am PST. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 10:40 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:00 am PST. Friday's stream is Octopath Traveler with a re-run at 11:20 am PST. Saturday's stream is Minecraft with my friend KniightRyder with a re-run at 10:45 am PST.](https://imgur.com/78te2aS.png) 22 - 23 - --- 24 - 25 - ### The Four Woods Podcast Update 26 - 27 - Sometime this week, I will be posting a video outlining everything in the future for The Four Woods Podcast. This includes the budget that I've been mentioning here on the blog as well as a call for writers to send in applications to write for the podcast. When the video is posted, I'll link to it on my Twitter page and I'll post it on my Instagram and TikTok accounts. I'll also be linking to it here, so if you've subscribed to the [RSS feed](https://skeetcha.github.io/blog-rss.xml), then you'll be able to know when it comes out. 28 - 29 - --- 30 - 31 - In any case, that's all from me. See you over on Twitch!
-29
content/blog/streamschedulepodcastupdate.md
··· 1 - --- 2 - title: "Another Stream Schedule and Podcast Update" 3 - date: "2022-02-06" 4 - description: "The stream schedule for this week (February 7 - 11, 2022) and an important update for The Four Woods Podcast" 5 - tags: ["stream-announcements"] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedulepodcastupdate" 11 - --- 12 - 13 - Hey everyone! This blog post, much like the film adaptation of Mockingjay by Susanne Collins, comes to you in two parts. 14 - 15 - ### Part 1: Stream Schedule 16 - 17 - Here is the stream schedule for this upcoming week. Enjoy! 18 - 19 - ![Stream schedule for February 7-11. All streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke: FireRed with a re-run at 11:15 am PST. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 11:10 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:25 am PST. Friday's stream is Octopath Traveler with a re-run at 11:15 am PST.](https://imgur.com/LsJv53H.png) 20 - 21 - --- 22 - 23 - ### Part 2: The Four Woods Podcast Update 24 - 25 - Last week I said that I was getting together a budget for the continued production of my audio drama podcast, [The Four Woods Podcast](https://beacons.page/4woodspodcast). Well, I have since made a mock-up budget and am getting ready to start sending out a request for writers to join the project. The budget hasn't changed that much from my projections last week, so I'll still want to raise a lot of money for this project, most of which will be going to the actors. Any donations made to my Twitch page in which the donator requests that the money received be put towards the podcast (this includes subscriptions and bits) as well as donations made through my StreamElements donation page in which the donator requests that the money donated be put towards the podcast will be put to the side and will count towards that goal that I mentioned last week. Any of my Ko-Fi donations in which the donator requests that the money go towards the podcast will also be set aside similarly. I really hope I get to continue making this podcast as I had a lot of fun creating it last year. 26 - 27 - --- 28 - 29 - In any case, that's all for me on this post. I'll see you over on Twitch or wherever else I happen to be!
-17
content/blog/streamschedulevideocoming.md
··· 1 - --- 2 - title: "A Stream Schedule And A Video Delayed" 3 - date: "2022-02-20" 4 - description: "The stream schedule for February 21-25, 2022 and I promise, the update video is coming this week" 5 - tags: ["stream-announcements"] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "streamschedulevideocoming" 11 - --- 12 - 13 - Hey everyone! The update video for The Four Woods Podcast is coming, probably sometime this week, but I haven't found time to sit down and edit the video just yet. Hang tight, I'll be posting it on both my main channel (CityboundForest) and the YouTube channel for the podcast itself. Stay tuned for that. But until then, here's the stream schedule for the upcoming week! 14 - 15 - ![Stream schedule for February 21-25, all streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke Part 1: FireRed with a re-run at 11:20 am PST. Wednesday's stream is The Legend of Zelda: Majora's Mask with a re-run at 11:10 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:00 am PST. Friday's stream is Octopath Traveler with a re-run at 11:10 am PST.](https://imgur.com/XVjdbgC.png) 16 - 17 - That's all from me, see y'all on Twitch!
-19
content/blog/thirdstreamschedule.md
··· 1 - --- 2 - title: "Another New Stream Schedule!" 3 - date: "2022-01-23" 4 - description: "Another stream schedule for this upcoming week." 5 - tags: ["stream-announcements"] 6 - categories: [] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "thirdstreamschedule" 11 - --- 12 - 13 - Hey everyone! I'm back with another stream schedule! Also I've found that I've started to use this blog just to post my stream schedules and other creative updates and while I certainly want to keep doing that, I feel like it has a bigger purpose than that, but I haven't necessarily figured out what that is yet. 14 - 15 - Anyways, here's the stream schedule! 16 - 17 - ![Stream schedule for January 24 - 28. All streams are at 1:00 pm PST. Monday's stream is Pokemon GenLocke Part 1: FireRed with a re-run at 11:25 am PST. Wednesday's stream is Majora's Mask with a re-run at 11:05 am PST. Thursday's stream is Fire Emblem: Three Houses with a re-run at 11:10 am PST. Friday's stream is Octopath Traveler with a re-run at 11:10 am PST.](https://imgur.com/3fRnOvI.png) 18 - 19 - That's all from me for this post, see you over on Twitch!
-43
content/blog/updates.md
··· 1 - --- 2 - title: "Updates!" 3 - date: "2022-01-02" 4 - description: "A small little update on what I'm planning on doing in the coming year." 5 - tags: [] 6 - categories: ["updates"] 7 - ShowToc: false 8 - ShowRelated: false 9 - comments: true 10 - disqus_identifier: "updates" 11 - --- 12 - 13 - Hello everyone! I'm here with some updates for my creative career, and what better place to do it than here, on my blog, which I really haven't used all that much last year since putting it up on my website. In any case, I wanted to make some kind of announcement at the beginning of the year to sort of talk about what I want to do this year and also some goals I'd like to achieve professionally with my content creation. 14 - 15 - # MY YOUTUBE AND TWITCH CHANNELS 16 - 17 - I plan to continue streaming as I have been and am actually introducing a new series to my Twitch channel which you'll hear about at the beginning of next week (stay tuned to my Twitter for information on that). I have actually figured out a fix for the weird texture errors I was getting in my Majora's Mask 3D playthrough, so we won't be seeing any more of those when the series returns to my Twitch channel next week. 18 - 19 - As for my YouTube channel, I plan to keep uploading my VODs from Twitch to YouTube like I have been. If you're wondering what I'm talking about, after my Twitch streams are over, I upload recordings of them to my YouTube channel as Unlisted. However, if you want to access them, you can head to the Playlists section on my YouTube channel and browse from there. Anyways, I want to keep doing more covers and keep releasing more videos of me playing music. I have a list of covers I want to get to, but I haven't been able to record any of them as of yet (except for one, which needs to be mixed, mastered, and edited together). I also have written a new song and am looking to get a music video of it done soon so be on the lookout for that on my YouTube channel. 20 - 21 - # MY MUSIC 22 - 23 - As I said in the last paragraph, I do have some new music coming out soon. It's been recorded, mixed, mastered--the whole kit and kaboodle. I just need to nail down some details to get a music video together and then you should be hearing it soon. I also have my EP of original music, some of which I released as an EP of demos last year titled Unweather, and that will be releasing sometime in the middle of the year, I project. It could be earlier, but I have another project that will be coming out first. 24 - 25 - Regarding that, that's an EP of some cover songs and while all the music has been recorded and finalized, I'm still working on a small part of the project that will be pretty cool and will involve some interesting pictures, so be on the lookout for that. I'll announce that on all of my socials (including here). 26 - 27 - # OTHER NEWS 28 - 29 - I am working on a number of projects (as always, haha), but some of them that I'll talk about here are The Four Woods Podcast, the Forest Cinema Podcast, and this blog. 30 - 31 - Starting with The Four Woods Podcast. It's the podcast that I launched last April as part of my senior project for my Media Studies degree. I have said that I do want to continue it past that senior project, and I do, in fact, have plans to do so, I just haven't gotten around to acting on those plans yet. I feel like this podcast is going to be a large project and I'll want to bring on at least a couple of people to do some parts of the podcast that I either find boring or can't do. Also on that note, I want to bring in some other writers with respect to Isaiah's character as a person of color (which I am not). Also just having a writing team that isn't comprised of just me will take a large load off my shoulders as showrunner. More news on The Four Woods Podcast should be coming by April. 32 - 33 - Moving onto the Forest Cinema Podcast. Most of you likely won't know what I'm talking about. But some of you might. In any case, the Forest Cinema Podcast is a podcast where I take pieces of media and analyze and review them critically from various angles. I've recorded episodes on media such as Hellblade: Senua's Sacrifice and Captain America: Civil War, so be on the lookout for an announcement of when that will be going live. I should be getting those first few episodes out by February. 34 - 35 - Onto this blog. Like I said at the beginning of this post, I haven't really used this blog all that much since putting it on my website at the beginning of last year. I want to be more intentional with my creative endeavors, so that means using this thing more often. I'll try to post an update on this blog every week or so talking about the things I've done or am doing that week, projects that are coming up, or announcements of music or podcast releases. Hopefully by the time this post has gone live, I'll have created an RSS link you can follow to get updates from this blog. 36 - 37 - --- 38 - 39 - Anyways, that's it from me for now. I'll see you in the next blog post, or if you want to come talk to me live, I'll be streaming live on my Twitch channel this Saturday at 1:00 pm PST, so you can come by the stream and chat with me then. 40 - 41 - **UPDATE**: I have realized since writing this post that I probably should have some kind of comments section on my posts. I will be looking into that in the interim, but for now, feel free to use the contact form on my website here or by contacting me on my various social medias to discuss this blog post. 42 - 43 - **2nd Update**: I have sort of obviously added a Disqus comment form down below that will appear underneath all of my blog posts (hopefully the way I set it up works for all of them and they don't duplicate, fingers crossed). We may have some bumps in the road later on, but for now, this is where we're at. Enjoy!
-20
content/contact.md
··· 1 - --- 2 - title: 'Contact Me' # in any language you want 3 - # url: "/archive" 4 - description: 'How can I help you?' 5 - disableShare: true 6 - layout: contact 7 - ShowReadingTime: false 8 - showToc: false 9 - Socials: 10 - - Icon: twitter 11 - Link: https://twitter.com/cityboundforest 12 - - Icon: mastodon 13 - Link: https://computerfairi.es/@cityboundforest 14 - - Icon: instagram 15 - Link: https://instagram.com/cityboundforest 16 - - Icon: youtube 17 - Link: https://youtube.com/@cityboundforest 18 - - Icon: twitch 19 - Link: https://twitch.tv/cityboundforest 20 - ---
-103
content/legal/privacy.md
··· 1 - --- 2 - title: Privacy Policy 3 - date: 2021-01-21T23:22:20+08:00 4 - layout: legal # is necessary 5 - searchHidden: true 6 - url: /legal/privacy 7 - description: This is the privacy policy page for Website Name (Website.com) 8 - --- 9 - ## Privacy Policy for Company Name 10 - At Website Name, accessible at Website.com, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Website Name and how we use it. 11 - 12 - If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us through email at [email protected] 13 - 14 - This privacy policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in Website Name. This policy is not applicable to any information collected offline or via channels other than this website. 15 - 16 - ## Consent 17 - 18 - By using our website, you hereby consent to our Privacy Policy and agree to its terms. 19 - 20 - ## Information we collect 21 - 22 - The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information. 23 - 24 - If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide. 25 - 26 - When you register for an Account, we may ask for your contact information, including items such as name, company name, address, email address, and telephone number. 27 - 28 - ## How we use your information 29 - 30 - We use the information we collect in various ways, including to: 31 - 32 - - Provide, operate, and maintain our website 33 - - Improve, personalize, and expand our website 34 - - Understand and analyze how you use our website 35 - - Develop new products, services, features, and functionality 36 - - Communicate with you, either directly or through one of our partners, including for customer service, to provide you with updates and other information relating to the website, and for marketing and promotional purposes 37 - - Send you emails 38 - - Find and prevent fraud 39 - 40 - ## Log Files 41 - 42 - Website Name follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information. 43 - 44 - ## Cookies and Web Beacons 45 - 46 - Like any other website, Website Name uses ‘cookies'. These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information. 47 - 48 - ## DoubleClick DART Cookie 49 - Google is one of a third-party vendor on our site. It also uses cookies, known as DART cookies, to serve ads to our site visitors based upon their visit to www.website.com and other sites on the internet. However, visitors may choose to decline the use of DART cookies by visiting the Google ad and content network Privacy Policy at the following URL – https://policies.google.com/technologies/ads. 50 - 51 - Some of advertisers on our site may use cookies and web beacons. Our advertising partners are listed below. Each of our advertising partners has their own Privacy Policy for their policies on user data. For easier access, we hyperlinked to their Privacy Policies below. 52 - 53 - - Google https://policies.google.com/technologies/ads 54 - 55 - ## Advertising Partners Privacy Policies 56 - 57 - You may consult this list to find the Privacy Policy for each of the advertising partners of Website Name. 58 - 59 - Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on Website Name, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit. 60 - 61 - Note that Website Name has no access to or control over these cookies that are used by third-party advertisers. 62 - 63 - ## Third-Party Privacy Policies 64 - 65 - Website Name's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options. You may find a complete list of these Privacy Policies and their links here: Privacy Policy Links. 66 - 67 - You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites. What Are Cookies? 68 - 69 - ## CCPA Privacy Policy (Do Not Sell My Personal Information) 70 - 71 - Under the CCPA, among other rights, California consumers have the right to: 72 - 73 - Request that a business that collects a consumer's personal data disclose the categories and specific pieces of personal data that a business has collected about consumers. 74 - 75 - Request that a business delete any personal data about the consumer that a business has collected. 76 - 77 - Request that a business that sells a consumer's personal data, not sell the consumer's personal data. 78 - 79 - If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us. 80 - 81 - ## GDPR Privacy Policy (Data Protection Rights) 82 - 83 - We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following: 84 - 85 - The right to access – You have the right to request copies of your personal data. We may charge you a small fee for this service. 86 - 87 - The right to rectification – You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete. 88 - 89 - The right to erasure – You have the right to request that we erase your personal data, under certain conditions. 90 - 91 - The right to restrict processing – You have the right to request that we restrict the processing of your personal data, under certain conditions. 92 - 93 - The right to object to processing – You have the right to object to our processing of your personal data, under certain conditions. 94 - 95 - The right to data portability – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions. 96 - 97 - If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us. 98 - 99 - ## Children's Information 100 - 101 - Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity. 102 - 103 - Website Name does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.
-63
content/legal/terms-and-conditions.md
··· 1 - --- 2 - title: Terms and Conditions 3 - date: 2021-01-21T23:22:20+08:00 4 - layout: legal # is necessary 5 - searchHidden: true 6 - url: /legal/terms-and-conditions 7 - description: This is the terms and conditions page for Website Name (Website.com) 8 - --- 9 - ## Terms and Conditions for Company Name 10 - ### Introduction 11 - These Website Standard Terms and Conditions written on this webpage shall manage your use of our website, Webiste Name accessible at Website.com. 12 - 13 - These Terms will be applied fully and affect to your use of this Website. By using this Website, you agreed to accept all terms and conditions written in here. You must not use this Website if you disagree with any of these Website Standard Terms and Conditions. 14 - 15 - Minors or people below 18 years old are not allowed to use this Website. 16 - 17 - ### Intellectual Property Rights 18 - Other than the content you own, under these Terms, Company Name and/or its licensors own all the intellectual property rights and materials contained in this Website. 19 - 20 - You are granted limited license only for purposes of viewing the material contained on this Website. 21 - 22 - ### Restrictions 23 - You are specifically restricted from all of the following: 24 - 25 - - publishing any Website material in any other media; 26 - - selling, sublicensing and/or otherwise commercializing any Website material; 27 - - publicly performing and/or showing any Website material; 28 - using this Website in any way that is or may be damaging to this Website; 29 - - using this Website in any way that impacts user access to this Website; 30 - - using this Website contrary to applicable laws and regulations, or in any way may cause harm to the Website, or to any person or business entity; 31 - - engaging in any data mining, data harvesting, data extracting or any other similar activity in relation to this Website; 32 - - using this Website to engage in any advertising or marketing. 33 - 34 - Certain areas of this Website are restricted from being access by you and Company Name may further restrict access by you to any areas of this Website, at any time, in absolute discretion. Any user ID and password you may have for this Website are confidential and you must maintain confidentiality as well. 35 - 36 - ### Your Content 37 - In these Website Standard Terms and Conditions, “Your Content” shall mean any audio, video text, images or other material you choose to display on this Website. By displaying Your Content, you grant Company Name a non-exclusive, worldwide irrevocable, sub licensable license to use, reproduce, adapt, publish, translate and distribute it in any and all media. 38 - 39 - Your Content must be your own and must not be invading any third-party's rights. Company Name reserves the right to remove any of Your Content from this Website at any time without notice. 40 - 41 - ### No warranties 42 - This Website is provided “as is,” with all faults, and Company Name express no representations or warranties, of any kind related to this Website or the materials contained on this Website. Also, nothing contained on this Website shall be interpreted as advising you. 43 - 44 - ### Limitation of liability 45 - In no event shall Company Name, nor any of its officers, directors and employees, shall be held liable for anything arising out of or in any way connected with your use of this Website whether such liability is under contract. Company Name, including its officers, directors and employees shall not be held liable for any indirect, consequential or special liability arising out of or in any way related to your use of this Website. 46 - 47 - ### Indemnification 48 - #### You hereby indemnify to the fullest extent Company Name from and against any and/or all liabilities, costs, demands, causes of action, damages and expenses arising in any way related to your breach of any of the provisions of these Terms. 49 - 50 - ### Severability 51 - If any provision of these Terms is found to be invalid under any applicable law, such provisions shall be deleted without affecting the remaining provisions herein. 52 - 53 - ### Variation of Terms 54 - Company Name is permitted to revise these Terms at any time as it sees fit, and by using this Website you are expected to review these Terms on a regular basis. 55 - 56 - ### Assignment 57 - The Company Name is allowed to assign, transfer, and subcontract its rights and/or obligations under these Terms without any notification. However, you are not allowed to assign, transfer, or subcontract any of your rights and/or obligations under these Terms. 58 - 59 - ### Entire Agreement 60 - These Terms constitute the entire agreement between Company Name and you in relation to your use of this Website, and supersede all prior agreements and understandings. 61 - 62 - ### Governing Law & Jurisdiction 63 - These Terms will be governed by and interpreted in accordance with the laws of the State of Country, and you submit to the non-exclusive jurisdiction of the state and federal courts located in Country for the resolution of any disputes.
-6
content/portfolio/_index.md
··· 1 - --- 2 - title: Portfolio 3 - image: "/uploads/portfolio-2.webp" 4 - description: A Sampling of My Work 5 - 6 - ---
-18
content/portfolio/bullet-rush.md
··· 1 - --- 2 - title: "Bullet Rush" 3 - description: "Cuphead meets First Person Shooter games - Programmer, Project Manager" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /bulletrush.png 12 - --- 13 - 14 - I took the Computer Game Technologies course at University of the Pacific in Fall 2019 to learn Video Game Design and Development. After pitching ideas to the class similarly to my earlier Application Development course, I was placed as the Project Manager of the Bullet Rush team along with a Lead Programmer, a general Programmer, and a Media Director. At the end of the course, we presented to the community for feedback. 15 - 16 - **Skills**: Unity, C#, Project Management, Agile Development 17 - 18 - [Bitbucket Repository](https://bitbucket.org/jacob5567/bullet-rush)
-18
content/portfolio/cansat.md
··· 1 - --- 2 - title: "CanSat" 3 - description: "A simulated sattelite in an enclosure the shape and size of a soda can - Programmer" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /cansat.png 12 - --- 13 - 14 - During my junior year of high school, my dad approached me with an offer to work on a project involving a simulated sattelite in an enclosure the size and shape of a soda can run by an Arduino. He connected me and two of his students to Ted Tagami of Magnitude.io and we were all connected with Dr. Elizabeth Basha and her students at University of the Pacific. The CanSat project was eventually launched into low-Earth orbit in November 2019. 15 - 16 - **Skills**: C++, Arduino 17 - 18 - [More Information](https://magnitude.io/exolab-and-cansat-designed-for-project-based-learning/)
-18
content/portfolio/dnd-combatsim.md
··· 1 - --- 2 - title: "Dungeons & Dragons Combat Simulator" 3 - description: "Combat simulator for the 5th edition of the Tabletop RPG Dungeons & Dragons - Programmer, Project Manager" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /dndcombatsim.png 12 - --- 13 - 14 - I took the Application Development course at University of the Pacific to learn how to work on a team to develop an application. In our groups, we proposed our final projects for the class and began our work. There were no roles, so I took initiative to be the Project Manager along with doing basic coding on the JSON data and general backend programming. 15 - 16 - **Skills**: Java, JavaScript, Project Management 17 - 18 - Because we used data from 5e.tools, I am not including a link to the repository here.
-24
content/portfolio/four-woods.md
··· 1 - --- 2 - title: "The Four Woods Podcast" 3 - description: "An audio drama podcast about myth and magic - Writer, Director, Editor, Producer" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /fourwoods.png 12 - --- 13 - 14 - The Four Woods Podcast, part of my senior project for my Media X degree at University of the Pacific, is an audio drama podcast about Ross Hansen, a 16-year-old kid who attends magical high school for the first time in his life after meeting his parents who he hasn't seen for thirteen years. A pilot episode of the podcast is currently available wherever you get your podcasts with more on the way in the coming months. 15 - 16 - **Skills**: Adobe Audition, Scriptwriting, Directing for Voiceover 17 - 18 - * [Anchor.FM Page](https://anchor.fm/4woodspodcast) 19 - * [Apple Podcasts Page](https://podcasts.apple.com/us/podcast/1-1-call-of-the-ocean/id1564849635?i=1000518763677) 20 - * [Google Podcasts Page](https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy81MjAwNTY0OC9wb2RjYXN0L3Jzcw==) 21 - * [Overcast Page](https://overcast.fm/itunes1564849635) 22 - * [Pocket Casts Page](https://pca.st/kexc4wrj) 23 - * [Radio Public Page](https://radiopublic.com/the-four-woods-8539gm) 24 - * [RSS Feed](https://anchor.fm/s/52005648/podcast/rss)
-18
content/portfolio/meme-machine.md
··· 1 - --- 2 - title: "Meme Machine" 3 - description: "Download, rate, and create memes - Programmer" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /mememachine.png 12 - --- 13 - 14 - The Association for Computing Machinery, University of the Pacific chapter created a project in March 2017 that downloads and aggregates memes from various social media sites including Reddit, Imgur, Tumblr, and Imgflip using Python and Haskell. It included a plan to write a module that would gather ratings and use the data as input for machine learning to create its own memes. 15 - 16 - **Skills**: Python, Python Reddit Aggregator Wrapper (PRAW), ImgurPython 17 - 18 - [GitHub Repository](https://github.com/uopacm/mememachinecollector)
-20
content/portfolio/shut-in.md
··· 1 - --- 2 - title: "Shut In" 3 - description: "Short Film - Gaffer, Foley Artist, Sound Editor" 4 - ShowRelated: false 5 - showToc: false 6 - ShowBreadCrumbs: true 7 - ShareButtons: [""] 8 - ShowReadingTime: false 9 - ShowAuthor: false 10 - cover: 11 - image: /shutin.png 12 - --- 13 - 14 - The San Joaquin County Office of Education held a two-week filmmaking workshop in June 2012. After a full day of shooting at a daycare in Manteca, CA, the crew premiered the film at the Lincoln High School theatre to a packed house. The crew then held a Q and A session with those in attendance. 15 - 16 - **Skills**: Final Cut Pro X, Adobe Premiere Pro, Foley Art, Lighting Setup 17 - 18 - [IMDB Link](https://www.imdb.com/title/tt2644836/) 19 - 20 - {{< youtube 1g2i2bYbwC8 >}}
-8
content/search.md
··· 1 - --- 2 - title: "Search" # in any language you want 3 - layout: "search" # is necessary 4 - # url: "/archive" 5 - # description: "Description for Search" 6 - summary: "search" 7 - --- 8 -
-19
content/thanks.md
··· 1 - --- 2 - title: "Thanks" # in any language you want 3 - layout: "thanks" # is necessary 4 - searchHidden: true 5 - # url: "/archive" 6 - description: "Thanks for the submission" 7 - summary: "thanks" 8 - --- 9 - 10 - {{< rawhtml >}} 11 - 12 - <hgroup> 13 - <h1>Thank you for your submission.</h1> 14 - <h2>I will get back to you as soon as I can.</h2> 15 - </hgroup> 16 - 17 - <a role="button" href="{{ "/" | absLangURL }}">Return home</a> 18 - 19 - {{< /rawhtml >}}
-181
hugo.yml
··· 1 - --- 2 - baseURL: https://cityboundforest.netlify.app 3 - languageCode: en-us 4 - title: C/B/F 5 - theme: piko 6 - paginate: "9" 7 - copyright: Cass Unterholzner 8 - googleAnalytics: # Enter Google Analytics ie. UA-012345678-9 9 - enableRobotsTXT: true 10 - buildDrafts: false 11 - buildFuture: false 12 - buildExpired: false 13 - enableEmoji: true 14 - outputs: 15 - home: 16 - - HTML 17 - - RSS 18 - - JSON 19 - minify: 20 - disableCSS: false 21 - disableHTML: false 22 - disableJS: false 23 - disableJSON: false 24 - disableSVG: false 25 - disableXML: false 26 - minifyOutput: true 27 - tdewolff: 28 - html: 29 - keepWhitespace: false 30 - 31 - params: 32 - analytics: 33 - google: 34 - SiteVerificationTag: # Google Site Verification 35 - yandex: 36 - SiteVerificationTag: # Yandex Site Verification 37 - bing: 38 - SiteVerificationTag: # Bing Site Verification 39 - env: production 40 - author: Cass Unterholzner 41 - description: Storyteller working in the media of film, theatre, video games, and music 42 - math: false 43 - images: 44 - - "/uploads/og.webp" 45 - label: 46 - title: _C / B / F_ 47 - text: CityboundForest 48 - lightNavIcon: /uploads/sun.svg 49 - darkNavIcon: /uploads/zap.svg 50 - iconHeight: "35" 51 - iconWIdth: "35" 52 - comments: true 53 - mainSections: 54 - - blog 55 - ShowShareButtons: true 56 - ShowCodeCopyButtons: true 57 - ShowRelated: true 58 - CookieNotice: We use cookies to improve your experience on our site. 59 - CookieLink: /legal/privacy/#cookies-and-web-beacons 60 - CookieButton: Cookies Policy 61 - disableAnchoredHeadings: false 62 - contactFormAction: # Get link from https://formsubmit.io or https://fabform.io 63 - assets: 64 - disableFingerprinting: false 65 - favicon: /uploads/zap.svg 66 - favicon16x16: /uploads/zap.svg 67 - favicon32x32: /uploads/zap.svg 68 - apple_touch_icon: /uploads/zap.svg 69 - safari_pinned_tab: /uploads/zap.svg 70 - ShowReadingTime: true 71 - ShowBreadCrumbs: true 72 - homepage: 73 - # Hero Section 74 - disableHeroSection: false 75 - heroUpperTitle: 76 - heroTitle: Cass Unterholzner 77 - heroDescription: Storyteller working in the media of film, theatre, video games, and music 78 - heroCTAPrimaryText: Portfolio 79 - heroCTAPrimaryUrl: "/portfolio" 80 - heroCTASecondaryText: Contact Me 81 - heroCTASecondaryUrl: "/contact/" 82 - heroBackgroundImage: "/banner.png" 83 - # Blog Section 84 - disableBlogSection: true 85 - blogTitle: Latest Posts 86 - blogDescription: This is my latest blog posts 87 - seeMoreText: More Posts 88 - # About Section 89 - disableAboutSection: false 90 - aboutTitle: About 91 - aboutDescription: 92 - aboutImgUrl: "/self.png" 93 - aboutContent: 94 - - "\"Creativity is an energy. It's a precious energy, and it's something to be protected. A lot of people take for granted that they're a creative person, but I know from experience, feeling it in myself, it is a magic; it is an energy. And it can't be taken for granted.\" --Ava DuVernay" 95 - - Every person is a story, and storyteller Cass Unterholzner is no different. They have been telling stories since they were younger. Their creative cravings have been sought after through short films, acting and playing music in musical theatre, developing and critiquing video games, and writing and recording music. 96 - - Cass is currently producing an audio drama podcast titled The Four Woods Podcast after developing it as a serial novel story with inspirations from the Harry Potter and Percy Jackson novels. 97 - - "Even before entering high school, Cass participated in the \"Go Film!\" workshop at the San Joaquin County Office of Education in Stockton, California learning about camera, lighting, and sound techniques. They worked with other teens to create and release a short film, as the Gaffer, the Foley Artist, and a Sound Editor. In high school, Cass took a class expanding their film knowledge in creating the school's announcements. After graduating, they started a YouTube channel where they posted short videos." 98 - - "Along with working in film, Cass also participated in musical theatre. They appeared in many productions starting in 2007 with \"Dear Edwina Jr\" at Stockton Civic Theatre as well as many church musicals. In 2009, Cass starred in \"The Music Man\" for a senior project in Manteca, California. Later, they were cast as Professor Quirrel and were set to be the Musical Director for a production of \"A Very Potter Musical\" while directing and developing a Murder Mystery Dinner containing mostly improvised scenes." 99 - - "Cass has always been interested in video game development and design as they played them often throughout their adolescence. This interest flourished and inspired them to major in Computer Science, first at San Joaquin Delta College and then University of the Pacific. They ended up switching their major to Media X to further pursue their passions. During their coursework, they worked with classmates to develop two games: a combat simulator for the tabletop role-playing game Dungeons and Dragons and a bullet-dodging game like the video game Cuphead. Cass intends to continue using video games as an alternate form of storytelling in the future." 100 - - "Music has always been part of Cass's life. Inspired by their older sister taking lessons, they decided to learn piano at age 5. They later picked up more instruments such as the clarinet, the cello, and the guitar. Cass was active in his high school's band program where they took to arranging and writing for their school's wind ensemble and jazz band. They also played cello often in college and assisted East Union High School's theatre class in a production of \"Next to Normal.\" In 2019, Cass sent a video of him playing an original song to the University of the Pacific's student association. This resulted in Cass playing both original and cover songs at their Brickyard Series concert. Cass now writes indie pop music in their spare time." 101 - - Cass hopes to further their storytelling career using their YouTube channel talking about gaming, music, and languages. Their free time consists of learning German, American Sign Language, Spanish, and Italian. When they're not crafting fantasy novels, Cass plays and runs sessions of various tabletop role-playing games for which they hope to develop a podcast in the future. 102 - # Portfolio Section 103 - disablePortfolioSection: true 104 - portfolioTitle: Portfolio 105 - portfolioDescription: A Sampling of My Work 106 - portfolio: 107 - - imageUrl: /fourwoods.png 108 - alt: A green circle in the center surrounded by a light green background. Inside the circle are four trees in different colors, fanning out in a plus formation. Below the circle is the words "The Four Woods" in white. 109 - description: An audio drama podcast about myth and magic - Writer, Director, Editor, Producer 110 - websiteUrl: # 111 - - imageUrl: /mememachine.png 112 - alt: A screenshot of Python code 113 - description: Download, rate, and create memes - Programmer 114 - websiteUrl: # 115 - - imageUrl: /shutin.png 116 - alt: A still taken from the short film Shut In that pictures a wireless home phone laying on its side. 117 - description: Short Film - Gaffer, Foley Artist, Sound Editor 118 - websiteUrl: # 119 - - imageUrl: /bulletrush.png 120 - alt: A screenshot from the game where the player is fighting a transparent cube that fires out transparent bubbles. 121 - description: Cuphead meets First Person Shooter games - Programmer, Project Manager 122 - - imageUrl: /dndcombatsim.png 123 - alt: A screenshot of the main menu of the game with the title "Dungeons & Mistakes" along with menu buttons for the options "New Character", "Load Character", "Options", and "Quit". 124 - description: Combat Simulator for the 5th edition of the Tabletop RPG Dungeons & Dragons - Programmer, Project Manager\ 125 - - imageUrl: /cansat.png 126 - alt: A CanSat, comprised of a 3D printed chassis containing an Arduino microchip and a custom PCB board containing sensors such as an accelerometer, a GPS sensor, and a barometer. 127 - description: A simulated sattelite in an enclosure the shape and size of a soda can - Programmer 128 - # Search Options (https://fusejs.io/) 129 - fuseOpts: 130 - isCaseSensitive: false 131 - shouldSort: true 132 - location: "0" 133 - distance: "1000" 134 - threshold: "0.4" 135 - minMatchCharLength: "0" 136 - keys: 137 - - title 138 - - permalink 139 - - summary 140 - - content 141 - plugins: 142 - css: 143 - - link: plugins/css/pico.min.css 144 - js: 145 - - link: plugins/js/feather.min.js 146 - DisqusShortname: cityboundforest 147 - menus: 148 - main: # Main Menu 149 - - name: Blog 150 - title: Blog 151 - pre: pen-tool 152 - url: "/blog" 153 - weight: "20" 154 - - name: Search 155 - title: Search 156 - pre: search 157 - url: "/search" 158 - weight: "30" 159 - - name: Contact 160 - title: Contact 161 - pre: mail 162 - url: "/contact" 163 - weight: "40" 164 - - name: Github 165 - title: 166 - pre: github 167 - url: https://github.com/skeetcha 168 - weight: "50" 169 - search: # Search page's quick links 170 - - name: Categories 171 - title: Categories 172 - url: "/categories" 173 - weight: "10" 174 - - name: Archives 175 - title: Archives 176 - url: "/archives" 177 - weight: "20" 178 - - name: Tags 179 - title: Tags 180 - url: "/tags" 181 - weight: "30"
-67
layouts/_default/contact.html
··· 1 - {{ define "main" }} 2 - <div class="min-h-80 contact-form"> 3 - <div class="container"> 4 - <hgroup> 5 - {{ partial "breadcrumbs.html" . }} 6 - <h1>{{ .Title }}</h1> 7 - <h2>{{ .Description }}</h2> 8 - </hgroup> 9 - <form name="contact" method="POST" action="{{ .Site.Params.contactFormAction | relURL }}" > 10 - <input name="_redirect" type="hidden" id="name" value="{{"/thanks/" | absURL}}"> 11 - <input name="_formsubmit_id" type="text" hidden> 12 - <div class="grid"> 13 - 14 - <label for="firstname"> 15 - First name 16 - <input type="text" id="firstname" name="firstname" placeholder="First name" required> 17 - </label> 18 - 19 - <label for="lastname"> 20 - Last name 21 - <input type="text" id="lastname" name="lastname" placeholder="Last name"> 22 - </label> 23 - 24 - </div> 25 - 26 - <label for="email">Email address</label> 27 - <input type="email" id="email" name="email" placeholder="Email address" required> 28 - <small>We'll never share your email with anyone else.</small> 29 - 30 - <label for="email">Your message</label> 31 - <textarea name="message" id="message" cols="30" rows="5" style="resize: none;" required></textarea> 32 - <small>Please let me know how I can help you.</small> 33 - 34 - <input type="submit"> 35 - 36 - </form> 37 - </div> 38 - <div class="container"> 39 - <p>Alternatively, you can reach out to me on my socials:</p> 40 - {{ range .Params.Socials }} 41 - <a href="{{ .Link }}" style="text-decoration: none;color: #ccc"><span style="padding-left:2px;"></span> 42 - {{ if eq .Icon "twitter" }} 43 - {{ partial "twitter-icon.html" }} 44 - {{ else if eq .Icon "linkedin" }} 45 - {{ partial "linkedin-icon.html" }} 46 - {{ else if eq .Icon "reddit" }} 47 - {{ partial "reddit-icon.html" }} 48 - {{ else if eq .Icon "facebook" }} 49 - {{ partial "facebook-icon.html" }} 50 - {{ else if eq .Icon "whatsapp" }} 51 - {{ partial "whatsapp-icon.html" }} 52 - {{ else if eq .Icon "telegram" }} 53 - {{ partial "telegram-icon.html" }} 54 - {{ else if eq .Icon "mastodon" }} 55 - {{ partial "mastodon-icon.html" }} 56 - {{ else if eq .Icon "instagram" }} 57 - {{ partial "instagram-icon.html" }} 58 - {{ else if eq .Icon "youtube" }} 59 - {{ partial "youtube-icon.html" }} 60 - {{ else if eq .Icon "twitch" }} 61 - {{ partial "twitch-icon.html" }} 62 - {{ end }} 63 - </span></a> 64 - {{ end }} 65 - </div> 66 - </div> 67 - {{ end }}
-128
layouts/index.html
··· 1 - {{ define "main" }} 2 - {{- if not (.Site.Params.homepage.disableHeroSection) }} 3 - <section class="hero" style="background-image:linear-gradient(rgba(20,30,38, 0.9), rgba(24,44,54, 0.8)), 4 - url('{{.Site.Params.homepage.heroBackgroundImage}}'); "> 5 - <header class="container"> 6 - <hgroup> 7 - <h1>{{.Site.Params.homepage.heroUpperTitle}}</h1> 8 - <h1>{{.Site.Params.homepage.heroTitle}}</h1> 9 - <h2>{{.Site.Params.homepage.heroDescription}}</h2> 10 - </hgroup> 11 - <div> 12 - <a 13 - class="hero-buttons" 14 - href="{{ .Site.Params.homepage.heroCTAPrimaryUrl | relURL }}" 15 - role="button" 16 - >{{.Site.Params.homepage.heroCTAPrimaryText}}</a 17 - > 18 - <a 19 - href="{{ .Site.Params.homepage.heroCTASecondaryUrl | relURL }}" 20 - role="button" 21 - class="contrast outline" 22 - >{{.Site.Params.homepage.heroCTASecondaryText}}</a 23 - > 24 - </div> 25 - </header> 26 - </section> 27 - {{ end }} 28 - 29 - 30 - {{- if not (.Site.Params.homepage.disableBlogSection) }} 31 - <section> 32 - <hgroup class="text-center"> 33 - <h2>{{.Site.Params.homepage.blogTitle}}</h2> 34 - <h3>{{.Site.Params.homepage.blogDescription}}</h3> 35 - </hgroup> 36 - <div class="container"> 37 - <div class="grid grid-post"> 38 - {{ $paginator := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections | first 39 - 3) }} {{ range $paginator.Pages }} 40 - <a href="{{ .RelPermalink }}"> 41 - <article class="text-center"> 42 - {{if .Params.Cover.Image}} 43 - <figure> 44 - <img 45 - src="{{.Params.Cover.Image | absURL}}" 46 - width="600" 47 - height="400" 48 - layout="responsive" 49 - ></img> 50 - {{ end }} 51 - </figure> 52 - <hgroup> 53 - <h3>{{ .Title }}</h3> 54 - <hr /> 55 - <p> 56 - {{ .Description | plainify | htmlUnescape | truncate 100 }}{{ if 57 - .Truncated }}...{{ end }} 58 - </p> 59 - </hgroup> 60 - <small> {{- partial "post_meta.html" . -}} </small> 61 - </article> 62 - </a> 63 - {{ end }} 64 - </div> 65 - </div> 66 - <div class="text-center"> 67 - <a href="{{ "/blog" | absLangURL }}"><kbd>{{.Site.Params.homepage.seeMoreText}}</kbd></a> 68 - </div> 69 - </section> 70 - {{ end }} 71 - 72 - {{- if not (.Site.Params.homepage.disableAboutSection) }} 73 - <section> 74 - <hgroup class="text-center"> 75 - <a id="about"><h2>{{.Site.Params.homepage.aboutTitle}}</h2></a> 76 - <h3>{{.Site.Params.homepage.aboutDescription}}</h3> 77 - </hgroup> 78 - <div class="container"> 79 - <div class="grid"> 80 - <div class="container" style="text-align: right;"> 81 - <img 82 - src="{{.Site.Params.homepage.aboutImgUrl}}" 83 - alt="{{.Site.Params.author}}" 84 - width="300" 85 - height="450" 86 - layout="intrinsic" 87 - ></img> 88 - </div> 89 - <div class="container"> 90 - {{ range .Site.Params.homepage.aboutContent }} 91 - <p>{{ . }}</p> 92 - {{ end }} 93 - </div> 94 - </div> 95 - </div> 96 - </section> 97 - {{ end }} 98 - 99 - {{- if not (.Site.Params.homepage.disablePortfolioSection) }} 100 - <section> 101 - <hgroup class="text-center"> 102 - <a id="portfolio"><h2>{{.Site.Params.homepage.portfolioTitle}}</h2></a> 103 - <h3>{{.Site.Params.homepage.portfolioDescription}}</h3> 104 - </hgroup> 105 - <div class="container"> 106 - <div class="grid grid-post"> 107 - {{ range .Site.Params.homepage.portfolio }} 108 - <a class="portfolio-post" href="{{.websiteUrl}}"> 109 - <figure > 110 - <img 111 - src="{{.imageUrl}}" 112 - width="600" 113 - height="400" 114 - layout="responsive" 115 - alt="{{.alt}}" 116 - ></img> 117 - </figure> 118 - <hgroup class="text-center"> 119 - <h4>{{.description}}</h4> 120 - </hgroup> 121 - </a> 122 - {{ end }} 123 - </div> 124 - </div> 125 - </section> 126 - {{ end }} 127 - 128 - {{ end }}
-11
layouts/partials/author.html
··· 1 - {{- if .Params.ShowAuthor }} 2 - {{- if or .Params.author .Site.Params.author }} 3 - {{- $author := (.Params.author | default .Site.Params.author) }} 4 - {{- $author_type := (printf "%T" $author) }} 5 - {{- if (or (eq $author_type "[]string") (eq $author_type "[]interface {}")) }} 6 - {{- (delimit $author ", " ) }} 7 - {{- else }} 8 - {{- $author }} 9 - {{- end }} 10 - {{- end -}} 11 - {{- end -}}
-4
layouts/partials/comments.html
··· 1 - {{- /* Comments area start */ -}} 2 - {{- /* to add comments read => https://gohugo.io/content-management/comments/ */ -}} 3 - {{- template "_internal/disqus.html" }} 4 - {{- /* Comments area end */ -}}
-4
layouts/partials/facebook-icon.html
··· 1 - <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" width=50> 2 - <path 3 - d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" /> 4 - </svg>
-101
layouts/partials/footer.html
··· 1 - {{- if not (.Param "hideFooter") }} 2 - <footer class="text-center"> 3 - {{- if .Site.Copyright }} 4 - <span>{{ .Site.Copyright | markdownify }} &copy; 2020-{{ now.Format "2006"}} {{ .Site.Title }}</span> 5 - {{- else }} 6 - <span>&copy; 2020-{{ now.Format "2006"}} <a href="{{ "" | absLangURL }}">{{ .Site.Title }}</a></span> 7 - {{- end }} 8 - <div> 9 - <!--<a href="{{ "/legal/privacy" | absLangURL }}">Privacy Policy</a> 10 - <span>&</span> 11 - <a href="{{ "/legal/terms-and-conditions" | absLangURL }}">Terms and Conditions</a>--> 12 - </div> 13 - </footer> 14 - {{- end }} 15 - 16 - {{- partial "extendfooter.html" . }} 17 - 18 - {{- partial "cookie-disclaimer.html" . }} 19 - <script> 20 - let menu = document.getElementById('menu') 21 - if (menu) { 22 - menu.scrollLeft = localStorage.getItem("menu-scroll-position"); 23 - menu.onscroll = function () { 24 - localStorage.setItem("menu-scroll-position", menu.scrollLeft); 25 - } 26 - } 27 - 28 - document.querySelectorAll('a[href^="#"]').forEach(anchor => { 29 - anchor.addEventListener("click", function (e) { 30 - e.preventDefault(); 31 - var id = this.getAttribute("href").substr(1); 32 - if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) { 33 - document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({ 34 - behavior: "smooth" 35 - }); 36 - } else { 37 - document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView(); 38 - } 39 - if (id === "top") { 40 - history.replaceState(null, null, " "); 41 - } else { 42 - history.pushState(null, null, `#${id}`); 43 - } 44 - }); 45 - }); 46 - 47 - </script> 48 - 49 - 50 - 51 - 52 - {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (.Param "ShowCodeCopyButtons")) }} 53 - <script> 54 - document.querySelectorAll('pre > code').forEach((codeblock) => { 55 - const container = codeblock.parentNode.parentNode; 56 - 57 - const copybutton = document.createElement('kbd'); 58 - copybutton.classList.add('copy-code'); 59 - copybutton.innerText = '{{- i18n "code_copy" | default "copy" }}'; 60 - 61 - function copyingDone() { 62 - copybutton.innerText = '{{- i18n "code_copied" | default "copied!" }}'; 63 - setTimeout(() => { 64 - copybutton.innerText = '{{- i18n "code_copy" | default "copy" }}'; 65 - }, 2000); 66 - } 67 - 68 - copybutton.addEventListener('click', (cb) => { 69 - if ('clipboard' in navigator) { 70 - navigator.clipboard.writeText(codeblock.textContent); 71 - copyingDone(); 72 - return; 73 - } 74 - 75 - const range = document.createRange(); 76 - range.selectNodeContents(codeblock); 77 - const selection = window.getSelection(); 78 - selection.removeAllRanges(); 79 - selection.addRange(range); 80 - try { 81 - document.execCommand('copy'); 82 - copyingDone(); 83 - } catch (e) { }; 84 - selection.removeRange(range); 85 - }); 86 - 87 - if (container.classList.contains("highlight")) { 88 - container.appendChild(copybutton); 89 - } else if (container.parentNode.firstChild == container) { 90 - // td containing LineNos 91 - } else if (codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName == "TABLE") { 92 - // table containing LineNos and code 93 - codeblock.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(copybutton); 94 - } else { 95 - // code blocks not having highlight as parent class 96 - codeblock.parentNode.appendChild(copybutton); 97 - } 98 - }); 99 - </script> 100 - 101 - {{- end }}
-100
layouts/partials/head.html
··· 1 - <meta charset="UTF-8" /> 2 - <title> 3 - {{ if .IsHome }}{{ else }}{{ if .Title }}{{ .Title }} | {{ end }}{{ end }}{{ 4 - .Site.Title }} 5 - </title> 6 - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 7 - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8 - 9 - {{- /* Meta */}} 10 - 11 - <meta name="description" content="{{- with .Description }}{{ . }}{{- else }}{{- if or .IsPage .IsSection}} 12 - {{- .Summary | default (printf "%s - %s" .Title .Site.Title) }}{{- else }} 13 - {{- with .Site.Params.description }}{{ . }}{{- end }}{{- end }}{{- end -}}"> 14 - <meta name="author" content="{{ (partial "author.html" . ) }}"> 15 - <link rel="canonical" href="{{ if .Params.canonicalURL -}} {{ trim .Params.canonicalURL " " }} {{- else -}} {{ .Permalink }} {{- end }}" /> 16 - {{- if .Site.Params.analytics.google.SiteVerificationTag }} 17 - <meta name="google-site-verification" content="{{ .Site.Params.analytics.google.SiteVerificationTag }}" /> 18 - {{- end }} 19 - {{- if .Site.Params.analytics.yandex.SiteVerificationTag }} 20 - <meta name="yandex-verification" content="{{ .Site.Params.analytics.yandex.SiteVerificationTag }}" /> 21 - {{- end }} 22 - {{- if .Site.Params.analytics.bing.SiteVerificationTag }} 23 - <meta name="msvalidate.01" content="{{ .Site.Params.analytics.bing.SiteVerificationTag }}" /> 24 - {{- end }} 25 - 26 - {{ "<!-- custom CSS -->" | safeHTML }} 27 - {{ $customstyles := resources.Get "sass/colors.scss" | resources.ToCSS | minify }} 28 - <link rel="stylesheet" href="{{ $customstyles.Permalink }}" /> 29 - 30 - {{ "<!-- Main Stylesheet -->" | safeHTML }} 31 - {{ $styles := resources.Get "sass/main.scss" | resources.ToCSS | minify }} 32 - <link rel="stylesheet" href="{{ $styles.Permalink }}" /> 33 - 34 - {{ "<!-- Nav Stylesheet -->" | safeHTML }} 35 - {{ $navstyles := resources.Get "sass/nav.scss" | resources.ToCSS | minify }} 36 - <link rel="stylesheet" href="{{ $navstyles.Permalink }}" /> 37 - 38 - {{ "<!-- plugins CSS -->" | safeHTML }} 39 - {{ range site.Params.plugins.css }} 40 - <link rel="stylesheet" href="{{ .link | absURL }} " /> 41 - {{ end }} 42 - 43 - {{- /* Search */}} 44 - {{- if (eq .Layout `search`) -}} 45 - <link crossorigin="anonymous" rel="preload" as="fetch" href="../index.json"> 46 - {{- $fastsearch := resources.Get "js/fastsearch.js" | js.Build (dict "params" (dict "fuseOpts" .Site.Params.fuseOpts)) }} 47 - {{- $fusejs := resources.Get "js/fuse.js" }} 48 - {{- if not .Site.Params.assets.disableFingerprinting }} 49 - {{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" | minify | fingerprint }} 50 - <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}" integrity="{{ $search.Data.Integrity }}"></script> 51 - {{- else }} 52 - {{- $search := (slice $fusejs $fastsearch ) | resources.Concat "assets/js/search.js" | minify }} 53 - <script defer crossorigin="anonymous" src="{{ $search.RelPermalink }}"></script> 54 - {{- end }} 55 - {{- end -}} 56 - 57 - {{- /* Highlight.js */}} 58 - {{- $isHLJSdisabled := (.Site.Params.assets.disableHLJS | default .Params.disableHLJS ) }} 59 - {{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (not $isHLJSdisabled)) }} 60 - {{- if not .Site.Params.assets.disableFingerprinting }} 61 - {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | minify | fingerprint }} 62 - <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" integrity="{{ $highlight.Data.Integrity }}" 63 - onload="hljs.initHighlightingOnLoad();"></script> 64 - {{- else }} 65 - {{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | minify }} 66 - <script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" onload="hljs.initHighlightingOnLoad();"></script> 67 - {{- end }} 68 - {{- end }} 69 - 70 - {{- /* Favicons */}} 71 - <link rel="icon" href="{{ .Site.Params.assets.favicon | default "favicon.ico" | absURL }}"> 72 - <link rel="icon" type="image/png" sizes="16x16" href="{{ .Site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}"> 73 - <link rel="icon" type="image/png" sizes="32x32" href="{{ .Site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL }}"> 74 - <link rel="apple-touch-icon" href="{{ .Site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL }}"> 75 - <link rel="mask-icon" href="{{ .Site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL }}"> 76 - <meta name="theme-color" content="{{ .Site.Params.assets.theme_color | default "#2e2e33" }}"> 77 - <meta name="msapplication-TileColor" content="{{ .Site.Params.assets.msapplication_TileColor | default "#2e2e33" }}"> 78 - 79 - {{- /* Generator */}} 80 - {{ hugo.Generator }} 81 - 82 - {{- /* RSS */}} 83 - {{ range .AlternativeOutputFormats -}} 84 - <link rel="{{ .Rel }}" type="{{ .MediaType.Type | html }}" href="{{ .Permalink | safeURL }}"> 85 - {{ end -}} 86 - 87 - {{/* Math Type Setting */}} 88 - {{ if or .Params.math .Site.Params.math }} 89 - {{- partial "math.html" . }} 90 - {{ end }} 91 - 92 - {{- /* Misc */}} 93 - {{- if hugo.IsProduction | or (eq .Site.Params.env "production") }} 94 - {{- template "_internal/google_analytics.html" . }} 95 - {{- template "_internal/twitter_cards.html" . }} 96 - {{- template "partials/templates/opengraph.html" . }} 97 - {{- template "partials/templates/twitter_cards.html" . }} 98 - {{- template "partials/templates/schema_json.html" . }} 99 - 100 - {{- end -}}
-20
layouts/partials/instagram-icon.html
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width=50 viewBox="0 0 132 132"> 2 - <defs> 3 - <linearGradient id="b"> 4 - <stop offset="0" stop-color="#3771c8"/> 5 - <stop stop-color="#3771c8" offset=".128"/> 6 - <stop offset="1" stop-color="#60f" stop-opacity="0"/> 7 - </linearGradient> 8 - <linearGradient id="a"> 9 - <stop offset="0" stop-color="#fd5"/> 10 - <stop offset=".1" stop-color="#fd5"/> 11 - <stop offset=".5" stop-color="#ff543e"/> 12 - <stop offset="1" stop-color="#c837ab"/> 13 - </linearGradient> 14 - <radialGradient id="c" cx="158.429" cy="578.088" r="65" xlink:href="#a" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0 -1.98198 1.8439 0 -1031.402 454.004)" fx="158.429" fy="578.088"/> 15 - <radialGradient id="d" cx="147.694" cy="473.455" r="65" xlink:href="#b" gradientUnits="userSpaceOnUse" gradientTransform="matrix(.17394 .86872 -3.5818 .71718 1648.348 -458.493)" fx="147.694" fy="473.455"/> 16 - </defs> 17 - <path fill="url(#c)" d="M65.03 0C37.888 0 29.95.028 28.407.156c-5.57.463-9.036 1.34-12.812 3.22-2.91 1.445-5.205 3.12-7.47 5.468C4 13.126 1.5 18.394.595 24.656c-.44 3.04-.568 3.66-.594 19.188-.01 5.176 0 11.988 0 21.125 0 27.12.03 35.05.16 36.59.45 5.42 1.3 8.83 3.1 12.56 3.44 7.14 10.01 12.5 17.75 14.5 2.68.69 5.64 1.07 9.44 1.25 1.61.07 18.02.12 34.44.12 16.42 0 32.84-.02 34.41-.1 4.4-.207 6.955-.55 9.78-1.28 7.79-2.01 14.24-7.29 17.75-14.53 1.765-3.64 2.66-7.18 3.065-12.317.088-1.12.125-18.977.125-36.81 0-17.836-.04-35.66-.128-36.78-.41-5.22-1.305-8.73-3.127-12.44-1.495-3.037-3.155-5.305-5.565-7.624C116.9 4 111.64 1.5 105.372.596 102.335.157 101.73.027 86.19 0H65.03z" transform="translate(1.004 1)"/> 18 - <path fill="url(#d)" d="M65.03 0C37.888 0 29.95.028 28.407.156c-5.57.463-9.036 1.34-12.812 3.22-2.91 1.445-5.205 3.12-7.47 5.468C4 13.126 1.5 18.394.595 24.656c-.44 3.04-.568 3.66-.594 19.188-.01 5.176 0 11.988 0 21.125 0 27.12.03 35.05.16 36.59.45 5.42 1.3 8.83 3.1 12.56 3.44 7.14 10.01 12.5 17.75 14.5 2.68.69 5.64 1.07 9.44 1.25 1.61.07 18.02.12 34.44.12 16.42 0 32.84-.02 34.41-.1 4.4-.207 6.955-.55 9.78-1.28 7.79-2.01 14.24-7.29 17.75-14.53 1.765-3.64 2.66-7.18 3.065-12.317.088-1.12.125-18.977.125-36.81 0-17.836-.04-35.66-.128-36.78-.41-5.22-1.305-8.73-3.127-12.44-1.495-3.037-3.155-5.305-5.565-7.624C116.9 4 111.64 1.5 105.372.596 102.335.157 101.73.027 86.19 0H65.03z" transform="translate(1.004 1)"/> 19 - <path fill="#fff" d="M66.004 18c-13.036 0-14.672.057-19.792.29-5.11.234-8.598 1.043-11.65 2.23-3.157 1.226-5.835 2.866-8.503 5.535-2.67 2.668-4.31 5.346-5.54 8.502-1.19 3.053-2 6.542-2.23 11.65C18.06 51.327 18 52.964 18 66s.058 14.667.29 19.787c.235 5.11 1.044 8.598 2.23 11.65 1.227 3.157 2.867 5.835 5.536 8.503 2.667 2.67 5.345 4.314 8.5 5.54 3.054 1.187 6.543 1.996 11.652 2.23 5.12.233 6.755.29 19.79.29 13.037 0 14.668-.057 19.788-.29 5.11-.234 8.602-1.043 11.656-2.23 3.156-1.226 5.83-2.87 8.497-5.54 2.67-2.668 4.31-5.346 5.54-8.502 1.18-3.053 1.99-6.542 2.23-11.65.23-5.12.29-6.752.29-19.788 0-13.036-.06-14.672-.29-19.792-.24-5.11-1.05-8.598-2.23-11.65-1.23-3.157-2.87-5.835-5.54-8.503-2.67-2.67-5.34-4.31-8.5-5.535-3.06-1.187-6.55-1.996-11.66-2.23-5.12-.233-6.75-.29-19.79-.29zm-4.306 8.65c1.278-.002 2.704 0 4.306 0 12.816 0 14.335.046 19.396.276 4.68.214 7.22.996 8.912 1.653 2.24.87 3.837 1.91 5.516 3.59 1.68 1.68 2.72 3.28 3.592 5.52.657 1.69 1.44 4.23 1.653 8.91.23 5.06.28 6.58.28 19.39s-.05 14.33-.28 19.39c-.214 4.68-.996 7.22-1.653 8.91-.87 2.24-1.912 3.835-3.592 5.514-1.68 1.68-3.275 2.72-5.516 3.59-1.69.66-4.232 1.44-8.912 1.654-5.06.23-6.58.28-19.396.28-12.817 0-14.336-.05-19.396-.28-4.68-.216-7.22-.998-8.913-1.655-2.24-.87-3.84-1.91-5.52-3.59-1.68-1.68-2.72-3.276-3.592-5.517-.657-1.69-1.44-4.23-1.653-8.91-.23-5.06-.276-6.58-.276-19.398s.046-14.33.276-19.39c.214-4.68.996-7.22 1.653-8.912.87-2.24 1.912-3.84 3.592-5.52 1.68-1.68 3.28-2.72 5.52-3.592 1.692-.66 4.233-1.44 8.913-1.655 4.428-.2 6.144-.26 15.09-.27zm29.928 7.97c-3.18 0-5.76 2.577-5.76 5.758 0 3.18 2.58 5.76 5.76 5.76 3.18 0 5.76-2.58 5.76-5.76 0-3.18-2.58-5.76-5.76-5.76zm-25.622 6.73c-13.613 0-24.65 11.037-24.65 24.65 0 13.613 11.037 24.645 24.65 24.645C79.617 90.645 90.65 79.613 90.65 66S79.616 41.35 66.003 41.35zm0 8.65c8.836 0 16 7.163 16 16 0 8.836-7.164 16-16 16-8.837 0-16-7.164-16-16 0-8.837 7.163-16 16-16z"/> 20 - </svg>
-4
layouts/partials/linkedin-icon.html
··· 1 - <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" width=50> 2 - <path 3 - d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" /> 4 - </svg>
-4
layouts/partials/mastodon-icon.html
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" width=50 viewBox="0 0 216.4144 232.00976"> 2 - <path fill="#2b90d9" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/> 3 - <path fill="#fff" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/> 4 - </svg>
-4
layouts/partials/reddit-icon.html
··· 1 - <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" width=50> 2 - <path 3 - d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" /> 4 - </svg>
-4
layouts/partials/telegram-icon.html
··· 1 - <svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" width=50> 2 - <path 3 - d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" /> 4 - </svg>
-9
layouts/partials/twitch-icon.html
··· 1 - <svg viewBox="0 0 112 128" xmlns="http://www.w3.org/2000/svg" width=50> 2 - <defs></defs> 3 - <g transform="matrix(1, 0, 0, 1, -304.5, -80.75)"> 4 - <g transform="matrix(1.333333, 0, 0, -1.333333, 405.975952, 148.541428)" id="g3365"> 5 - <path id="path3367" style="fill:#6441a5;fill-opacity:1;fill-rule:evenodd;stroke:none" d="m 0,0 -13.652,-13.651 -21.445,0 -11.699,-11.697 0,11.697 -17.548,0 0,56.544 L 0,42.893 0,0 Z m -72.146,50.692 -3.899,-15.599 0,-70.19 17.55,0 0,-9.751 9.746,0 9.752,9.751 15.596,0 31.196,31.192 0,54.597 -79.941,0 z"></path> 6 - </g> 7 - <path id="path3369" style="fill:#6441a5;fill-opacity:1;fill-rule:evenodd;stroke:none" d="M 348.78 143.346 L 359.179 143.346 L 359.179 112.145 L 348.78 112.145 L 348.78 143.346 Z M 377.375 143.346 L 387.773 143.346 L 387.773 112.145 L 377.375 112.145 L 377.375 143.346 Z"></path> 8 - </g> 9 - </svg>
-4
layouts/partials/twitter-icon.html
··· 1 - <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" width=50> 2 - <path 3 - d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" /> 4 - </svg>
-4
layouts/partials/whatsapp-icon.html
··· 1 - <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" width=50> 2 - <path 3 - d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" /> 4 - </svg>
-4
layouts/partials/youtube-icon.html
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" width=50 viewBox="0 0 159 110"> 2 - <path d="m154 17.5c-1.82-6.73-7.07-12-13.8-13.8-9.04-3.49-96.6-5.2-122 0.1-6.73 1.82-12 7.07-13.8 13.8-4.08 17.9-4.39 56.6 0.1 74.9 1.82 6.73 7.07 12 13.8 13.8 17.9 4.12 103 4.7 122 0 6.73-1.82 12-7.07 13.8-13.8 4.35-19.5 4.66-55.8-0.1-75z" fill="#f00"/> 3 - <path d="m105 55-40.8-23.4v46.8z" fill="#fff"/> 4 - </svg>
-40
netlify.toml
··· 1 - [build] 2 - publish = "public" 3 - command = "hugo --gc --minify" 4 - 5 - [context.production.environment] 6 - HUGO_VERSION = "0.117.0" 7 - HUGO_ENV = "production" 8 - HUGO_ENABLEGITINFO = "true" 9 - 10 - [context.split1] 11 - command = "hugo --gc --minify --enableGitInfo" 12 - 13 - [context.split1.environment] 14 - HUGO_VERSION = "0.117.0" 15 - HUGO_ENV = "production" 16 - 17 - [context.deploy-preview] 18 - command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL" 19 - 20 - [context.deploy-preview.environment] 21 - HUGO_VERSION = "0.117.0" 22 - 23 - [context.branch-deploy] 24 - command = "hugo --gc --minify -b $DEPLOY_PRIME_URL" 25 - 26 - [context.branch-deploy.environment] 27 - HUGO_VERSION = "0.117.0" 28 - 29 - [context.next.environment] 30 - HUGO_ENABLEGITINFO = "true" 31 - 32 - [[redirects]] 33 - from = "/npmjs/*" 34 - to = "/npmjs/" 35 - status = 200 36 - 37 - [[redirects]] 38 - from = "https://cass.cityboundforest.com" 39 - to = "https://bsky.app/profile/cass.cityboundforest.com" 40 - status = 301
-1
resources/_gen/assets/scss/sass/colors.scss_170188855d14d903eca10cc8b6dffa74.content
··· 1 - [data-theme=dark]{--background-color:#101f14 !important;--color:#bbcdbf !important;--h1-color:#edf3ef !important;--h2-color:#e0ebe4 !important;--h3-color:#d5e2d8 !important;--h4-color:#c8d8cc !important;--h5-color:#bbcdbf !important;--h6-color:#afc4b4 !important;--muted-border-color:#1f3825 !important;--primary:#07400b !important;--primary-hover:#0c6e13 !important;--primary-focus:rgba(16, 193, 30, 0.25) !important;--secondary:#597860 !important;--secondary-hover:#728c78 !important;--secondary-focus:rgba(114, 140, 120, 0.25) !important;--contrast:#edf3ef !important;--contrast-focus:rgba(114, 140, 120, 0.25) !important;--form-element-background-color:#101f14 !important;--form-element-border-color:#37563e !important;--form-element-disabled-background-color:#2c4933 !important;--form-element-disabled-border-color:#406249 !important;--switch-background-color:#37563e !important;--range-border-color:#d5e2d8 !important;--range-active-border-color:#bbcdbf !important;--table-row-stripped-background-color:#f6f9f6 !important;--code-background-color:#edf3ef !important;--card-box-shadow:0 0.125rem 1rem rgba(26, 50, 33, 0.04),0 0.125rem 2rem rgba(26, 50, 33, 0.08),0 0 0 0.0625rem rgba(26, 50, 33, 0.024) !important;--card-sectionning-background-color:#fbfcfb !important;--modal-overlay-background-color:rgba(213, 226, 216, 0.8) !important}[data-theme=light]{--color:#406249 !important;--h1-color:#1a3221 !important;--h2-color:#233e2a !important;--h3-color:#2c4933 !important;--h4-color:#37563e !important;--h5-color:#406249 !important;--h6-color:#4d6d54 !important;--muted-border-color:#edf3ef !important;--primary:#10c11e !important;--primary-hover:#089b14 !important;--primary-focus:rgba(16, 193, 30, 0.13) !important;--secondary:#597860 !important;--secondary-hover:#406249 !important;--secondary-focus:rgba(89, 120, 96, 0.125) !important;--contrast:#1a3221 !important;--contrast-focus:rgba(89, 120, 96, 0.125) !important;--form-element-border-color:#a2b9a8 !important;--form-element-disabled-background-color:#d5e2d8 !important;--form-element-disabled-border-color:#a2b9a8 !important;--switch-background-color:#bbcdbf !important;--range-border-color:#d5e2d8 !important;--range-active-border-color:#bbcdbf !important;--table-row-stripped-background-color:#f6f9f6 !important;--code-background-color:#edf3ef !important;--card-box-shadow:0 0.125rem 1rem rgba(26, 50, 33, 0.04),0 0.125rem 2rem rgba(26, 50, 33, 0.08),0 0 0 0.0625rem rgba(26, 50, 33, 0.024) !important;--card-sectionning-background-color:#fbfcfb !important;--modal-overlay-background-color:rgba(213, 226, 216, 0.8) !important}.hero .hero-buttons{color:var(--color)!important}nav a{--color:var(--color) !important}nav a:hover{--color:var(--primary-hover) !important}a{color:var(--link-color)!important}
-1
resources/_gen/assets/scss/sass/colors.scss_170188855d14d903eca10cc8b6dffa74.json
··· 1 - {"Target":"sass/colors.min.css","MediaType":"text/css","Data":{}}
-1
resources/_gen/assets/scss/sass/main.scss_170188855d14d903eca10cc8b6dffa74.content
··· 1 - [data-theme=light],:root:not([data-theme=dark]){--muted-color:#4b5c4f !important;--link-color:#275933 !important}@media only screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--muted-color:#8fb197 !important;--link-color:#4ba862 !important}}[data-theme=dark]{--muted-color:#8fb197 !important;--link-color:#4ba862 !important}:root{--spacing-hero:5rem;--border-radius:0.3rem !important}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;scroll-behavior:smooth}.hero{background-color:#38463c;background-position:50%;background-size:cover}.hero h1,.hero a[role=button].outline.contrast{color:#edf3ef;border-color:#edf3ef}.hero .hero-buttons{margin:10px 10px 10px 0;color:var(--mark-color)}header{padding:var(--spacing-hero)0}.logo{width:fit-content;display:flex;align-items:center}@media(min-width:0px) and (max-width:1200px){main{margin-top:50px}}img{object-fit:cover}.text-center{text-align:center}.button,kbd{margin:10px}img,.button{border-radius:var(--border-radius)}a{text-decoration:none!important;color:var(--link-color)}.grid article{padding:calc(var(--spacing) * 1.2)var(--block-spacing-horizontal);margin:1rem 0}@media(min-width:992px){.grid-post{grid-template-columns:repeat(3,1fr)!important}}@media(min-width:992px){.grid-main{grid-template-columns:2fr 1fr!important}}.toc{padding:2rem 1.2rem 1rem}.share-buttons{background:var(--card-background-color);padding:10px;border-radius:var(--border-radius);box-shadow:var(--card-box-shadow);display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.share-buttons svg{color:var(--contrast)!important;width:1.875rem;height:1.875rem}.searchbox,.contact-form{max-width:700px;margin:auto}.search-result{background:var(--card-background-color);padding:20px;border-radius:var(--border-radius);box-shadow:var(--card-box-shadow);margin:10px 0}.search-result hgroup{margin:0}.search-result h6{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover{float:left;margin:0 20px 0 0;width:300px;max-width:100%;pointer-events:none}@media(min-width:0px) and (max-width:576px){.cover{float:none;margin:10px auto}}.post::first-letter{font-size:300%;padding:0 5px 0 0;margin:-15px 6px -15px 0;float:left}.highlight,code,pre{position:relative!important}.copy-code{z-index:99;cursor:pointer;display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--border-radius);padding:0 5px;font-size:14px;user-select:none}.highlight:hover .copy-code,code:hover .copy-code,pre:hover .copy-code{display:block}.page-item.active{font-size:larger;font-weight:700}.archive-posts{width:100%;font-size:16px}.archive-year{margin-top:40px}.archive-year:not(:last-of-type){border-bottom:2px solid var(--border)}.archive-year-header{text-align:center}.archive-month{display:flex;align-items:flex-start;padding:10px 0}.archive-month-header{margin:25px 0 25px auto;width:200px}.archive-month:not(:last-of-type){border-bottom:1px solid var(--border)}.archive-entry{position:relative;padding:5px;margin:10px 0}.archive-entry-title{margin:5px 0;font-weight:400}.archive-count,.archive-meta{color:var(--secondary);font-size:14px}.entry-link{position:absolute;left:0;right:0;top:0;bottom:0}.anchor,.hidden{display:none}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{cursor:pointer;display:inline-flex;margin-inline-start:8px;font-weight:500;user-select:none}.min-h-80{min-height:80vh}kbd,.grid-post article,a[role=button],.search-result,.portfolio-post{transition:.3s ease}kbd:hover,.grid-post article:hover,a[role=button]:hover,.search-result:hover,.portfolio-post:hover{animation:hover .3s ease;transform:scale3d(1.05,1.05,1.05)}#cookie-banner{position:fixed;top:0;z-index:100;top:3%;right:3%;max-width:400px;opacity:.9}@keyframes hover{0%{transform:scale3d(1,1,1)}50%{transform:scale3d(1.08,1.08,1.08)}100%{transform:scale3d(1.05,1.05,1.05)}}
-1
resources/_gen/assets/scss/sass/main.scss_170188855d14d903eca10cc8b6dffa74.json
··· 1 - {"Target":"sass/main.min.css","MediaType":"text/css","Data":{}}
-1
resources/_gen/assets/scss/sass/nav.scss_170188855d14d903eca10cc8b6dffa74.content
··· 1 - @media(min-width:576px){.mobile-navigation{display:none}}@media(min-width:0px) and (max-width:400px){nav.desktop{padding:0 .25rem}}@media(min-width:0px) and (max-width:576px){.desktop-navigation{display:none}}@media(min-width:0px) and (max-width:700px){.desktop-navigation span{display:none}}nav button,nav button:hover,nav button:active,nav button:focus{margin:0;padding:0;border:none;outline:none;background-color:transparent}body>nav{z-index:99;position:fixed;top:0;right:0;left:0;padding:0 var(--spacing)}body>nav h1{margin-bottom:0;font-size:1.25rem;text-transform:uppercase}nav span{padding:.225rem 0}nav.desktop{background-color:var(--background-color)}nav .menu-active{border-bottom:5px var(--primary)solid}.sidebar{position:fixed;padding:1rem;background-color:var(--background-color);box-shadow:var(--card-box-shadow);min-width:100%}.sidebar button{position:absolute;top:var(--spacing);right:var(--spacing);width:1.5rem;height:1.5rem;border-radius:2rem;line-height:1}.sidebar h3,.sidebar a,.sidebar a:hover,.sidebar a:active,.sidebar a:focus{color:var(--secondary)}.mobile-navigation>li>button>svg{width:30px;height:30px;color:var(--contrast)}.sidebar svg,body>nav svg{height:1rem}#switch{display:none}
-1
resources/_gen/assets/scss/sass/nav.scss_170188855d14d903eca10cc8b6dffa74.json
··· 1 - {"Target":"sass/nav.min.css","MediaType":"text/css","Data":{}}
static/banner.png

This is a binary file and will not be displayed.

static/bulletrush.png

This is a binary file and will not be displayed.

static/cansat.png

This is a binary file and will not be displayed.

static/dndcombatsim.png

This is a binary file and will not be displayed.

static/fourwoods.png

This is a binary file and will not be displayed.

static/mememachine.png

This is a binary file and will not be displayed.

static/self.png

This is a binary file and will not be displayed.

static/shutin.png

This is a binary file and will not be displayed.

static/uploads/og.webp

This is a binary file and will not be displayed.

static/uploads/piko-screenshot.webp

This is a binary file and will not be displayed.

static/uploads/portfolio-1.webp

This is a binary file and will not be displayed.

static/uploads/portfolio-2.webp

This is a binary file and will not be displayed.

static/uploads/portfolio-3.webp

This is a binary file and will not be displayed.

static/uploads/self.webp

This is a binary file and will not be displayed.

-1
static/uploads/sun.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-sun"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg>
-2
static/uploads/zap.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" 2 - fill="none" stroke="#daa520" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zap"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>