diff --git a/.editorconfig b/.editorconfig
index dbc5097..ac0d723 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,8 +1,8 @@
-root = true
-
-indent_style = space
-indent_size = 4
-end_of_line = crlf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
+root = true
+
+indent_style = space
+indent_size = 4
+end_of_line = crlf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml
index 877d678..6b58d04 100644
--- a/.github/workflows/hugo.yaml
+++ b/.github/workflows/hugo.yaml
@@ -1,78 +1,78 @@
-# Sample workflow for building and deploying a Hugo site to GitHub Pages
-name: Deploy Hugo site to Pages 🚀
-
-on:
- # Runs on pushes targeting the default branch
- push:
- branches:
- - main
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
-# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
-concurrency:
- group: "pages"
- cancel-in-progress: false
-
-# Default to bash
-defaults:
- run:
- shell: bash
-
-jobs:
- # Build job
- build:
- runs-on: ubuntu-latest
- env:
- HUGO_VERSION: 0.112.4
- steps:
- - name: Install Hugo CLI
- run: |
- wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
- && sudo dpkg -i ${{ runner.temp }}/hugo.deb
- - name: Install Dart Sass Embedded
- run: sudo snap install dart-sass-embedded
- - name: Checkout
- uses: actions/checkout@v3
- with:
- submodules: recursive
- fetch-depth: 0
- - name: Setup Pages
- id: pages
- uses: actions/configure-pages@v3
- - name: Install Node.js dependencies
- run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- - name: Build with Hugo
- env:
- # For maximum backward compatibility with Hugo modules
- HUGO_ENVIRONMENT: production
- HUGO_ENV: production
- run: |
- hugo \
- --gc \
- --minify \
- --baseURL "${{ steps.pages.outputs.base_url }}/"
- - name: Upload artifact
- uses: actions/upload-pages-artifact@v1
- with:
- path: ./public
-
- # Deployment job
- deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
- needs: build
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v2
+# Sample workflow for building and deploying a Hugo site to GitHub Pages
+name: Deploy Hugo site to Pages 🚀
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches:
+ - main
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ env:
+ HUGO_VERSION: 0.112.4
+ steps:
+ - name: Install Hugo CLI
+ run: |
+ wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
+ && sudo dpkg -i ${{ runner.temp }}/hugo.deb
+ - name: Install Dart Sass Embedded
+ run: sudo snap install dart-sass-embedded
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ fetch-depth: 0
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v3
+ - name: Install Node.js dependencies
+ run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
+ - name: Build with Hugo
+ env:
+ # For maximum backward compatibility with Hugo modules
+ HUGO_ENVIRONMENT: production
+ HUGO_ENV: production
+ run: |
+ hugo \
+ --gc \
+ --minify \
+ --baseURL "${{ steps.pages.outputs.base_url }}/"
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./public
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v2
diff --git a/.gitignore b/.gitignore
index 8bed415..f18958c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,141 +1,141 @@
-# HUGO
-public/*
-resources/_gen/*
-
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-.pnpm-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional stylelint cache
-.stylelintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variable files
-.env
-.env.development.local
-.env.test.local
-.env.production.local
-.env.local
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# vuepress v2.x temp and cache directory
-.temp
-.cache
-
-# Docusaurus cache and generated files
-.docusaurus
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v2
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-# sendgrid
-*.env
-sendgrid.env
-
-# Unlighthouse
-.unlighthouse/
+# HUGO
+public/*
+resources/_gen/*
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+.cache
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# sendgrid
+*.env
+sendgrid.env
+
+# Unlighthouse
+.unlighthouse/
diff --git a/.gitmodules b/.gitmodules
index cbb19c8..c3970b9 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "themes/PaperMod"]
- path = themes/PaperMod
+[submodule "themes/PaperMod"]
+ path = themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod.git
\ No newline at end of file
diff --git a/README.md b/README.md
index 0426899..47db147 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,30 @@
-# [Portfolio](https://xangrab.com/)
-
-This site was made with HUGO using the PaperMod theme as a base, to which I added my own modifications.
-
-This portfolio represents a personal hub for accessing some of the projects I've worked on.
-
-## 📥️ Install Locally
-
-1. First install [Hugo Extended](https://gohugo.io/installation/) v0.112.4 or later
-
-2. Clone the repo and unpack submodules
-```
-git clone
-cd /Portfolio
-git submodule init
-git submodule update
-```
-3. Use Hugo to serve locally
-```
-hugo serve
-```
-
-### 💡 TODO
-- [ ] Tags on posts
-- [ ] Improve Search Feature (see fireship.io)
-- [ ] Tab selection padding
-- [ ] Linked images hover effect
-- [ ] New Icons & Hamburger Menu
-- [ ] Update Hugo version?
-- [ ] Games 😈🎮
+# [Portfolio](https://xangrab.com/)
+
+This site was made with HUGO using the PaperMod theme as a base, to which I added my own modifications.
+
+This portfolio represents a personal hub for accessing some of the projects I've worked on.
+
+## 📥️ Install Locally
+
+1. First install [Hugo Extended](https://gohugo.io/installation/) v0.112.4 or later
+
+2. Clone the repo and unpack submodules
+```
+git clone
+cd /Portfolio
+git submodule init
+git submodule update
+```
+3. Use Hugo to serve locally
+```
+hugo serve
+```
+
+### 💡 TODO
+- [ ] Tags on posts
+- [ ] Improve Search Feature (see fireship.io)
+- [ ] Tab selection padding
+- [ ] Linked images hover effect
+- [ ] New Icons & Hamburger Menu
+- [ ] Update Hugo version?
+- [ ] Games 😈🎮
diff --git a/assets/css/common/header.css b/assets/css/common/header.css
index 04cbb74..9f894db 100644
--- a/assets/css/common/header.css
+++ b/assets/css/common/header.css
@@ -1,106 +1,106 @@
-.header {
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
-}
-
-.nav {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- max-width: calc(var(--nav-width) + var(--gap) * 2);
- margin-inline-start: auto;
- margin-inline-end: auto;
- line-height: var(--header-height);
-}
-
-.nav a {
- display: block;
-}
-
-.logo,
-#menu {
- display: flex;
- margin: auto var(--gap);
-}
-
-.logo {
- flex-wrap: inherit;
-}
-
-.logo a {
- font-size: 24px;
- font-weight: 700;
-}
-
-.logo a img,
-.logo a svg {
- display: inline;
- vertical-align: middle;
- pointer-events: none;
- transform: translate(0, -10%);
- border-radius: 6px;
- margin-inline-end: 8px;
-}
-
-button#theme-toggle {
- font-size: 26px;
- margin: auto 4px;
-}
-
-body.dark #moon {
- vertical-align: middle;
- display: none;
-}
-
-body:not(.dark) #sun {
- display: none;
-}
-
-#menu {
- list-style: none;
- word-break: keep-all;
- overflow-x: auto;
- white-space: nowrap;
-}
-
-#menu li + li {
- margin-inline-start: var(--gap);
-}
-
-#menu a {
- font-size: 16px;
-}
-
-#menu .active {
- font-weight: 500;
- border-bottom: 2px solid currentColor;
-}
-
-.lang-switch li,
-.lang-switch ul,
-.logo-switches {
- display: inline-flex;
- margin: auto 4px;
-}
-
-.logo-switches button {
- padding: 0;
- font: inherit;
- font-size: inherit;
- background: 0 0;
- border: 0;
-}
-
-.lang-switch {
- display: flex;
- flex-wrap: inherit;
-}
-
-.lang-switch a {
- margin: auto 3px;
- font-size: 16px;
- font-weight: 500;
-}
-
-.logo-switches {
- flex-wrap: inherit;
-}
+.header {
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+}
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ max-width: calc(var(--nav-width) + var(--gap) * 2);
+ margin-inline-start: auto;
+ margin-inline-end: auto;
+ line-height: var(--header-height);
+}
+
+.nav a {
+ display: block;
+}
+
+.logo,
+#menu {
+ display: flex;
+ margin: auto var(--gap);
+}
+
+.logo {
+ flex-wrap: inherit;
+}
+
+.logo a {
+ font-size: 24px;
+ font-weight: 700;
+}
+
+.logo a img,
+.logo a svg {
+ display: inline;
+ vertical-align: middle;
+ pointer-events: none;
+ transform: translate(0, -10%);
+ border-radius: 6px;
+ margin-inline-end: 8px;
+}
+
+button#theme-toggle {
+ font-size: 26px;
+ margin: auto 4px;
+}
+
+body.dark #moon {
+ vertical-align: middle;
+ display: none;
+}
+
+body:not(.dark) #sun {
+ display: none;
+}
+
+#menu {
+ list-style: none;
+ word-break: keep-all;
+ overflow-x: auto;
+ white-space: nowrap;
+}
+
+#menu li + li {
+ margin-inline-start: var(--gap);
+}
+
+#menu a {
+ font-size: 16px;
+}
+
+#menu .active {
+ font-weight: 500;
+ border-bottom: 2px solid currentColor;
+}
+
+.lang-switch li,
+.lang-switch ul,
+.logo-switches {
+ display: inline-flex;
+ margin: auto 4px;
+}
+
+.logo-switches button {
+ padding: 0;
+ font: inherit;
+ font-size: inherit;
+ background: 0 0;
+ border: 0;
+}
+
+.lang-switch {
+ display: flex;
+ flex-wrap: inherit;
+}
+
+.lang-switch a {
+ margin: auto 3px;
+ font-size: 16px;
+ font-weight: 500;
+}
+
+.logo-switches {
+ flex-wrap: inherit;
+}
diff --git a/assets/css/common/post-entry.css b/assets/css/common/post-entry.css
index 4b0683a..69a0c45 100644
--- a/assets/css/common/post-entry.css
+++ b/assets/css/common/post-entry.css
@@ -1,116 +1,116 @@
-.first-entry {
- position: relative;
- display: flex;
- flex-direction: column;
- justify-content: center;
- min-height: 320px;
- margin: var(--gap) 0 calc(var(--gap) * 2) 0;
-}
-
-.first-entry .entry-header {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 3;
-}
-
-.first-entry .entry-header h1 {
- font-size: 34px;
- line-height: 1.3;
-}
-
-.first-entry .entry-content {
- margin: 14px 0;
- font-size: 16px;
- -webkit-line-clamp: 3;
-}
-
-.first-entry .entry-footer {
- font-size: 14px;
-}
-
-.home-info .entry-content {
- -webkit-line-clamp: unset;
-}
-
-.post-entry {
- position: relative;
- margin-bottom: var(--gap);
- padding: var(--gap);
- background: var(--entry);
- border-radius: var(--radius);
- transition: all 0.2s ease-in-out;
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
-}
-
-.post-entry:hover {
- transform: scale(1.02);
-}
-
-.post-entry:active {
- transform: scale(0.96);
-}
-
-.tag-entry .entry-cover {
- display: none;
-}
-
-.entry-header h2 {
- font-size: 24px;
- line-height: 1.3;
-}
-
-.entry-content {
- margin: 8px 0;
- color: var(--secondary);
- font-size: 14px;
- line-height: 1.6;
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
-}
-
-.entry-footer {
- color: var(--secondary);
- font-size: 13px;
-}
-
-.entry-link {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-
-.entry-cover,
-.entry-isdraft {
- font-size: 14px;
- color: var(--secondary);
-}
-
-.entry-cover {
- margin-bottom: var(--gap);
- text-align: center;
-}
-
-.entry-cover img {
- border-radius: var(--radius);
- pointer-events: none;
- width: 100%;
- height: auto;
-}
-
-.entry-cover a {
- color: var(--secondary);
- box-shadow: 0 1px 0 var(--primary);
-}
-
-.grow {
- transition: all 0.2s ease-in-out;
-}
-
-.grow:hover {
- transform: scale(1.1);
-}
+.first-entry {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ min-height: 320px;
+ margin: var(--gap) 0 calc(var(--gap) * 2) 0;
+}
+
+.first-entry .entry-header {
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+}
+
+.first-entry .entry-header h1 {
+ font-size: 34px;
+ line-height: 1.3;
+}
+
+.first-entry .entry-content {
+ margin: 14px 0;
+ font-size: 16px;
+ -webkit-line-clamp: 3;
+}
+
+.first-entry .entry-footer {
+ font-size: 14px;
+}
+
+.home-info .entry-content {
+ -webkit-line-clamp: unset;
+}
+
+.post-entry {
+ position: relative;
+ margin-bottom: var(--gap);
+ padding: var(--gap);
+ background: var(--entry);
+ border-radius: var(--radius);
+ transition: all 0.2s ease-in-out;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+}
+
+.post-entry:hover {
+ transform: scale(1.02);
+}
+
+.post-entry:active {
+ transform: scale(0.96);
+}
+
+.tag-entry .entry-cover {
+ display: none;
+}
+
+.entry-header h2 {
+ font-size: 24px;
+ line-height: 1.3;
+}
+
+.entry-content {
+ margin: 8px 0;
+ color: var(--secondary);
+ font-size: 14px;
+ line-height: 1.6;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+}
+
+.entry-footer {
+ color: var(--secondary);
+ font-size: 13px;
+}
+
+.entry-link {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+}
+
+.entry-cover,
+.entry-isdraft {
+ font-size: 14px;
+ color: var(--secondary);
+}
+
+.entry-cover {
+ margin-bottom: var(--gap);
+ text-align: center;
+}
+
+.entry-cover img {
+ border-radius: var(--radius);
+ pointer-events: none;
+ width: 100%;
+ height: auto;
+}
+
+.entry-cover a {
+ color: var(--secondary);
+ box-shadow: 0 1px 0 var(--primary);
+}
+
+.grow {
+ transition: all 0.2s ease-in-out;
+}
+
+.grow:hover {
+ transform: scale(1.1);
+}
diff --git a/assets/css/common/post-single.css b/assets/css/common/post-single.css
index e4b0483..d796c06 100644
--- a/assets/css/common/post-single.css
+++ b/assets/css/common/post-single.css
@@ -1,403 +1,403 @@
-.page-header,
-.post-header {
- margin: 24px auto var(--content-gap) auto;
-}
-
-.post-title {
- margin-bottom: 2px;
- font-size: 40px;
-}
-
-.post-description {
- margin-top: 10px;
- margin-bottom: 5px;
-}
-
-.post-meta,
-.breadcrumbs {
- color: var(--secondary);
- font-size: 14px;
- display: flex;
- flex-wrap: wrap;
-}
-
-.post-meta .i18n_list li {
- display: inline-flex;
- list-style: none;
- margin: auto 3px;
- box-shadow: 0 1px 0 var(--secondary);
-}
-
-.breadcrumbs a {
- font-size: 16px;
-}
-
-.post-content {
- color: var(--content);
-}
-
-.post-content h3,
-.post-content h4,
-.post-content h5,
-.post-content h6 {
- margin: 24px 0 16px;
-}
-
-.post-content h1 {
- margin: 40px auto 32px;
- font-size: 40px;
-}
-
-.post-content h2 {
- margin: 32px auto 24px;
- font-size: 32px;
-}
-
-.post-content h3 {
- font-size: 24px;
-}
-
-.post-content h4 {
- font-size: 16px;
-}
-
-.post-content h5 {
- font-size: 14px;
-}
-
-.post-content h6 {
- font-size: 12px;
-}
-
-.post-content a,
-.toc a:hover {
- box-shadow: 0 1px 0;
- box-decoration-break: clone;
- -webkit-box-decoration-break: clone;
-}
-
-.post-content a code {
- margin: auto 0;
- border-radius: 0;
- box-shadow: 0 -1px 0 var(--primary) inset;
-}
-
-.post-content del {
- text-decoration: line-through;
-}
-
-.post-content dl,
-.post-content ol,
-.post-content p,
-.post-content figure,
-.post-content ul {
- margin-bottom: var(--content-gap);
-}
-
-.post-content ol,
-.post-content ul {
- padding-inline-start: 20px;
-}
-
-.post-content li {
- margin-top: 5px;
-}
-
-.post-content li p {
- margin-bottom: 0;
-}
-
-.post-content dl {
- display: flex;
- flex-wrap: wrap;
- margin: 0;
-}
-
-.post-content dt {
- width: 25%;
- font-weight: 700;
-}
-
-.post-content dd {
- width: 75%;
- margin-inline-start: 0;
- padding-inline-start: 10px;
-}
-
-.post-content dd ~ dd,
-.post-content dt ~ dt {
- margin-top: 10px;
-}
-
-.post-content table {
- margin-bottom: 32px;
-}
-
-.post-content table th,
-.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
- min-width: 80px;
- padding: 12px 8px;
- line-height: 1.5;
- border-bottom: 1px solid var(--border);
-}
-
-.post-content table th {
- font-size: 14px;
- text-align: start;
-}
-
-.post-content table:not(.highlighttable) td code:only-child {
- margin: auto 0;
-}
-
-.post-content .highlight table {
- border-radius: var(--radius);
-}
-
-.post-content .highlight:not(table) {
- margin: 10px auto;
- background: var(--hljs-bg) !important;
- border-radius: var(--radius);
- direction: ltr;
-}
-
-.post-content li > .highlight {
- margin-inline-end: 0;
-}
-
-.post-content ul pre {
- margin-inline-start: calc(var(--gap) * -2);
-}
-
-.post-content .highlight pre {
- margin: 0;
-}
-
-.post-content .highlighttable {
- table-layout: fixed;
-}
-
-.post-content .highlighttable td:first-child {
- width: 40px;
-}
-
-.post-content .highlighttable td .linenodiv {
- padding-inline-end: 0 !important;
-}
-
-.post-content .highlighttable td .highlight,
-.post-content .highlighttable td .linenodiv pre {
- margin-bottom: 0;
-}
-
-.post-content code {
- margin: auto 4px;
- padding: 4px 6px;
- font-size: 0.78em;
- line-height: 1.5;
- background: var(--code-bg);
- border-radius: 2px;
-}
-
-.post-content pre code {
- display: block;
- margin: auto 0;
- padding: 10px;
- color: rgb(213, 213, 214);
- background: var(--hljs-bg) !important;
- border-radius: var(--radius);
- overflow-x: auto;
- word-break: break-all;
-}
-
-.post-content blockquote {
- margin: 20px 0;
- padding: 0 14px;
- border-inline-start: 3px solid var(--primary);
-}
-
-.post-content hr {
- margin: 30px 0;
- height: 2px;
- background: var(--tertiary);
- border: 0;
-}
-
-.post-content iframe {
- max-width: 100%;
-}
-
-.post-content img {
- border-radius: 4px;
- margin: 1rem 0;
-}
-
-.post-content img[src*="#center"] {
- margin: 1rem auto;
-}
-
-.post-content figure.align-center {
- text-align: center;
-}
-
-.post-content figure > figcaption {
- color: var(--primary);
- font-size: 16px;
- font-weight: bold;
- margin: 8px 0 16px;
-}
-
-.post-content figure > figcaption > p {
- color: var(--secondary);
- font-size: 14px;
- font-weight: normal;
-}
-
-.toc {
- margin: 0 2px 40px 2px;
- border: 1px solid var(--border);
- background: var(--code-bg);
- border-radius: var(--radius);
- padding: 0.4em;
-}
-
-.dark .toc {
- background: var(--entry);
-}
-
-.toc details summary {
- cursor: zoom-in;
- margin-inline-start: 20px;
-}
-
-.toc details[open] summary {
- cursor: zoom-out;
-}
-
-.toc .details {
- display: inline;
- font-weight: 500;
-}
-
-.toc .inner {
- margin: 0 20px;
- padding: 10px 20px;
-}
-
-.toc li ul {
- margin-inline-start: var(--gap);
-}
-
-.toc summary:focus {
- outline: 0;
-}
-
-.post-footer {
- margin-top: 56px;
-}
-
-.post-tags li {
- display: inline-block;
- margin-inline-end: 3px;
- margin-bottom: 5px;
-}
-
-.post-tags a,
-.share-buttons,
-.paginav {
- border-radius: var(--radius);
- background: var(--code-bg);
- /* border: 1px solid var(--border); */
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
-}
-
-.post-tags a {
- display: block;
- padding-inline-start: 14px;
- padding-inline-end: 14px;
- color: var(--secondary);
- font-size: 14px;
- line-height: 34px;
- background: var(--code-bg);
-}
-
-.post-tags a:hover,
-.paginav a:hover {
- background: var(--border);
-}
-
-.share-buttons {
- margin: 14px 0;
- padding-inline-start: var(--radius);
- display: flex;
- justify-content: center;
- overflow-x: auto;
-}
-
-.share-buttons a {
- margin-top: 10px;
-}
-
-.share-buttons a:not(:last-of-type) {
- margin-inline-end: 12px;
-}
-
-h1:hover .anchor,
-h2:hover .anchor,
-h3:hover .anchor,
-h4:hover .anchor,
-h5:hover .anchor,
-h6:hover .anchor {
- display: inline-flex;
- color: var(--secondary);
- margin-inline-start: 8px;
- font-weight: 500;
- user-select: none;
-}
-
-.paginav {
- margin: 10px 0;
- display: flex;
- line-height: 30px;
- border-radius: var(--radius);
-}
-
-.paginav a {
- padding-inline-start: 14px;
- padding-inline-end: 14px;
- border-radius: var(--radius);
-}
-
-.paginav .title {
- letter-spacing: 1px;
- text-transform: uppercase;
- font-size: small;
- color: var(--secondary);
-}
-
-.paginav .prev,
-.paginav .next {
- width: 50%;
-}
-
-.paginav span:hover:not(.title) {
- box-shadow: 0 1px 0;
-}
-
-.paginav .next {
- margin-inline-start: auto;
- text-align: right;
-}
-
-[dir="rtl"] .paginav .next {
- text-align: left;
-}
-
-h1>a>svg {
- display: inline;
-}
-
-img.in-text {
- display: inline;
- margin: auto;
-}
+.page-header,
+.post-header {
+ margin: 24px auto var(--content-gap) auto;
+}
+
+.post-title {
+ margin-bottom: 2px;
+ font-size: 40px;
+}
+
+.post-description {
+ margin-top: 10px;
+ margin-bottom: 5px;
+}
+
+.post-meta,
+.breadcrumbs {
+ color: var(--secondary);
+ font-size: 14px;
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.post-meta .i18n_list li {
+ display: inline-flex;
+ list-style: none;
+ margin: auto 3px;
+ box-shadow: 0 1px 0 var(--secondary);
+}
+
+.breadcrumbs a {
+ font-size: 16px;
+}
+
+.post-content {
+ color: var(--content);
+}
+
+.post-content h3,
+.post-content h4,
+.post-content h5,
+.post-content h6 {
+ margin: 24px 0 16px;
+}
+
+.post-content h1 {
+ margin: 40px auto 32px;
+ font-size: 40px;
+}
+
+.post-content h2 {
+ margin: 32px auto 24px;
+ font-size: 32px;
+}
+
+.post-content h3 {
+ font-size: 24px;
+}
+
+.post-content h4 {
+ font-size: 16px;
+}
+
+.post-content h5 {
+ font-size: 14px;
+}
+
+.post-content h6 {
+ font-size: 12px;
+}
+
+.post-content a,
+.toc a:hover {
+ box-shadow: 0 1px 0;
+ box-decoration-break: clone;
+ -webkit-box-decoration-break: clone;
+}
+
+.post-content a code {
+ margin: auto 0;
+ border-radius: 0;
+ box-shadow: 0 -1px 0 var(--primary) inset;
+}
+
+.post-content del {
+ text-decoration: line-through;
+}
+
+.post-content dl,
+.post-content ol,
+.post-content p,
+.post-content figure,
+.post-content ul {
+ margin-bottom: var(--content-gap);
+}
+
+.post-content ol,
+.post-content ul {
+ padding-inline-start: 20px;
+}
+
+.post-content li {
+ margin-top: 5px;
+}
+
+.post-content li p {
+ margin-bottom: 0;
+}
+
+.post-content dl {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0;
+}
+
+.post-content dt {
+ width: 25%;
+ font-weight: 700;
+}
+
+.post-content dd {
+ width: 75%;
+ margin-inline-start: 0;
+ padding-inline-start: 10px;
+}
+
+.post-content dd ~ dd,
+.post-content dt ~ dt {
+ margin-top: 10px;
+}
+
+.post-content table {
+ margin-bottom: 32px;
+}
+
+.post-content table th,
+.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
+ min-width: 80px;
+ padding: 12px 8px;
+ line-height: 1.5;
+ border-bottom: 1px solid var(--border);
+}
+
+.post-content table th {
+ font-size: 14px;
+ text-align: start;
+}
+
+.post-content table:not(.highlighttable) td code:only-child {
+ margin: auto 0;
+}
+
+.post-content .highlight table {
+ border-radius: var(--radius);
+}
+
+.post-content .highlight:not(table) {
+ margin: 10px auto;
+ background: var(--hljs-bg) !important;
+ border-radius: var(--radius);
+ direction: ltr;
+}
+
+.post-content li > .highlight {
+ margin-inline-end: 0;
+}
+
+.post-content ul pre {
+ margin-inline-start: calc(var(--gap) * -2);
+}
+
+.post-content .highlight pre {
+ margin: 0;
+}
+
+.post-content .highlighttable {
+ table-layout: fixed;
+}
+
+.post-content .highlighttable td:first-child {
+ width: 40px;
+}
+
+.post-content .highlighttable td .linenodiv {
+ padding-inline-end: 0 !important;
+}
+
+.post-content .highlighttable td .highlight,
+.post-content .highlighttable td .linenodiv pre {
+ margin-bottom: 0;
+}
+
+.post-content code {
+ margin: auto 4px;
+ padding: 4px 6px;
+ font-size: 0.78em;
+ line-height: 1.5;
+ background: var(--code-bg);
+ border-radius: 2px;
+}
+
+.post-content pre code {
+ display: block;
+ margin: auto 0;
+ padding: 10px;
+ color: rgb(213, 213, 214);
+ background: var(--hljs-bg) !important;
+ border-radius: var(--radius);
+ overflow-x: auto;
+ word-break: break-all;
+}
+
+.post-content blockquote {
+ margin: 20px 0;
+ padding: 0 14px;
+ border-inline-start: 3px solid var(--primary);
+}
+
+.post-content hr {
+ margin: 30px 0;
+ height: 2px;
+ background: var(--tertiary);
+ border: 0;
+}
+
+.post-content iframe {
+ max-width: 100%;
+}
+
+.post-content img {
+ border-radius: 4px;
+ margin: 1rem 0;
+}
+
+.post-content img[src*="#center"] {
+ margin: 1rem auto;
+}
+
+.post-content figure.align-center {
+ text-align: center;
+}
+
+.post-content figure > figcaption {
+ color: var(--primary);
+ font-size: 16px;
+ font-weight: bold;
+ margin: 8px 0 16px;
+}
+
+.post-content figure > figcaption > p {
+ color: var(--secondary);
+ font-size: 14px;
+ font-weight: normal;
+}
+
+.toc {
+ margin: 0 2px 40px 2px;
+ border: 1px solid var(--border);
+ background: var(--code-bg);
+ border-radius: var(--radius);
+ padding: 0.4em;
+}
+
+.dark .toc {
+ background: var(--entry);
+}
+
+.toc details summary {
+ cursor: zoom-in;
+ margin-inline-start: 20px;
+}
+
+.toc details[open] summary {
+ cursor: zoom-out;
+}
+
+.toc .details {
+ display: inline;
+ font-weight: 500;
+}
+
+.toc .inner {
+ margin: 0 20px;
+ padding: 10px 20px;
+}
+
+.toc li ul {
+ margin-inline-start: var(--gap);
+}
+
+.toc summary:focus {
+ outline: 0;
+}
+
+.post-footer {
+ margin-top: 56px;
+}
+
+.post-tags li {
+ display: inline-block;
+ margin-inline-end: 3px;
+ margin-bottom: 5px;
+}
+
+.post-tags a,
+.share-buttons,
+.paginav {
+ border-radius: var(--radius);
+ background: var(--code-bg);
+ /* border: 1px solid var(--border); */
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+}
+
+.post-tags a {
+ display: block;
+ padding-inline-start: 14px;
+ padding-inline-end: 14px;
+ color: var(--secondary);
+ font-size: 14px;
+ line-height: 34px;
+ background: var(--code-bg);
+}
+
+.post-tags a:hover,
+.paginav a:hover {
+ background: var(--border);
+}
+
+.share-buttons {
+ margin: 14px 0;
+ padding-inline-start: var(--radius);
+ display: flex;
+ justify-content: center;
+ overflow-x: auto;
+}
+
+.share-buttons a {
+ margin-top: 10px;
+}
+
+.share-buttons a:not(:last-of-type) {
+ margin-inline-end: 12px;
+}
+
+h1:hover .anchor,
+h2:hover .anchor,
+h3:hover .anchor,
+h4:hover .anchor,
+h5:hover .anchor,
+h6:hover .anchor {
+ display: inline-flex;
+ color: var(--secondary);
+ margin-inline-start: 8px;
+ font-weight: 500;
+ user-select: none;
+}
+
+.paginav {
+ margin: 10px 0;
+ display: flex;
+ line-height: 30px;
+ border-radius: var(--radius);
+}
+
+.paginav a {
+ padding-inline-start: 14px;
+ padding-inline-end: 14px;
+ border-radius: var(--radius);
+}
+
+.paginav .title {
+ letter-spacing: 1px;
+ text-transform: uppercase;
+ font-size: small;
+ color: var(--secondary);
+}
+
+.paginav .prev,
+.paginav .next {
+ width: 50%;
+}
+
+.paginav span:hover:not(.title) {
+ box-shadow: 0 1px 0;
+}
+
+.paginav .next {
+ margin-inline-start: auto;
+ text-align: right;
+}
+
+[dir="rtl"] .paginav .next {
+ text-align: left;
+}
+
+h1>a>svg {
+ display: inline;
+}
+
+img.in-text {
+ display: inline;
+ margin: auto;
+}
diff --git a/assets/css/common/profile-mode.css b/assets/css/common/profile-mode.css
index 8db3db1..61cb1e2 100644
--- a/assets/css/common/profile-mode.css
+++ b/assets/css/common/profile-mode.css
@@ -1,89 +1,89 @@
-.buttons,
-.main .profile {
- display: flex;
- justify-content: center;
- transition: all 0.2s ease-in-out;
-}
-
-.main .profile {
- align-items: center;
- min-height: calc(
- 100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2)
- );
- text-align: center;
-}
-
-.profile .profile_inner h1 {
- padding: 24px 0;
-}
-
-.profile img {
- display: inline-table;
- border-radius: 50%;
-}
-
-.profile svg:hover {
- transform: scale(1.2);
-}
-
-.cross-fade-profile .img2:hover {
- transform: scale(1.2);
-}
-
-.cross-fade-profile {
- position: relative;
- display: flex;
- left: 50%;
- transform: translateX(-50%);
-
- width: 240px;
- height: 240px;
-}
-
-.cross-fade-profile img {
- position: absolute;
- top: 0;
- left: 0;
- -webkit-transition: opacity 0.5s ease-in-out;
- -moz-transition: opacity 0.5s ease-in-out;
- -o-transition: opacity 0.5s ease-in-out;
- transition: opacity 0.5s ease-in-out;
- transform: scale(1);
-}
-
-.cross-fade-profile img:hover {
- transform: scale(1.05);
-}
-
-.cross-fade-profile img.transparent {
- opacity: 0;
- transform: scale(1.05);
- pointer-events: none;
-}
-
-.buttons {
- flex-wrap: wrap;
- max-width: 400px;
- margin: 0 auto;
-}
-
-.button {
- background: var(--tertiary);
- border-radius: var(--radius);
- margin: 8px;
- padding: 6px;
- transition: transform 0.1s;
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
-}
-
-.button:hover {
- transform: scale(1.05);
-}
-
-.button-inner {
- padding: 0 8px;
-}
-
-.button:active {
- transform: scale(0.96);
-}
+.buttons,
+.main .profile {
+ display: flex;
+ justify-content: center;
+ transition: all 0.2s ease-in-out;
+}
+
+.main .profile {
+ align-items: center;
+ min-height: calc(
+ 100vh - var(--header-height) - var(--footer-height) - (var(--gap) * 2)
+ );
+ text-align: center;
+}
+
+.profile .profile_inner h1 {
+ padding: 24px 0;
+}
+
+.profile img {
+ display: inline-table;
+ border-radius: 50%;
+}
+
+.profile svg:hover {
+ transform: scale(1.2);
+}
+
+.cross-fade-profile .img2:hover {
+ transform: scale(1.2);
+}
+
+.cross-fade-profile {
+ position: relative;
+ display: flex;
+ left: 50%;
+ transform: translateX(-50%);
+
+ width: 240px;
+ height: 240px;
+}
+
+.cross-fade-profile img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ -webkit-transition: opacity 0.5s ease-in-out;
+ -moz-transition: opacity 0.5s ease-in-out;
+ -o-transition: opacity 0.5s ease-in-out;
+ transition: opacity 0.5s ease-in-out;
+ transform: scale(1);
+}
+
+.cross-fade-profile img:hover {
+ transform: scale(1.05);
+}
+
+.cross-fade-profile img.transparent {
+ opacity: 0;
+ transform: scale(1.05);
+ pointer-events: none;
+}
+
+.buttons {
+ flex-wrap: wrap;
+ max-width: 400px;
+ margin: 0 auto;
+}
+
+.button {
+ background: var(--tertiary);
+ border-radius: var(--radius);
+ margin: 8px;
+ padding: 6px;
+ transition: transform 0.1s;
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+}
+
+.button:hover {
+ transform: scale(1.05);
+}
+
+.button-inner {
+ padding: 0 8px;
+}
+
+.button:active {
+ transform: scale(0.96);
+}
diff --git a/assets/css/common/search.css b/assets/css/common/search.css
index c9b6b59..cf615a3 100644
--- a/assets/css/common/search.css
+++ b/assets/css/common/search.css
@@ -1,48 +1,48 @@
-#searchbox input,
-textarea,
-button {
- padding: 4px 10px;
- margin: 10px;
- width: 100%;
- color: var(--primary);
- font-weight: bold;
- border: 2px solid var(--tertiary);
- border-radius: var(--radius);
-}
-
-#searchbox input:focus {
- border-color: var(--secondary);
-}
-
-#searchResults li {
- list-style: none;
- border-radius: var(--radius);
- padding: 10px;
- margin: 10px 0;
- position: relative;
- font-weight: 500;
-}
-
-#searchResults {
- margin: 10px 0;
- width: 100%;
-}
-
-#searchResults li:active {
- transition: transform 0.1s;
- transform: scale(0.98);
-}
-
-#searchResults a {
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0px;
- left: 0px;
- outline: none;
-}
-
-#searchResults .focus {
- transform: scale(0.98);
- border: 2px solid var(--tertiary);
-}
+#searchbox input,
+textarea,
+button {
+ padding: 4px 10px;
+ margin: 10px;
+ width: 100%;
+ color: var(--primary);
+ font-weight: bold;
+ border: 2px solid var(--tertiary);
+ border-radius: var(--radius);
+}
+
+#searchbox input:focus {
+ border-color: var(--secondary);
+}
+
+#searchResults li {
+ list-style: none;
+ border-radius: var(--radius);
+ padding: 10px;
+ margin: 10px 0;
+ position: relative;
+ font-weight: 500;
+}
+
+#searchResults {
+ margin: 10px 0;
+ width: 100%;
+}
+
+#searchResults li:active {
+ transition: transform 0.1s;
+ transform: scale(0.98);
+}
+
+#searchResults a {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0px;
+ left: 0px;
+ outline: none;
+}
+
+#searchResults .focus {
+ transform: scale(0.98);
+ border: 2px solid var(--tertiary);
+}
diff --git a/assets/css/core/theme-vars.css b/assets/css/core/theme-vars.css
index 7dd853c..81f9291 100644
--- a/assets/css/core/theme-vars.css
+++ b/assets/css/core/theme-vars.css
@@ -1,38 +1,38 @@
-:root {
- --gap: 24px;
- --content-gap: 20px;
- --nav-width: 1024px;
- --main-width: 720px;
- --header-height: 60px;
- --footer-height: 60px;
- --radius: 8px;
- --theme: rgb(253, 246, 227);
- --entry: rgb(253, 246, 227);
- --primary: rgb(0, 43, 54);
- --secondary: rgb(131, 148, 150);
- --tertiary: rgb(214, 214, 214);
- --content: rgb(31, 31, 31);
- --hljs-bg: rgb(28, 29, 33);
- --code-bg: rgb(253, 246, 227);
- --border: rgb(238, 238, 238);
-}
-
-.dark {
- --theme: rgb(0, 43, 54);
- --entry: rgb(7, 54, 66);
- --primary: rgb(218, 218, 219);
- --secondary: rgb(131, 148, 150);
- --tertiary: rgb(88, 110, 117);
- --content: rgb(196, 196, 197);
- --hljs-bg: rgb(46, 46, 51);
- --code-bg: rgb(55, 56, 62);
- --border: rgb(51, 51, 51);
-}
-
-.list {
- background: var(--code-bg);
-}
-
-.dark.list {
- background: var(--theme);
-}
+:root {
+ --gap: 24px;
+ --content-gap: 20px;
+ --nav-width: 1024px;
+ --main-width: 720px;
+ --header-height: 60px;
+ --footer-height: 60px;
+ --radius: 8px;
+ --theme: rgb(253, 246, 227);
+ --entry: rgb(253, 246, 227);
+ --primary: rgb(0, 43, 54);
+ --secondary: rgb(131, 148, 150);
+ --tertiary: rgb(214, 214, 214);
+ --content: rgb(31, 31, 31);
+ --hljs-bg: rgb(28, 29, 33);
+ --code-bg: rgb(253, 246, 227);
+ --border: rgb(238, 238, 238);
+}
+
+.dark {
+ --theme: rgb(0, 43, 54);
+ --entry: rgb(7, 54, 66);
+ --primary: rgb(218, 218, 219);
+ --secondary: rgb(131, 148, 150);
+ --tertiary: rgb(88, 110, 117);
+ --content: rgb(196, 196, 197);
+ --hljs-bg: rgb(46, 46, 51);
+ --code-bg: rgb(55, 56, 62);
+ --border: rgb(51, 51, 51);
+}
+
+.list {
+ background: var(--code-bg);
+}
+
+.dark.list {
+ background: var(--theme);
+}
diff --git a/config.yml b/config.yml
index ec053cd..f00c772 100644
--- a/config.yml
+++ b/config.yml
@@ -1,85 +1,85 @@
-baseURL: ""
-languageCode: en-us
-title: XanderGrab
-theme: PaperMod
-paginate: 4
-
-buildDrafts: true
-
-outputs:
- home:
- - HTML
- - RSS
- - JSON
-
-params:
- defaultTheme: dark
-
- profileMode:
- enabled: false
- title: 👋 Hello there! I'm Xander
- subtitle: "(aka XanderGrab) I'm a Game Developer and Designer as well as an all-around Games Hobbyist. I'm passionate about creating transformational or applied games."
- imageUrls:
- ["assets/icons/ProfessionalPhoto.JPG", "assets/icons/FancyIcon.png"]
- imageTitle: "My Icon"
- imageWidth: 240 # custom size
- imageHeight: 240 # custom size
- buttons:
- - name: About Me
- url: /whoami
-
- homeInfoParams:
- Title: 👋 Hello there! I'm Xander
- Content: "(aka XanderGrab) I'm a Game Developer and Designer as well as an all-around Games Hobbyist. I'm passionate about creating transformational or applied games."
-
- socialIcons:
- - name: github
- url: "https://github.com/XanGrab"
-
- - name: linkedin
- url: "https://www.linkedin.com/in/alexander-xander-grabowski-8164481a1/"
-
- - name: itchio
- url: "https://xanxg.itch.io/"
-
- - name: email
- url: /contact/
-
- mainSections:
- - games
- - blog
-
- cover:
- hidden: false
- hiddenInList: false # hide on list pages and home
- hiddenInSingle: true # hide on single page
- responsiveImages: false
-
- assets:
- favicon: "assets/favicon/favicon.ico"
- favicon16x16: "assets/favicon/favicon-16x16.png"
- favicon32x32: "assets/favicon/favicon-32x32.png"
- apple_touch_icon: "assets/favicon/apple-touch-icon.png"
-
-menu:
- main:
- - identifier: Resume
- name: "📜 CV"
- url: /assets/docs/grabowski_cv.pdf
- weight: 5
- - identifier: Contact
- name: "✉️ Contact"
- url: /contact/
- weight: 4
- - identifier: Blog
- name: "📰 Blog"
- url: /blog/
- weight: 3
- - identifier: Games
- name: "🎮️ Games"
- url: /games/
- weight: 2
- - identifier: Search
- name: "Search 🔍️"
- url: /search/
- weight: 1
+baseURL: ""
+languageCode: en-us
+title: XanderGrab
+theme: PaperMod
+paginate: 4
+
+buildDrafts: true
+
+outputs:
+ home:
+ - HTML
+ - RSS
+ - JSON
+
+params:
+ defaultTheme: dark
+
+ profileMode:
+ enabled: false
+ title: 👋 Hello there! I'm Xander
+ subtitle: "(aka XanderGrab) I'm a Game Developer and Designer as well as an all-around Games Hobbyist. I'm passionate about creating transformational or applied games."
+ imageUrls:
+ ["assets/icons/ProfessionalPhoto.JPG", "assets/icons/FancyIcon.png"]
+ imageTitle: "My Icon"
+ imageWidth: 240 # custom size
+ imageHeight: 240 # custom size
+ buttons:
+ - name: About Me
+ url: /whoami
+
+ homeInfoParams:
+ Title: 👋 Hello there! I'm Xander
+ Content: "(aka XanderGrab) I'm a Game Developer and Designer as well as an all-around Games Hobbyist. I'm passionate about creating transformational or applied games."
+
+ socialIcons:
+ - name: github
+ url: "https://github.com/XanGrab"
+
+ - name: linkedin
+ url: "https://www.linkedin.com/in/alexander-xander-grabowski-8164481a1/"
+
+ - name: itchio
+ url: "https://xanxg.itch.io/"
+
+ - name: email
+ url: /contact/
+
+ mainSections:
+ - games
+ - blog
+
+ cover:
+ hidden: false
+ hiddenInList: false # hide on list pages and home
+ hiddenInSingle: true # hide on single page
+ responsiveImages: false
+
+ assets:
+ favicon: "assets/favicon/favicon.ico"
+ favicon16x16: "assets/favicon/favicon-16x16.png"
+ favicon32x32: "assets/favicon/favicon-32x32.png"
+ apple_touch_icon: "assets/favicon/apple-touch-icon.png"
+
+menu:
+ main:
+ - identifier: Resume
+ name: "📜 CV"
+ url: /assets/docs/grabowski_cv.pdf
+ weight: 5
+ - identifier: Contact
+ name: "✉️ Contact"
+ url: /contact/
+ weight: 4
+ - identifier: Blog
+ name: "📰 Blog"
+ url: /blog/
+ weight: 3
+ - identifier: Games
+ name: "🎮️ Games"
+ url: /games/
+ weight: 2
+ - identifier: Search
+ name: "Search 🔍️"
+ url: /search/
+ weight: 1
diff --git a/content/blog/MadUX-Fall/index.md b/content/blog/MadUX-Fall/index.md
index 9bb697a..950fa16 100644
--- a/content/blog/MadUX-Fall/index.md
+++ b/content/blog/MadUX-Fall/index.md
@@ -1,71 +1,71 @@
----
-title: "Case Study: Beginning User Research for a Fan Game"
-date: 2024-08-05
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: img/cover.png
- alt: "(Cover Image) MAD UX: Case Study: Beginning User Research for a Fan Game"
- hidden: true
-summary: "Summary of the research conducted as a part of the fall term of my user experience capstone. 👨🔬🎮️"
-description: "Discovering alongside my team how games user research can be used to better illustrate our target players' experience points and expectations for our fan recreation. Read on to learn about my first steps into the realm of games user research studying the fan-game MOTHER² in Fall of 2024 as part of the UW–Madison UX Design Capstone. 👨🔬🎮️"
-ShowToc: true
-tags: ["UX", "Research", "Development", "MOTHER²"]
----
-
-## What Does Games User Research Look Like for a Fan Game?
-
-This is the very question I found myself asking at the outset of my user experience capstone program. For those wondering, the [UW–Madison User Experience Design](https://ischool.wisc.edu/programs/uxcapstone/) (superbly nicknamed the **Mad UX** program) provides graduate-level user experience skills in planning, designing, and assessing innovative digital applications and media.
-
-{{< figure src="./img/mad-ux-people-whiteboard.png" align="center" caption="_Promotional image for the University of Wisconsin User Experience Design Capstone_" >}}
-
-As a recent graduate, looking at returning for grad school, this program seemed the perfect way for me to diversify my digital media skills while simultaneously allowing me to get ahead by earning a few credits during my gap year. I had first heard of the term _user experience_ from my mentors at Field Day Learning Games who had talked about their background with user experience as a crucial element of their philosophy as designers. The strength of the Mad UX program stems from its emphasizes on the practical application of research methods studied through projects directed by each individual student.
-
-## MAD--UX Meets MOTHER²
-
-For my project, I hoped to tie together an on-going project of mine with my budding user research skills. Speaking to the head producer of _[MOTHER²](https://twitter.com/mother__squared?lang=en)_ I sought to broaden the scope of my contributions to the project from mere programming and development to more design and user experience aspects of the project. This request was met with cautious acceptance, as the producer seemed interested to see what insights the research might provide for development without any real direction for research studies that could benefit the project. This left me with a lot of creative freedom to shape the research to match the requirements of my program. At the same time, those freedoms came coupled with the burden of fledgling UX maturity from the other members of my team.
-
-What could go wrong... 😁
-
-## 🎮️ Games User Research
-
-As I quickly found out upon entering the program, the requirements of digital games vary quite a bit from traditional digital mediums like apps or websites.
-
-Listing every difference between traditional and games user research is beyond the scope of this case study, but for those curious check out [this talk by Alistair Greo](https://www.youtube.com/watch?v=XxZeFJpqlDY) or [this article by Jakob Nielsen](https://www.nngroup.com/articles/game-user-research/).
-
-Suffice it to say, I was gonna need to do some extra homework to help fill in the gaps in my **_GUR_** knowledge (a slightly less superb acronym for **_Games User Research_**).
-
-### Enter My Online Oasis
-
-{{< figure src="./img/gamesuserreaserch-screenshot.png" link="https://gamesuserresearch.com/articles" alt="link to articles page of gamesuserresearch.com" align="center" caption="_Screenshot from the articles page of gamesuserresearch.com_" >}}
-
-Written by [Steve Bromley](https://gamesuserresearch.com/about/) this online community contains a plethora of resources for newbie games user researchers, ranging from expert-written articles and case studies to full-blown UX courses! Thoughout the course, I frequently found myself asking question in the group's Discord community where you can connect with other games user researchers and Steve himself! I cannot overstate how valuable a resource this community was as I was beginning to explore the world of game user research. I would highly recommend joining the discord community for anyone else looking to explore what GUR has to offer. Steve's articles helped supplement my primary readings for that fall including: _Understanding Your Users: A Practical Guide to User Research Methods_ by Catherine Courage, Kathy Baxter, and Kelly Caine and _Universal Methods of Design_ by Bella Martin and Bruce Hanington.
-
-## Who Plays a Fan Game?
-
-Putting into practice the research methods studied in the early months of the Mad UX capstone, it was time to conduct some research of my own and get my feet wet. The first decision to be made was to pick an appropriate subject for the team's first study. While there was some consensus amongst long-time team members on the direction of the MOTHER² project, the open-source nature of the project had led to a lot of turnover, even just from the time I had joined the team (about 3 years into development in 2021). It seemed to me that taking the time to better solidify _who_ our players are would be most beneficial for us moving forward.
-
-Once I had oriented myself towards a goal, it was time to select a research method. For the capstone program, my cohort and I were required to conduct a breath of practice studies as we learned a vast array of research methods. The downside of this approach being that not all of the methods practiced directly corrilated to answering our research questions. Towards the end of the program however, we were were given more freedom to expand upon methods most appropriate for out project.
-
-## Breaking Ground
-
-{{< figure src="./img/what-do-you-want-to-learn.png" link="https://gamesuserresearch.com/choose-the-right-playtest-method/" alt="Steve Bromley's cheat sheet for choosing the right playtest method, published on gamesuserresearch.com" align="center" caption="This figure is taken from Bromley's article _Choose The Right Playtest Method._" >}}
-
-For this reason, I chose to conduct two studies to capture a more detailed snapshot of our current users. In our first study we chose to conduct virtual interviews with some of our target audience members hoping to learn more about what who are players are and what feature they expect from modern RPG titles. In addition, at the request of the project lead, we conducted a demographic survey polling player interests and in-game rewards, distributed to the game's current followers on Discord and Twitter (now X). The MOTHER² team has periodically invited playtesters to help QA test early alpha versions of the game, who turned out to be a wonderful candidate pool when selecting potential players for interviews.
-
-{{< figure src="./img/recruiting image from mother squared.png" align="center" caption="_Promotional art shared during recruiting for the MOTHER² project_" >}}
-
-From these studies, I was able to collect over 300 responses and conduct 7 sem-moderated interviews which generated a ton of raw data that I was then able to record and transform into deliverables for my team. These deliverables included a competitor set of similar EarthBound remake titles, a catalog of games our players were most familiar with, some demographic info for our target audience, and poll results for our followers' favorite types of in-game rewards and bonus challenges.
-
-{{< figure src="./img/M2-indirect-competitor-set.png" align="center" caption="_This figure represents the deliverable of the indirect competitor catelog, illustrating our follower's favorite RPG titles_" >}}
-
-## Sharing the Results
-
-In the end, this infromation was compiled into a report that was shared with the project leaders outlining what we had learned from our research. Sharing this information with my team, helped to provide clarity during our design discussions around our potential users and bought me a little more buy-in to continue my user research within the project.
-
-And indeed, there was plenty more to be done. In preparation for our Beta launch, this research experiment helped reveal the potential for additional playtests and observational studies to be conducted to better understand what draws fans to, or repels players from our project.
-
----
-
-_This is not the end of my research with the MOTHER² project. If you would like to learn more about how UX principles informed the design of specific features added to the remake check out the following case study: [Redesigning Randomness 🎲](../madux-spring/)._
+---
+title: "Case Study: Beginning User Research for a Fan Game"
+date: 2024-08-05
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: img/cover.png
+ alt: "(Cover Image) MAD UX: Case Study: Beginning User Research for a Fan Game"
+ hidden: true
+summary: "Summary of the research conducted as a part of the fall term of my user experience capstone. 👨🔬🎮️"
+description: "Discovering alongside my team how games user research can be used to better illustrate our target players' experience points and expectations for our fan recreation. Read on to learn about my first steps into the realm of games user research studying the fan-game MOTHER² in Fall of 2024 as part of the UW–Madison UX Design Capstone. 👨🔬🎮️"
+ShowToc: true
+tags: ["UX", "Research", "Development", "MOTHER²"]
+---
+
+## What Does Games User Research Look Like for a Fan Game?
+
+This is the very question I found myself asking at the outset of my user experience capstone program. For those wondering, the [UW–Madison User Experience Design](https://ischool.wisc.edu/programs/uxcapstone/) (superbly nicknamed the **Mad UX** program) provides graduate-level user experience skills in planning, designing, and assessing innovative digital applications and media.
+
+{{< figure src="./img/mad-ux-people-whiteboard.png" align="center" caption="_Promotional image for the University of Wisconsin User Experience Design Capstone_" >}}
+
+As a recent graduate, looking at returning for grad school, this program seemed the perfect way for me to diversify my digital media skills while simultaneously allowing me to get ahead by earning a few credits during my gap year. I had first heard of the term _user experience_ from my mentors at Field Day Learning Games who had talked about their background with user experience as a crucial element of their philosophy as designers. The strength of the Mad UX program stems from its emphasizes on the practical application of research methods studied through projects directed by each individual student.
+
+## MAD--UX Meets MOTHER²
+
+For my project, I hoped to tie together an on-going project of mine with my budding user research skills. Speaking to the head producer of _[MOTHER²](https://twitter.com/mother__squared?lang=en)_ I sought to broaden the scope of my contributions to the project from mere programming and development to more design and user experience aspects of the project. This request was met with cautious acceptance, as the producer seemed interested to see what insights the research might provide for development without any real direction for research studies that could benefit the project. This left me with a lot of creative freedom to shape the research to match the requirements of my program. At the same time, those freedoms came coupled with the burden of fledgling UX maturity from the other members of my team.
+
+What could go wrong... 😁
+
+## 🎮️ Games User Research
+
+As I quickly found out upon entering the program, the requirements of digital games vary quite a bit from traditional digital mediums like apps or websites.
+
+Listing every difference between traditional and games user research is beyond the scope of this case study, but for those curious check out [this talk by Alistair Greo](https://www.youtube.com/watch?v=XxZeFJpqlDY) or [this article by Jakob Nielsen](https://www.nngroup.com/articles/game-user-research/).
+
+Suffice it to say, I was gonna need to do some extra homework to help fill in the gaps in my **_GUR_** knowledge (a slightly less superb acronym for **_Games User Research_**).
+
+### Enter My Online Oasis
+
+{{< figure src="./img/gamesuserreaserch-screenshot.png" link="https://gamesuserresearch.com/articles" alt="link to articles page of gamesuserresearch.com" align="center" caption="_Screenshot from the articles page of gamesuserresearch.com_" >}}
+
+Written by [Steve Bromley](https://gamesuserresearch.com/about/) this online community contains a plethora of resources for newbie games user researchers, ranging from expert-written articles and case studies to full-blown UX courses! Thoughout the course, I frequently found myself asking question in the group's Discord community where you can connect with other games user researchers and Steve himself! I cannot overstate how valuable a resource this community was as I was beginning to explore the world of game user research. I would highly recommend joining the discord community for anyone else looking to explore what GUR has to offer. Steve's articles helped supplement my primary readings for that fall including: _Understanding Your Users: A Practical Guide to User Research Methods_ by Catherine Courage, Kathy Baxter, and Kelly Caine and _Universal Methods of Design_ by Bella Martin and Bruce Hanington.
+
+## Who Plays a Fan Game?
+
+Putting into practice the research methods studied in the early months of the Mad UX capstone, it was time to conduct some research of my own and get my feet wet. The first decision to be made was to pick an appropriate subject for the team's first study. While there was some consensus amongst long-time team members on the direction of the MOTHER² project, the open-source nature of the project had led to a lot of turnover, even just from the time I had joined the team (about 3 years into development in 2021). It seemed to me that taking the time to better solidify _who_ our players are would be most beneficial for us moving forward.
+
+Once I had oriented myself towards a goal, it was time to select a research method. For the capstone program, my cohort and I were required to conduct a breath of practice studies as we learned a vast array of research methods. The downside of this approach being that not all of the methods practiced directly corrilated to answering our research questions. Towards the end of the program however, we were were given more freedom to expand upon methods most appropriate for out project.
+
+## Breaking Ground
+
+{{< figure src="./img/what-do-you-want-to-learn.png" link="https://gamesuserresearch.com/choose-the-right-playtest-method/" alt="Steve Bromley's cheat sheet for choosing the right playtest method, published on gamesuserresearch.com" align="center" caption="This figure is taken from Bromley's article _Choose The Right Playtest Method._" >}}
+
+For this reason, I chose to conduct two studies to capture a more detailed snapshot of our current users. In our first study we chose to conduct virtual interviews with some of our target audience members hoping to learn more about what who are players are and what feature they expect from modern RPG titles. In addition, at the request of the project lead, we conducted a demographic survey polling player interests and in-game rewards, distributed to the game's current followers on Discord and Twitter (now X). The MOTHER² team has periodically invited playtesters to help QA test early alpha versions of the game, who turned out to be a wonderful candidate pool when selecting potential players for interviews.
+
+{{< figure src="./img/recruiting image from mother squared.png" align="center" caption="_Promotional art shared during recruiting for the MOTHER² project_" >}}
+
+From these studies, I was able to collect over 300 responses and conduct 7 sem-moderated interviews which generated a ton of raw data that I was then able to record and transform into deliverables for my team. These deliverables included a competitor set of similar EarthBound remake titles, a catalog of games our players were most familiar with, some demographic info for our target audience, and poll results for our followers' favorite types of in-game rewards and bonus challenges.
+
+{{< figure src="./img/M2-indirect-competitor-set.png" align="center" caption="_This figure represents the deliverable of the indirect competitor catelog, illustrating our follower's favorite RPG titles_" >}}
+
+## Sharing the Results
+
+In the end, this infromation was compiled into a report that was shared with the project leaders outlining what we had learned from our research. Sharing this information with my team, helped to provide clarity during our design discussions around our potential users and bought me a little more buy-in to continue my user research within the project.
+
+And indeed, there was plenty more to be done. In preparation for our Beta launch, this research experiment helped reveal the potential for additional playtests and observational studies to be conducted to better understand what draws fans to, or repels players from our project.
+
+---
+
+_This is not the end of my research with the MOTHER² project. If you would like to learn more about how UX principles informed the design of specific features added to the remake check out the following case study: [Redesigning Randomness 🎲](../madux-spring/)._
diff --git a/content/blog/MadUX-Spring/index.md b/content/blog/MadUX-Spring/index.md
index dc17166..c27e1c7 100644
--- a/content/blog/MadUX-Spring/index.md
+++ b/content/blog/MadUX-Spring/index.md
@@ -1,75 +1,75 @@
----
-title: "Case Study: Redesigning Randomness"
-date: 2024-08-03
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: img/cover.png
- alt: "(Cover Image) Case Study: Redesigning Randomness in MOTHER²"
- hidden: true
-summary: "Summary of interface redesigns created for MOTHER² for the spring term of my user experience capstone. ✏️🎮️"
-description: "Following the research conducted in the fall, the spring term was spent redesigning the broken tool repair sequence for MOTHER². This case study explores the user-centered design process used to develop those interfaces. ✏️🎮️"
-ShowToc: true
-tags: ["UX", "Research", "Development", "MOTHER²"]
----
-
-{{< video src="./video/final-prototype.webm" align="center" loop="true" width="100%" autoplay="true" controls="false" >}}
-
-_This post is a continuation the research conducted last fall, which you can ready about in the previous post: [Beginning User Research for a Fan Game](../madux-fall/)._
-
-## Project Recap
-
-The primary goal of my ongoing player research should be familiar to any other game development team: to make our game as fun, accessible, and easy to play as possible.
-
-The design team for MOTHER² currently works to identify shortcomings of the original EarthBound for improvement and validate the usability of the game’s new features. Integrating our research with these goals, our team designed, developed, and evaluated prototypes over the spring term to bring new features of MOTHER² to fruition. Guided by our previous research, the design team and I elected to focus our effort on redesigning the broken-tool repair system from the original _EarthBound_.
-
-{{< figure src="./img/broken-item.png" align="center" alt="Image of the ***Broken bazooka*** item from _EarthBound_" caption="Image of the ***Broken bazooka*** item from _EarthBound_" >}}
-
-## Who Are Our Players?
-
-In the preceding fall, the MOTHER² team developed a deeper understanding of our perspective players by conducting both a demographic and interests survey of the current game’s followers, as well as interview sessions with current gamers in the RPG community concerning their attitudes towards different mechanisms and trends in the genre. Developing these sorts of player profiles formed the foundation of our background research intending to tailor the experience of our game to different player types. Games like classic Super Mario Bros. masterfully adjust the player experience to their specific players without the need for distinct difficulty levels, catering to both casual and hardcore gamers simultaneously. Understanding these profiles helps designers craft experiences that align user and designer goals, subtly and effectively guiding players on a journey carefully constructed by an insightful dungeon master (or perhaps Dungeon man).
-
-{{< figure src="./img/Dungeon-Man.gif" align="center" alt="Dungeon Man as he appears in _EarthBound_" caption="Dungeon Man as he appears in _EarthBound_" >}}
-
-Here, it is important to note that the entire development team, from developers to artists, consists of players of either _EarthBound_. From their own experiences playing the game, many members have some assumptions regarding what aspects of the game should be iterated on and which should be preserved. It is a well-known tenet of the UXR world that: developers are **_NOT_** users. In the specific case of a fan game, however, the users have actually become developers. With all that said, there is a particular bias that is brought into play once these players transition into the role of designers. These game developers often forget what it was like to play the game for the first time, and will have differing interpretations of what could make the game “better”. My research in user experience helps to validate the assumptions that designers make about the game, and potentially expose overlooked areas for improvement.
-
-## Identifying Issues
-
-The foundation of our work was to identify how distinct interfaces of the original game both succeed and fail in their intended function. We then attempted to reimagine them in a way that amplified their successful features and improved their intended utility. As a part of our background research, we began by identifying interfaces that were commonly critiqued by players as being either outdated or obtuse in _EarthBound_. Making use of my UX toolkit allowed me to identify heuristics for visual and interaction design in discussions with my fellow designers.
-
-Following these discussions, our team moved to a round of ideation in which I generated a range of potential feature requests recorded and grouped on post-its for analysis. This board was brought before the design team where we analyzed and ranked the ideas in each category based on perceived interest and cost. This process helped us to isolate the broken tool repair system as the area with the largest room for improvement while remaining feasible for the time frame of the course.
-
-{{< figure src="./img/ideation-board.png" align="center" alt="Figure of the ideation board generated during the brainstorming process" caption="Figure of the ideation board generated during the brainstorming process" >}}
-
-[Broken items](https://wikibound.info/wiki/Broken_items) are a special classification of in-game items in _EarthBound_. To repair these items during your adventure, a specific character’s IQ stat must have reached an adequate level specified by the original designers, which is not communicated in any way whatsoever to the player. The steps required to repair these items are rather opaque (vaguely hinted at by a single, easily missed line of dialogue) and involve a certain level of randomness that leaves little room for player engagement. When the player stays overnight at a hotel (initiating a repair sequence) they are not guaranteed to have a successful repair, but rather take a pseudo-random chance of the message displaying. Coupled with a limited inventory space, this can lead inexperienced players to completely ignore these items altogether. As these are crucial to future sections of the game, we asked ourselves how we might clarify this feature to new players.
-
-## Sketching & Ideation
-
-In the early phase of our redesign, I created a number of quick sketches allowing for rapid exploration and iteration of design ideas. Redesigning this system presented the challenge of preserving the original game's identity without alienating veteran players.
-
-One early concept for the repair system involved presenting the player with a full-on minigame similar to _The Lost Mind of Dr Brain_, which they would then complete during rest sequences to repair the minigame.
-
-{{< figure src="./img/early-minigame-inspo.jpg" align="center" alt="Screenshot from the game _The Lost Mind of Dr Brain_" caption="Screenshot from the game _The Lost Mind of Dr Brain_" >}}
-
-The disadvantages of this approach could impact the game's pacing and make the repair process more difficult for certain player groups. For these reasons, I decided to try a metaphorical redesign, returning to the major source of inspiration for many digital RPGs, tabletop role-playing games (hereafter affectionately known as TTRPGs). In TTRPGs, randomness is generally handled by rolling dice to determine outcomes and random events in various situations.
-
-For MOTHER² we imagined exposing the pre-existing element of randomness during the rest sequence when items are repaired. This effectively allows players to "roll the dice" themselves helping better engage players and clarify the system functionality.
-
-{{< figure src="./img/broken-tool-sketch.png" align="center" alt="Early sketches that would ultimatley lead to the creation of the new broken tool repair system" caption="Early sketches that inspired the design of the new broken tool repair system" >}}
-
-## Prototyping
-
-Further iterations of this idea led us to develop higher-fidelity prototypes which were consistently peer-reviewed by a cohort of my fellow UX practitioners, and designers of MOTHER². Their feedback helped identify several changes that helped prepare the system for testing with players.
-
-{{< figure src="./img/lofi-mockup-01.png" align="center" alt="Early mockups created for the new repair system" caption="Early mockups that were created for the new repair system" >}}
-
-{{< figure src="./img/prototype-components.png" align="center" alt="Layout of MOTHER² components created for use the HiFi prototpyes of the new repair system" caption="Layout of MOTHER² components created for use the HiFi prototpyes of the new repair system" >}}
-
-{{< figure src="./img/hifi-prototypes.png" align="center" alt="Figure depicting the full layout of the hifidelity prototype created the new repair system" caption="Figure depicting the full layout of the hifidelity prototype created the new repair system" >}}
-
-## The End?
-
-As we neared the final stages of design, preparing to test these interfaces with players, we faced an unexpected setback. Due to a lack of communication on behalf of the capstone program, the critical evaluation phase of the project was suddenly halted to make way for an entirely new usability study that subsequent summer. This delay was primarily due to the disorganization within the course structure, which led to many of the projects my cohorts and I worked on that spring half finished. As a result, our carefully planned timelines were disrupted, affecting our ability to gather essential user feedback and make timely iterations. Despite these challenges, we remained adaptable, rescheduling these playtests internally within the MOTHER² team's development timeline. This experience underscored the importance of effective project management and clear communication in ensuring the smooth progression of UX design processes, serving as a sort of right-of-passage for us burgeoning UX professionals.
-
-{{< figure src="./img/Earthbound-gameover.png" align="center" alt="Screenshot of EarthBound's Game Over Screen" caption="Screenshot of EarthBound's Game Over Screen" >}}
+---
+title: "Case Study: Redesigning Randomness"
+date: 2024-08-03
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: img/cover.png
+ alt: "(Cover Image) Case Study: Redesigning Randomness in MOTHER²"
+ hidden: true
+summary: "Summary of interface redesigns created for MOTHER² for the spring term of my user experience capstone. ✏️🎮️"
+description: "Following the research conducted in the fall, the spring term was spent redesigning the broken tool repair sequence for MOTHER². This case study explores the user-centered design process used to develop those interfaces. ✏️🎮️"
+ShowToc: true
+tags: ["UX", "Research", "Development", "MOTHER²"]
+---
+
+{{< video src="./video/final-prototype.webm" align="center" loop="true" width="100%" autoplay="true" controls="false" >}}
+
+_This post is a continuation the research conducted last fall, which you can ready about in the previous post: [Beginning User Research for a Fan Game](../madux-fall/)._
+
+## Project Recap
+
+The primary goal of my ongoing player research should be familiar to any other game development team: to make our game as fun, accessible, and easy to play as possible.
+
+The design team for MOTHER² currently works to identify shortcomings of the original EarthBound for improvement and validate the usability of the game’s new features. Integrating our research with these goals, our team designed, developed, and evaluated prototypes over the spring term to bring new features of MOTHER² to fruition. Guided by our previous research, the design team and I elected to focus our effort on redesigning the broken-tool repair system from the original _EarthBound_.
+
+{{< figure src="./img/broken-item.png" align="center" alt="Image of the ***Broken bazooka*** item from _EarthBound_" caption="Image of the ***Broken bazooka*** item from _EarthBound_" >}}
+
+## Who Are Our Players?
+
+In the preceding fall, the MOTHER² team developed a deeper understanding of our perspective players by conducting both a demographic and interests survey of the current game’s followers, as well as interview sessions with current gamers in the RPG community concerning their attitudes towards different mechanisms and trends in the genre. Developing these sorts of player profiles formed the foundation of our background research intending to tailor the experience of our game to different player types. Games like classic Super Mario Bros. masterfully adjust the player experience to their specific players without the need for distinct difficulty levels, catering to both casual and hardcore gamers simultaneously. Understanding these profiles helps designers craft experiences that align user and designer goals, subtly and effectively guiding players on a journey carefully constructed by an insightful dungeon master (or perhaps Dungeon man).
+
+{{< figure src="./img/Dungeon-Man.gif" align="center" alt="Dungeon Man as he appears in _EarthBound_" caption="Dungeon Man as he appears in _EarthBound_" >}}
+
+Here, it is important to note that the entire development team, from developers to artists, consists of players of either _EarthBound_. From their own experiences playing the game, many members have some assumptions regarding what aspects of the game should be iterated on and which should be preserved. It is a well-known tenet of the UXR world that: developers are **_NOT_** users. In the specific case of a fan game, however, the users have actually become developers. With all that said, there is a particular bias that is brought into play once these players transition into the role of designers. These game developers often forget what it was like to play the game for the first time, and will have differing interpretations of what could make the game “better”. My research in user experience helps to validate the assumptions that designers make about the game, and potentially expose overlooked areas for improvement.
+
+## Identifying Issues
+
+The foundation of our work was to identify how distinct interfaces of the original game both succeed and fail in their intended function. We then attempted to reimagine them in a way that amplified their successful features and improved their intended utility. As a part of our background research, we began by identifying interfaces that were commonly critiqued by players as being either outdated or obtuse in _EarthBound_. Making use of my UX toolkit allowed me to identify heuristics for visual and interaction design in discussions with my fellow designers.
+
+Following these discussions, our team moved to a round of ideation in which I generated a range of potential feature requests recorded and grouped on post-its for analysis. This board was brought before the design team where we analyzed and ranked the ideas in each category based on perceived interest and cost. This process helped us to isolate the broken tool repair system as the area with the largest room for improvement while remaining feasible for the time frame of the course.
+
+{{< figure src="./img/ideation-board.png" align="center" alt="Figure of the ideation board generated during the brainstorming process" caption="Figure of the ideation board generated during the brainstorming process" >}}
+
+[Broken items](https://wikibound.info/wiki/Broken_items) are a special classification of in-game items in _EarthBound_. To repair these items during your adventure, a specific character’s IQ stat must have reached an adequate level specified by the original designers, which is not communicated in any way whatsoever to the player. The steps required to repair these items are rather opaque (vaguely hinted at by a single, easily missed line of dialogue) and involve a certain level of randomness that leaves little room for player engagement. When the player stays overnight at a hotel (initiating a repair sequence) they are not guaranteed to have a successful repair, but rather take a pseudo-random chance of the message displaying. Coupled with a limited inventory space, this can lead inexperienced players to completely ignore these items altogether. As these are crucial to future sections of the game, we asked ourselves how we might clarify this feature to new players.
+
+## Sketching & Ideation
+
+In the early phase of our redesign, I created a number of quick sketches allowing for rapid exploration and iteration of design ideas. Redesigning this system presented the challenge of preserving the original game's identity without alienating veteran players.
+
+One early concept for the repair system involved presenting the player with a full-on minigame similar to _The Lost Mind of Dr Brain_, which they would then complete during rest sequences to repair the minigame.
+
+{{< figure src="./img/early-minigame-inspo.jpg" align="center" alt="Screenshot from the game _The Lost Mind of Dr Brain_" caption="Screenshot from the game _The Lost Mind of Dr Brain_" >}}
+
+The disadvantages of this approach could impact the game's pacing and make the repair process more difficult for certain player groups. For these reasons, I decided to try a metaphorical redesign, returning to the major source of inspiration for many digital RPGs, tabletop role-playing games (hereafter affectionately known as TTRPGs). In TTRPGs, randomness is generally handled by rolling dice to determine outcomes and random events in various situations.
+
+For MOTHER² we imagined exposing the pre-existing element of randomness during the rest sequence when items are repaired. This effectively allows players to "roll the dice" themselves helping better engage players and clarify the system functionality.
+
+{{< figure src="./img/broken-tool-sketch.png" align="center" alt="Early sketches that would ultimatley lead to the creation of the new broken tool repair system" caption="Early sketches that inspired the design of the new broken tool repair system" >}}
+
+## Prototyping
+
+Further iterations of this idea led us to develop higher-fidelity prototypes which were consistently peer-reviewed by a cohort of my fellow UX practitioners, and designers of MOTHER². Their feedback helped identify several changes that helped prepare the system for testing with players.
+
+{{< figure src="./img/lofi-mockup-01.png" align="center" alt="Early mockups created for the new repair system" caption="Early mockups that were created for the new repair system" >}}
+
+{{< figure src="./img/prototype-components.png" align="center" alt="Layout of MOTHER² components created for use the HiFi prototpyes of the new repair system" caption="Layout of MOTHER² components created for use the HiFi prototpyes of the new repair system" >}}
+
+{{< figure src="./img/hifi-prototypes.png" align="center" alt="Figure depicting the full layout of the hifidelity prototype created the new repair system" caption="Figure depicting the full layout of the hifidelity prototype created the new repair system" >}}
+
+## The End?
+
+As we neared the final stages of design, preparing to test these interfaces with players, we faced an unexpected setback. Due to a lack of communication on behalf of the capstone program, the critical evaluation phase of the project was suddenly halted to make way for an entirely new usability study that subsequent summer. This delay was primarily due to the disorganization within the course structure, which led to many of the projects my cohorts and I worked on that spring half finished. As a result, our carefully planned timelines were disrupted, affecting our ability to gather essential user feedback and make timely iterations. Despite these challenges, we remained adaptable, rescheduling these playtests internally within the MOTHER² team's development timeline. This experience underscored the importance of effective project management and clear communication in ensuring the smooth progression of UX design processes, serving as a sort of right-of-passage for us burgeoning UX professionals.
+
+{{< figure src="./img/Earthbound-gameover.png" align="center" alt="Screenshot of EarthBound's Game Over Screen" caption="Screenshot of EarthBound's Game Over Screen" >}}
diff --git a/content/blog/UX-P1/index.md b/content/blog/UX-P1/index.md
index 489998e..75b8b8e 100644
--- a/content/blog/UX-P1/index.md
+++ b/content/blog/UX-P1/index.md
@@ -1,37 +1,37 @@
----
-title: "MAD UX: Process Blog #1"
-date: 2024-06-03
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: img/cover.png
- alt: "Process Log #1 (Cover Image)"
- caption: "Graph from A2: Task Completion Exercise"
- hidden: true
-summary: "First UX Portfolio Entry ✨"
-description: "Over the course of the summer 2024 term, these short portfolio entries describe my research process for my user experience research capstone."
-tags: ["UX", "Research", "Development"]
----
-
-{{< figure src="./img/chart.png" align="center" caption="Example graph from our second assignment: creating figures for sample task completion data" >}}
-
-## Mad UX
-
-The [UW–Madison User Experience Design](https://ischool.wisc.edu/programs/uxcapstone/) capstone certificate provides graduate-level user experience skills in planning, designing, and assessing innovative digital user experiences via digital applications and media.
-
-Completing this capstone has been a year-long endeavor for me as I continue to build my portfolio in preparation for graduate school and beyond. After completing our introductory training in user research methods, prototyping, and visual design, my cohort and I began preparations for the final stretch of our program by outlining research goals for a new digital application. This application is intended to be distinct from the studies of our previous terms, allowing us to diversify our portfolio by studying a pre-existing system. In conjunction with the _[MOTHER²](../../games/MotherSquared/)_ development team, I sought to continue my research from earlier semesters by studying the player experience of the original SNES title _EarthBound_.
-
-The choice to conduct research on an SNES title from the '90s may initially seem a bit odd; what value can be gleaned from studying a game published three decades ago? The research conducted this summer serves to bolster my skills in evaluating and researching the user experience of digital games as well as the underlying data collection and analysis methods used in the field today.
-
-## A1: Research Goals
-
-In order to develop actionable insights into player behavior, careful research planning was conducted to draft a proposal describing the game to be tested, the goals of its players, and how those goals were mapped to potential research inquiries. As a user researcher, our goals are of course centered on the player and their experiences with the game. That said understanding the goals of my stakeholders (the developers of _MOTHER²_), and the larger context of our product's creation, helps me to focus my research on providing the most relevant insights possible for all members of the team. This helps ensure that the results of our research are not ignored or wasted, as well as fostering buy-in from developers and stakeholders alike.
-
-As the development team of MOTHER² is comprised entirely of fans of the original _EarthBound_, this presents a unique opportunity for insights into fan-led projects of this scope. Fan games and ROM hacks seldom undertake a complete remaking of their source of inspiration. A process which involves the coordination of a group of fans over multiple years, evolving into a microcosm of a modern game development pipeline. Within the user experience domain, this creates an uncommon scenario in which users have actually become producers seeking to improve upon the experiences of the original game. This brings with it, a chance to study the unique perspectives and biases of the development team in addition to studying perspective players in our target audience.
-
-## A2: Metrics Exploration
-
-In preparation for our upcoming research studies, we developed a greater understanding of performance metrics based on task completion, error rate, efficiency, and learnability. Particular attention was dedicated to the task analysis process, detailing the presentation, collection, and categorization of task data. Subsequently, we employed some elementary statistical analysis on sample data to practice these skills in spreadsheet editing software.
-
-_This is the second entry in my UX portfolio series. If you have not read the first one, you can find it [here](../ux-p2/)._ ⏩
+---
+title: "MAD UX: Process Blog #1"
+date: 2024-06-03
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: img/cover.png
+ alt: "Process Log #1 (Cover Image)"
+ caption: "Graph from A2: Task Completion Exercise"
+ hidden: true
+summary: "First UX Portfolio Entry ✨"
+description: "Over the course of the summer 2024 term, these short portfolio entries describe my research process for my user experience research capstone."
+tags: ["UX", "Research", "Development"]
+---
+
+{{< figure src="./img/chart.png" align="center" caption="Example graph from our second assignment: creating figures for sample task completion data" >}}
+
+## Mad UX
+
+The [UW–Madison User Experience Design](https://ischool.wisc.edu/programs/uxcapstone/) capstone certificate provides graduate-level user experience skills in planning, designing, and assessing innovative digital user experiences via digital applications and media.
+
+Completing this capstone has been a year-long endeavor for me as I continue to build my portfolio in preparation for graduate school and beyond. After completing our introductory training in user research methods, prototyping, and visual design, my cohort and I began preparations for the final stretch of our program by outlining research goals for a new digital application. This application is intended to be distinct from the studies of our previous terms, allowing us to diversify our portfolio by studying a pre-existing system. In conjunction with the _[MOTHER²](../../games/MotherSquared/)_ development team, I sought to continue my research from earlier semesters by studying the player experience of the original SNES title _EarthBound_.
+
+The choice to conduct research on an SNES title from the '90s may initially seem a bit odd; what value can be gleaned from studying a game published three decades ago? The research conducted this summer serves to bolster my skills in evaluating and researching the user experience of digital games as well as the underlying data collection and analysis methods used in the field today.
+
+## A1: Research Goals
+
+In order to develop actionable insights into player behavior, careful research planning was conducted to draft a proposal describing the game to be tested, the goals of its players, and how those goals were mapped to potential research inquiries. As a user researcher, our goals are of course centered on the player and their experiences with the game. That said understanding the goals of my stakeholders (the developers of _MOTHER²_), and the larger context of our product's creation, helps me to focus my research on providing the most relevant insights possible for all members of the team. This helps ensure that the results of our research are not ignored or wasted, as well as fostering buy-in from developers and stakeholders alike.
+
+As the development team of MOTHER² is comprised entirely of fans of the original _EarthBound_, this presents a unique opportunity for insights into fan-led projects of this scope. Fan games and ROM hacks seldom undertake a complete remaking of their source of inspiration. A process which involves the coordination of a group of fans over multiple years, evolving into a microcosm of a modern game development pipeline. Within the user experience domain, this creates an uncommon scenario in which users have actually become producers seeking to improve upon the experiences of the original game. This brings with it, a chance to study the unique perspectives and biases of the development team in addition to studying perspective players in our target audience.
+
+## A2: Metrics Exploration
+
+In preparation for our upcoming research studies, we developed a greater understanding of performance metrics based on task completion, error rate, efficiency, and learnability. Particular attention was dedicated to the task analysis process, detailing the presentation, collection, and categorization of task data. Subsequently, we employed some elementary statistical analysis on sample data to practice these skills in spreadsheet editing software.
+
+_This is the second entry in my UX portfolio series. If you have not read the first one, you can find it [here](../ux-p2/)._ ⏩
diff --git a/content/blog/UX-P2/index.md b/content/blog/UX-P2/index.md
index 825f730..131c88b 100644
--- a/content/blog/UX-P2/index.md
+++ b/content/blog/UX-P2/index.md
@@ -1,35 +1,35 @@
----
-title: "MAD UX: Process Blog #2"
-date: 2024-06-18
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: img/cover.png
- alt: "Process Log #2: _Flood-It!_ "
- caption: "_Flood-It!_ one of the primary demo titles used in my training with Google Analytics 4"
- hidden: true
-summary: "Exploring Analytics in Google Analytics 4 & Self-Reported Metrics"
-description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
-tags: ["UX", "Research", "Development", "Firebase", "Google Analytics"]
----
-
-_This is the second entry in my UX portfolio series. If you have not read the first one, you can find it [here](../ux-p1/)_ 👈️
-
-{{< figure src="./img/flood-it.png" align="center" caption="_Flood-It!_ one of the primary demo titles used in my training with Google Analytics 4" >}}
-
-## Task Analysis vs Self-Reported Metrics
-
-This week, a majority of our discussion focused on the differences between task completion metrics and self-reported metrics. The former is primarily an objective measurement of user behavior which is extremely beneficial for measuring goals and benchmarking performance. Coming from a background in computer science the cold, hard objectivity of task completion metrics presents a sort of finite and pleasing measurement of user experience. That said, objective measurement alone fails to capture **_how_** or **_why_** users feel a certain way about the experience. One might imagine how a game, reduced to a simple button that allows users to win with a simple click, would produce seemingly positive and efficient success rates yet produce an unengaging experience. This is where more subjective measures are needed.
-
-Masahiro Sakurai [in his series on Creating Games](https://www.youtube.com/@sora_sakurai_en) describes an important aspect of this balance between task completion and subjective feel in his planning & design episode on rewards. If you are an aspiring game developer, or simply interested in how games are made, I cannot recommend subscribing to this channel enough.
-
-{{< youtube 44ONFHla-sw >}}
-
-## A3: Web Analytics Orientation & Testing Plan
-
-My cohort and I also began some introductory training with [Google Analytics 4](https://support.google.com/analytics/answer/10089681?hl=en) in preparation for our upcoming research studies. Web analytics are one method commonly used today to capture task completion metrics as well as other measures of a digital application's performance such as conversion rates or traffic data. Capturing analytics in games is something I have some pre-existing background in from my time developing [Wake](../../games/wake/) one of the flagship projects for [Open Game Data](https://opengamedata.fielddaylab.wisc.edu/).
-
-For the development of _MOTHER²_, collecting analytics could present valuable insights for balancing the pacing and combat of the game once the alpha release is shipped. Capturing timestamps between the completion of key events in the game's story can provide developers insight into the amount time players spend on each segment of the game. These measurements can then be used as a sort of early warning system for designers looking to suss out pain points in the progression of the game.
-
-_The UX portfolio series continues on. You can continue reading [here](../ux-p3/)._ ⏩️
+---
+title: "MAD UX: Process Blog #2"
+date: 2024-06-18
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: img/cover.png
+ alt: "Process Log #2: _Flood-It!_ "
+ caption: "_Flood-It!_ one of the primary demo titles used in my training with Google Analytics 4"
+ hidden: true
+summary: "Exploring Analytics in Google Analytics 4 & Self-Reported Metrics"
+description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
+tags: ["UX", "Research", "Development", "Firebase", "Google Analytics"]
+---
+
+_This is the second entry in my UX portfolio series. If you have not read the first one, you can find it [here](../ux-p1/)_ 👈️
+
+{{< figure src="./img/flood-it.png" align="center" caption="_Flood-It!_ one of the primary demo titles used in my training with Google Analytics 4" >}}
+
+## Task Analysis vs Self-Reported Metrics
+
+This week, a majority of our discussion focused on the differences between task completion metrics and self-reported metrics. The former is primarily an objective measurement of user behavior which is extremely beneficial for measuring goals and benchmarking performance. Coming from a background in computer science the cold, hard objectivity of task completion metrics presents a sort of finite and pleasing measurement of user experience. That said, objective measurement alone fails to capture **_how_** or **_why_** users feel a certain way about the experience. One might imagine how a game, reduced to a simple button that allows users to win with a simple click, would produce seemingly positive and efficient success rates yet produce an unengaging experience. This is where more subjective measures are needed.
+
+Masahiro Sakurai [in his series on Creating Games](https://www.youtube.com/@sora_sakurai_en) describes an important aspect of this balance between task completion and subjective feel in his planning & design episode on rewards. If you are an aspiring game developer, or simply interested in how games are made, I cannot recommend subscribing to this channel enough.
+
+{{< youtube 44ONFHla-sw >}}
+
+## A3: Web Analytics Orientation & Testing Plan
+
+My cohort and I also began some introductory training with [Google Analytics 4](https://support.google.com/analytics/answer/10089681?hl=en) in preparation for our upcoming research studies. Web analytics are one method commonly used today to capture task completion metrics as well as other measures of a digital application's performance such as conversion rates or traffic data. Capturing analytics in games is something I have some pre-existing background in from my time developing [Wake](../../games/wake/) one of the flagship projects for [Open Game Data](https://opengamedata.fielddaylab.wisc.edu/).
+
+For the development of _MOTHER²_, collecting analytics could present valuable insights for balancing the pacing and combat of the game once the alpha release is shipped. Capturing timestamps between the completion of key events in the game's story can provide developers insight into the amount time players spend on each segment of the game. These measurements can then be used as a sort of early warning system for designers looking to suss out pain points in the progression of the game.
+
+_The UX portfolio series continues on. You can continue reading [here](../ux-p3/)._ ⏩️
diff --git a/content/blog/UX-P3/index.md b/content/blog/UX-P3/index.md
index 818fcd5..3c8c96a 100644
--- a/content/blog/UX-P3/index.md
+++ b/content/blog/UX-P3/index.md
@@ -1,37 +1,37 @@
----
-title: "MAD UX: Process Blog #3"
-date: 2024-07-07
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: img/cover.png
- alt: "Research Study Preperation"
- caption: "_Parsec_ a remote desktop platform used for remote playtesting & Games User Research."
- hidden: true
-summary: "Prepairing to conduct a task-based research study 👨🔬🎮️"
-description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
-tags: ["UX", "Research", "Development", "Parsec", "Google Analytics"]
----
-
-_This is the third entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p2/)_ 👈️
-
-{{< figure src="./img/parsec-for-ux.png" align="center" caption="_Parsec_ a remote desktop platform used for remote playtesting & Games User Research." >}}
-
-## Wrapping up GA4
-
-In the last few weeks of our user research course, we concluded our essential training with Google Analytics 4 based on this course by [Corey Koberg](https://www.linkedin.com/learning/google-analytics-4-ga4-essential-training-14915362?u=56745513). Our discussion for this unit focused primarily on events and conversions, as well as the interpretation of web analytics data. In addition, my cohort and I supplemented our training with some additional readings on practical statistics from the book _Quantifying the User Experience_ by Jeff Sauro. Chapter 10 was of particular interest to us, which explored the correlation, regression, and ANOVA statistical methods as applied to user experience research.
-
-While concepts from GA4 may not translate directly into my final study for games user research, the data analytics concepts and statistical methods used will be of great benefit to me as I continue my career. Collecting real-time data analytics with Firebase was a key pieces of my previous work at Field Day Learning Games, which I have now gained a greater appreciation for from my studies these past few weeks.
-
-## Planning Our Final Research Study
-
-A larger segment of our time, including the days leading up to Independence Day weekend, saw us preparing for our final user research study for the third piece of our UX capstone. As part of our preparation, we reviewed the user recruitment practices from the fall of the first part of our capstone training, including some lectures from the [Nielson Norman group](https://www.youtube.com/watch?v=o29up51Sxs8). For our deliverables this week, we drafted a participant screener, research guide, and consent form for the study, outlining the skeleton that will be built upon in the weeks to come.
-
-{{< figure src="./img/a4-screener.png" align="center" caption="_Preview of the participant screener_" >}}
-
-The medium of this research study, with a focus on games instead of more traditional digital mediums like apps and websites, required that I explore user testing software independently from my colleagues. For this study, I explored many different platforms that would allow me to easily share and record gameplay from testers, without the need to share potentially sensitive software for games still under development or distribute multiple copies of a particular piece of software. Where I to conduct these sessions in person, I could likely set up a small test environment with a capture card and a voice recorder that would circumvent the need for additional software.
-
-That said because the development team of _MOTHER²_ works asynchronously and remotely, this method of study would be impractical and likely introduce bias in the recruitment of the study, limiting participants to those in my local area. I began my research by brushing up on solutions used by similar researchers in the space, a succinct summary of which can be found in [this](https://gamesuserresearch.com/top-remote-playtest-platforms-for-unmoderated-testing/) post by Steve Bromley. I ultimately decided to use [Parsec](https://parsec.app/) for the ease of use it offers both hosts and participants. ([This](https://developer.microsoft.com/en-us/games/articles/2023/05/how-xbox-research-accomplished-worldwide-virtual-playtesting-with-parsec/) article I uncovered in my research provided a wonderful overview of how Xbox utilized this platform in their user research).
-
-_The UX portfolio series continues on. You can continue reading [here](../ux-p4/)._ ⏩️
+---
+title: "MAD UX: Process Blog #3"
+date: 2024-07-07
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: img/cover.png
+ alt: "Research Study Preperation"
+ caption: "_Parsec_ a remote desktop platform used for remote playtesting & Games User Research."
+ hidden: true
+summary: "Prepairing to conduct a task-based research study 👨🔬🎮️"
+description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
+tags: ["UX", "Research", "Development", "Parsec", "Google Analytics"]
+---
+
+_This is the third entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p2/)_ 👈️
+
+{{< figure src="./img/parsec-for-ux.png" align="center" caption="_Parsec_ a remote desktop platform used for remote playtesting & Games User Research." >}}
+
+## Wrapping up GA4
+
+In the last few weeks of our user research course, we concluded our essential training with Google Analytics 4 based on this course by [Corey Koberg](https://www.linkedin.com/learning/google-analytics-4-ga4-essential-training-14915362?u=56745513). Our discussion for this unit focused primarily on events and conversions, as well as the interpretation of web analytics data. In addition, my cohort and I supplemented our training with some additional readings on practical statistics from the book _Quantifying the User Experience_ by Jeff Sauro. Chapter 10 was of particular interest to us, which explored the correlation, regression, and ANOVA statistical methods as applied to user experience research.
+
+While concepts from GA4 may not translate directly into my final study for games user research, the data analytics concepts and statistical methods used will be of great benefit to me as I continue my career. Collecting real-time data analytics with Firebase was a key pieces of my previous work at Field Day Learning Games, which I have now gained a greater appreciation for from my studies these past few weeks.
+
+## Planning Our Final Research Study
+
+A larger segment of our time, including the days leading up to Independence Day weekend, saw us preparing for our final user research study for the third piece of our UX capstone. As part of our preparation, we reviewed the user recruitment practices from the fall of the first part of our capstone training, including some lectures from the [Nielson Norman group](https://www.youtube.com/watch?v=o29up51Sxs8). For our deliverables this week, we drafted a participant screener, research guide, and consent form for the study, outlining the skeleton that will be built upon in the weeks to come.
+
+{{< figure src="./img/a4-screener.png" align="center" caption="_Preview of the participant screener_" >}}
+
+The medium of this research study, with a focus on games instead of more traditional digital mediums like apps and websites, required that I explore user testing software independently from my colleagues. For this study, I explored many different platforms that would allow me to easily share and record gameplay from testers, without the need to share potentially sensitive software for games still under development or distribute multiple copies of a particular piece of software. Where I to conduct these sessions in person, I could likely set up a small test environment with a capture card and a voice recorder that would circumvent the need for additional software.
+
+That said because the development team of _MOTHER²_ works asynchronously and remotely, this method of study would be impractical and likely introduce bias in the recruitment of the study, limiting participants to those in my local area. I began my research by brushing up on solutions used by similar researchers in the space, a succinct summary of which can be found in [this](https://gamesuserresearch.com/top-remote-playtest-platforms-for-unmoderated-testing/) post by Steve Bromley. I ultimately decided to use [Parsec](https://parsec.app/) for the ease of use it offers both hosts and participants. ([This](https://developer.microsoft.com/en-us/games/articles/2023/05/how-xbox-research-accomplished-worldwide-virtual-playtesting-with-parsec/) article I uncovered in my research provided a wonderful overview of how Xbox utilized this platform in their user research).
+
+_The UX portfolio series continues on. You can continue reading [here](../ux-p4/)._ ⏩️
diff --git a/content/blog/UX-P4/index.md b/content/blog/UX-P4/index.md
index bce5d6b..49896de 100644
--- a/content/blog/UX-P4/index.md
+++ b/content/blog/UX-P4/index.md
@@ -1,41 +1,41 @@
----
-title: "MAD UX: Process Blog #4"
-date: 2024-07-22
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: "img/cover.png"
- alt: "Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants"
- caption: "Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants"
- hidden: true
-summary: "Pilot playtest sessions for my user experience capstone 👨🔬🎮️"
-description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
-tags: ["UX", "Research", "Development", "Parsec"]
----
-
-_This is the fourth entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p3/)_ 👈️
-
-## Planning In-Test Questions
-
-Last week, we began planning for our final research study for the summer term of our user experience capstone. As a part of this exercise, we revised our drafts of our participant screeners, research guides, and consent forms for this study. Here I must again praise the wealth of information made freely available by the Nielson Normann group. They provide a plethora of [talks](https://www.youtube.com/watch?v=ZkDafFDtJ1Y) and [articles](https://www.nngroup.com/articles/moderated-remote-usability-test/) filled with pointers on moderating a remote research study.
-
-Particular attention was paid to developing our pre- and post- task questions in preparation for a pilot study in the subsequent week. In this study, the pre-task questions were designed to help support information drawn from the participant screener, more clearly categorizing users based on their level of familiarity with EarthBound and similar RPGs. Subsequently, the post-task questions were used to help gauge players’ overall impressions of playing through the tutorial section of EarthBound.
-
-{{< figure src="./img/post-task-questionare.png" align="center" caption="_Snapshot of the post-task questionare drafted for the pilot usability study_" >}}
-
-Distinct from my studies in the Spring and Fall, my usability study this term is now focused entirely on a game that has already completed its production process, namely EarthBound. That meant submitting my research proposal to the head of the MOTHER² development team in order to recruit from within the project community on Discord. The following video from MOTHER fan [MonkeyNess](https://www.youtube.com/@MonkeyNess), provides his personal analysis of EarthBound’s opening moments through the lens of game design. This video gives a great overview of some of the key assumptions similar to those shared by the developers on the project.
-
-{{< youtube lGOzNbejtgE >}}
-
-## Pilot Usability Sessions
-
-The following week, it came time to begin a pilot study for the proposed usability playtest. Given the single-week constraint on the time allotted to both recruit and conduct the pilot study, only one participant was recruited from the ideal applicant pool of test participants. As opposed to limiting our pilot to a single participant, the family member of a developer on the project was recruited to allow for preliminary results to be collected before testing with an ideal candidate.
-
-Moderating the usability study for the introductory sequence of EarthBound was a predominantly positive experience, revealing both the strengths and areas for improvement in the game's design. The two participants, one a seasoned gamer and the other a younger newcomer to RPGs navigated the game's opening moments and provided valuable insights into their initial impressions and engagement levels. Frequent encouragement was given to participants to think aloud as much as possible as well as probing questions when participants became silent for extended periods.
-
-In response to participant comments made while learning the controls of the game, a new controls quick reference sheet was added to the participant materials shared at the beginning of the playtest session. This cheat sheet comes directly from the EarthBound Player's Guide and mimics a section of a physical booklet that players from the ‘90s would have received when purchasing the game.
-
-{{< figure src="./img/eb-controls-quick-reference.png" align="center" caption="_Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants_" >}}
-
-_The UX portfolio series continues on. You can continue reading [here](../ux-p5/)._ ⏩️
+---
+title: "MAD UX: Process Blog #4"
+date: 2024-07-22
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: "img/cover.png"
+ alt: "Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants"
+ caption: "Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants"
+ hidden: true
+summary: "Pilot playtest sessions for my user experience capstone 👨🔬🎮️"
+description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
+tags: ["UX", "Research", "Development", "Parsec"]
+---
+
+_This is the fourth entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p3/)_ 👈️
+
+## Planning In-Test Questions
+
+Last week, we began planning for our final research study for the summer term of our user experience capstone. As a part of this exercise, we revised our drafts of our participant screeners, research guides, and consent forms for this study. Here I must again praise the wealth of information made freely available by the Nielson Normann group. They provide a plethora of [talks](https://www.youtube.com/watch?v=ZkDafFDtJ1Y) and [articles](https://www.nngroup.com/articles/moderated-remote-usability-test/) filled with pointers on moderating a remote research study.
+
+Particular attention was paid to developing our pre- and post- task questions in preparation for a pilot study in the subsequent week. In this study, the pre-task questions were designed to help support information drawn from the participant screener, more clearly categorizing users based on their level of familiarity with EarthBound and similar RPGs. Subsequently, the post-task questions were used to help gauge players’ overall impressions of playing through the tutorial section of EarthBound.
+
+{{< figure src="./img/post-task-questionare.png" align="center" caption="_Snapshot of the post-task questionare drafted for the pilot usability study_" >}}
+
+Distinct from my studies in the Spring and Fall, my usability study this term is now focused entirely on a game that has already completed its production process, namely EarthBound. That meant submitting my research proposal to the head of the MOTHER² development team in order to recruit from within the project community on Discord. The following video from MOTHER fan [MonkeyNess](https://www.youtube.com/@MonkeyNess), provides his personal analysis of EarthBound’s opening moments through the lens of game design. This video gives a great overview of some of the key assumptions similar to those shared by the developers on the project.
+
+{{< youtube lGOzNbejtgE >}}
+
+## Pilot Usability Sessions
+
+The following week, it came time to begin a pilot study for the proposed usability playtest. Given the single-week constraint on the time allotted to both recruit and conduct the pilot study, only one participant was recruited from the ideal applicant pool of test participants. As opposed to limiting our pilot to a single participant, the family member of a developer on the project was recruited to allow for preliminary results to be collected before testing with an ideal candidate.
+
+Moderating the usability study for the introductory sequence of EarthBound was a predominantly positive experience, revealing both the strengths and areas for improvement in the game's design. The two participants, one a seasoned gamer and the other a younger newcomer to RPGs navigated the game's opening moments and provided valuable insights into their initial impressions and engagement levels. Frequent encouragement was given to participants to think aloud as much as possible as well as probing questions when participants became silent for extended periods.
+
+In response to participant comments made while learning the controls of the game, a new controls quick reference sheet was added to the participant materials shared at the beginning of the playtest session. This cheat sheet comes directly from the EarthBound Player's Guide and mimics a section of a physical booklet that players from the ‘90s would have received when purchasing the game.
+
+{{< figure src="./img/eb-controls-quick-reference.png" align="center" caption="_Page 4 of the EarthBound Player's Guide to utilized as a quick reference for participants_" >}}
+
+_The UX portfolio series continues on. You can continue reading [here](../ux-p5/)._ ⏩️
diff --git a/content/blog/UX-P5/index.md b/content/blog/UX-P5/index.md
index 7f0efbb..d8d1653 100644
--- a/content/blog/UX-P5/index.md
+++ b/content/blog/UX-P5/index.md
@@ -1,43 +1,43 @@
----
-title: "MAD UX: Web Accessability Interlude"
-date: 2024-08-03
-searchHidden: true
-draft: true
-weight: 5
-cover:
- image: "img/cover.png"
- alt: "TODO"
- caption: "TODO"
- hidden: true
-summary: "A brief interlude from our summer user experience study in order to deep our knowledge ofaccessibility standards & Information Architecture for UX 👨🔬🎮️"
-description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
-tags: ["UX", "Research", "Accessibility"]
----
-
-_This is the fifth entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p4/)_ 👈️
-
-{{< figure src="./img/WAVE-screenshot.png" align="center" caption="_WAVE_ a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities." >}}
-
-## Interlude
-
-When we last left our summer research study, we completed a pilot round of examination for our study materials before drafting a preliminary report on the result from the pilot. This past two weeks, we have taken a short recess from conducting our study, to explore two important topics in the realm of user experience: Information Architecture and Web Accessibility. Relating to one core goal of the Mad UX program, these weeks allow us to develop a broader understanding of various research methods. Shifting focus in this way also allows us additional time to make changes to our study based on peer feedback, and recruit participants for our final study.
-
-## Information Architecture
-
-Our first week of study during this unit saw my cohort and I returning to the practice of [information architecture](https://www.nngroup.com/articles/information-architecture-sitemaps/), a topic we had briefly covered in more detail in the fall term of our UX capstone. As it relates to digital accessibility, creating clear and effective headings and labels is a crucial part of creating websites that are easy to use for keyboard-only users or users navigating sites with a screen reader. As strange as it may sound (though I suspect some of my fellow _code monkeys_ may relate) one aspect of creating digital applications that I find particularly satisfying and rewarding. As may be evident from the platform of this site, I have a deep love of writing in Markdown (a markup language that emphasizes structure and consistency) extending beyond authoring content for this blog to the notes I take with [Obsidian](https://obsidian.md/) every week.
-
-In video games, information architecture is a crucial piece in organizing menus and interfaces of the game ranging from the settings and title menus to the inventory, stat windows, and skill trees of many RPGs. These interfaces are often developed and evaluated with [card sorts](https://www.nngroup.com/articles/card-sorting-definition/) and [tree tests](https://www.nngroup.com/articles/tree-testing/) depending on the stage of development and the maturity of the interface. For MOTHER², the most appropriate method for testing interfaces like the combat menus used in battle would likely be a tree test as veteran players already have well-defined mental models of _EarthBound's_ interfaces. Conversely, the settings menu for MOTHER² would most likely benefit from a cart sort, to better categorize the new features of the game in a way that matches the expectations of today's RPG players.
-
-## WAI, WCAG, and WAVE (Oh my!)
-
-A majority of the time spent these past weeks saw us revisiting the principles of [universal and inclusive design](https://www.nngroup.com/articles/inclusive-design/) and how they apply to both sites and games. A majority of our time was spent revisiting the [Web Content Accessibility Guidelines](https://www.w3.org/WAI/standards-guidelines/wcag/), which are developed by the [World Wide Web Consortium's Web Accessibility Initiative](https://www.w3.org/WAI/about/). Our main exercises this week was provided by [Accessible University](https://a11y-assessments.pages.oit.duke.edu/accessible-u/). Their site provides a great way to practice your skills in auditing websites for accessibility issues, using tools like [WAVE](https://wave.webaim.org/) and [Orca](https://help.gnome.org/users/orca/stable/introduction.html.en) (or any other screen reader). I found this exercise to be a great way to develop empathy for users who rely on a screen reader and inspired me to audit my own site for accessibility issues (perhaps the subject of a future post...)
-
-## Accessibility in Games
-
-It is important to note, however, that accessibility for digital games has only recently gained greater public awareness in the last 5 years. Apple's [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/designing-for-games) which is considered the go-to bible for web guidelines by some, only recently expanded to include games last month.
-
-If you are looking to learn more about how the games industry is changing to become more inclusive: check out [this playlist](https://www.youtube.com/watch?v=NInNVEHj_G4&list=PLc38fcMFcV_vvWOhMDriBlVocTZ8mKQzR&pp=iAQB) by [Game Maker's Toolkit](https://www.youtube.com/channel/UCqJ-Xo29CKyLTjn6z2XwYAw).
-
-{{< youtube NInNVEHj_G4 >}}
-
-
+---
+title: "MAD UX: Web Accessability Interlude"
+date: 2024-08-03
+searchHidden: true
+draft: true
+weight: 5
+cover:
+ image: "img/cover.png"
+ alt: "TODO"
+ caption: "TODO"
+ hidden: true
+summary: "A brief interlude from our summer user experience study in order to deep our knowledge ofaccessibility standards & Information Architecture for UX 👨🔬🎮️"
+description: "Over the course of the summer, these short portfolio entries describe my research process for my user experience research capstone."
+tags: ["UX", "Research", "Accessibility"]
+---
+
+_This is the fifth entry in my UX portfolio series. If you have not read the previous one, you can find it [here](../ux-p4/)_ 👈️
+
+{{< figure src="./img/WAVE-screenshot.png" align="center" caption="_WAVE_ a suite of evaluation tools that helps authors make their web content more accessible to individuals with disabilities." >}}
+
+## Interlude
+
+When we last left our summer research study, we completed a pilot round of examination for our study materials before drafting a preliminary report on the result from the pilot. This past two weeks, we have taken a short recess from conducting our study, to explore two important topics in the realm of user experience: Information Architecture and Web Accessibility. Relating to one core goal of the Mad UX program, these weeks allow us to develop a broader understanding of various research methods. Shifting focus in this way also allows us additional time to make changes to our study based on peer feedback, and recruit participants for our final study.
+
+## Information Architecture
+
+Our first week of study during this unit saw my cohort and I returning to the practice of [information architecture](https://www.nngroup.com/articles/information-architecture-sitemaps/), a topic we had briefly covered in more detail in the fall term of our UX capstone. As it relates to digital accessibility, creating clear and effective headings and labels is a crucial part of creating websites that are easy to use for keyboard-only users or users navigating sites with a screen reader. As strange as it may sound (though I suspect some of my fellow _code monkeys_ may relate) one aspect of creating digital applications that I find particularly satisfying and rewarding. As may be evident from the platform of this site, I have a deep love of writing in Markdown (a markup language that emphasizes structure and consistency) extending beyond authoring content for this blog to the notes I take with [Obsidian](https://obsidian.md/) every week.
+
+In video games, information architecture is a crucial piece in organizing menus and interfaces of the game ranging from the settings and title menus to the inventory, stat windows, and skill trees of many RPGs. These interfaces are often developed and evaluated with [card sorts](https://www.nngroup.com/articles/card-sorting-definition/) and [tree tests](https://www.nngroup.com/articles/tree-testing/) depending on the stage of development and the maturity of the interface. For MOTHER², the most appropriate method for testing interfaces like the combat menus used in battle would likely be a tree test as veteran players already have well-defined mental models of _EarthBound's_ interfaces. Conversely, the settings menu for MOTHER² would most likely benefit from a cart sort, to better categorize the new features of the game in a way that matches the expectations of today's RPG players.
+
+## WAI, WCAG, and WAVE (Oh my!)
+
+A majority of the time spent these past weeks saw us revisiting the principles of [universal and inclusive design](https://www.nngroup.com/articles/inclusive-design/) and how they apply to both sites and games. A majority of our time was spent revisiting the [Web Content Accessibility Guidelines](https://www.w3.org/WAI/standards-guidelines/wcag/), which are developed by the [World Wide Web Consortium's Web Accessibility Initiative](https://www.w3.org/WAI/about/). Our main exercises this week was provided by [Accessible University](https://a11y-assessments.pages.oit.duke.edu/accessible-u/). Their site provides a great way to practice your skills in auditing websites for accessibility issues, using tools like [WAVE](https://wave.webaim.org/) and [Orca](https://help.gnome.org/users/orca/stable/introduction.html.en) (or any other screen reader). I found this exercise to be a great way to develop empathy for users who rely on a screen reader and inspired me to audit my own site for accessibility issues (perhaps the subject of a future post...)
+
+## Accessibility in Games
+
+It is important to note, however, that accessibility for digital games has only recently gained greater public awareness in the last 5 years. Apple's [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/designing-for-games) which is considered the go-to bible for web guidelines by some, only recently expanded to include games last month.
+
+If you are looking to learn more about how the games industry is changing to become more inclusive: check out [this playlist](https://www.youtube.com/watch?v=NInNVEHj_G4&list=PLc38fcMFcV_vvWOhMDriBlVocTZ8mKQzR&pp=iAQB) by [Game Maker's Toolkit](https://www.youtube.com/channel/UCqJ-Xo29CKyLTjn6z2XwYAw).
+
+{{< youtube NInNVEHj_G4 >}}
+
+
diff --git a/content/contact.md b/content/contact.md
index 71e657a..8135691 100644
--- a/content/contact.md
+++ b/content/contact.md
@@ -1,8 +1,8 @@
----
-title: "✉️ Contact"
-layout: "contact"
-url: "/contact/"
-summary: "Reach me thorugh the following contact portal."
-placeholder: "Subject"
-searchHidden: true
----
+---
+title: "✉️ Contact"
+layout: "contact"
+url: "/contact/"
+summary: "Reach me thorugh the following contact portal."
+placeholder: "Subject"
+searchHidden: true
+---
diff --git a/content/games/ModeMash/index.md b/content/games/ModeMash/index.md
index 3dca823..95d1fad 100644
--- a/content/games/ModeMash/index.md
+++ b/content/games/ModeMash/index.md
@@ -1,26 +1,26 @@
----
-title: "🎼 ModeMash!"
-date: 2023-12-15
-draft: false
-weight: 3
-cover:
- image: img/cover-img.png
- alt: "ModeMash Cover Image"
-summary: "An arcade-style brawler themed around the musical modes created for the 2023 Mode Jam"
-description: "An arcade-style brawler themed around the musical modes created for the 2023 Mode Jam"
-tags: ["Unity", "Game", "Game Jam"]
----
-
-Performance day approaches for our Musical Maestro! Anxious for his big performance, the Maestro attempts to use his magical prowess to call upon an ancient spell to enchant his concert...
-
-To his dismay, something went dreadfully wrong, unleashing a wicked Phantom upon the audience!
-
-Now the Maestro must set things right and demonstrate his mastery of the mystic modes.
-
-![Gameplay Image](img/screenshot-01.png)
-
-## [Play Now!](https://xangrab.github.io/ModeJam2023/)
-
----
-
-_Created for Bigmode Game Jam 2023_
+---
+title: "🎼 ModeMash!"
+date: 2023-12-15
+draft: false
+weight: 3
+cover:
+ image: img/cover-img.png
+ alt: "ModeMash Cover Image"
+summary: "An arcade-style brawler themed around the musical modes created for the 2023 Mode Jam"
+description: "An arcade-style brawler themed around the musical modes created for the 2023 Mode Jam"
+tags: ["Unity", "Game", "Game Jam"]
+---
+
+Performance day approaches for our Musical Maestro! Anxious for his big performance, the Maestro attempts to use his magical prowess to call upon an ancient spell to enchant his concert...
+
+To his dismay, something went dreadfully wrong, unleashing a wicked Phantom upon the audience!
+
+Now the Maestro must set things right and demonstrate his mastery of the mystic modes.
+
+![Gameplay Image](img/screenshot-01.png)
+
+## [Play Now!](https://xangrab.github.io/ModeJam2023/)
+
+---
+
+_Created for Bigmode Game Jam 2023_
diff --git a/content/games/MotherSquared/index.md b/content/games/MotherSquared/index.md
index f904ef8..7a0418f 100644
--- a/content/games/MotherSquared/index.md
+++ b/content/games/MotherSquared/index.md
@@ -1,24 +1,24 @@
----
-title: "🌏️ MOTHER²"
-date: 2024-01-05
-draft: false
-weight: 2
-cover:
- image: img/motherkids3.png
- alt: "Mother Squared Cover Image"
- hidden: true
-revealInHomeList: true
-summary: "An upcoming fan remake of the sleeper hit SNES game, EarthBound."
-description: "An upcoming fan remake of the sleeper hit SNES game, EarthBound."
-tags: ["Godot", "Game", "Upcoming"]
----
-
-## {{< youtube zWeF1jRstLk >}}
-
-Released in 1995 in the West, and 1994 in Japan as MOTHER 2. MOTHER² is a full-length ground-up reimagining of the game in a new engine targeting PC and Valve handheld devices.
-
-{{< figure src="./img/gameplay.png" align="center" caption="_Gameplay screenshot of MOTHER²_" >}}
-
----
-
-## [Find Us On X (Twitter)](https://twitter.com/mother__squared?lang=en)
+---
+title: "🌏️ MOTHER²"
+date: 2024-01-05
+draft: false
+weight: 2
+cover:
+ image: img/motherkids3.png
+ alt: "Mother Squared Cover Image"
+ hidden: true
+revealInHomeList: true
+summary: "An upcoming fan remake of the sleeper hit SNES game, EarthBound."
+description: "An upcoming fan remake of the sleeper hit SNES game, EarthBound."
+tags: ["Godot", "Game", "Upcoming"]
+---
+
+## {{< youtube zWeF1jRstLk >}}
+
+Released in 1995 in the West, and 1994 in Japan as MOTHER 2. MOTHER² is a full-length ground-up reimagining of the game in a new engine targeting PC and Valve handheld devices.
+
+{{< figure src="./img/gameplay.png" align="center" caption="_Gameplay screenshot of MOTHER²_" >}}
+
+---
+
+## [Find Us On X (Twitter)](https://twitter.com/mother__squared?lang=en)
diff --git a/content/games/NoTimeToHorsefly/index.md b/content/games/NoTimeToHorsefly/index.md
index f31e7ec..2e4e1b7 100644
--- a/content/games/NoTimeToHorsefly/index.md
+++ b/content/games/NoTimeToHorsefly/index.md
@@ -1,24 +1,24 @@
----
-title: "🪰 No Time to Horsefly"
-date: 2022-10-03
-draft: false
-weight: 3
-cover:
- image: img/fly-cover-image.png
- alt: "No Time to Horsefly Cover Image"
-summary: "A top-down, rogue-lite, puzzle game set in the lifespan of a horsefly created for the 2022 Ludum Dare"
-description: "A top-down, rogue-lite, puzzle game set in the lifespan of a horsefly created for the 2022 Ludum Dare Jam"
-tags: ["Unity", "Game", "Game Jam"]
----
-
-Do you have what it takes to achieve happiness and leave a legacy for horseflies to come?
-
-Use your chest to keep items safe, and try to help your descendants find their way to happiness!
-
-![Gameplay Screenshot](img/Gameplay-01.png)
-
-## [Play Now!](https://xangrab.itch.io/no-time-to-horsefly)
-
----
-
-_Created for the 2022 Ludum Dare Jam_
+---
+title: "🪰 No Time to Horsefly"
+date: 2022-10-03
+draft: false
+weight: 3
+cover:
+ image: img/fly-cover-image.png
+ alt: "No Time to Horsefly Cover Image"
+summary: "A top-down, rogue-lite, puzzle game set in the lifespan of a horsefly created for the 2022 Ludum Dare"
+description: "A top-down, rogue-lite, puzzle game set in the lifespan of a horsefly created for the 2022 Ludum Dare Jam"
+tags: ["Unity", "Game", "Game Jam"]
+---
+
+Do you have what it takes to achieve happiness and leave a legacy for horseflies to come?
+
+Use your chest to keep items safe, and try to help your descendants find their way to happiness!
+
+![Gameplay Screenshot](img/Gameplay-01.png)
+
+## [Play Now!](https://xangrab.itch.io/no-time-to-horsefly)
+
+---
+
+_Created for the 2022 Ludum Dare Jam_
diff --git a/content/games/Wake/index.md b/content/games/Wake/index.md
index c240033..6a95bf3 100644
--- a/content/games/Wake/index.md
+++ b/content/games/Wake/index.md
@@ -1,42 +1,42 @@
----
-title: "🐳 Wake: Tales from the Aqualab"
-date: 2024-07-12
-draft: false
-cover:
- image: img/wake-hero.png
- alt: "Wake cover image"
- hidden: true
-revealInHomeList: true
-summary: "An online game to teach middle school students science research practices in the Life Sciences"
-description: "An online game to teach middle school students science research practices in the Life Sciences"
-tags: ["Unity", "Game", "Published"]
-weight: 1
----
-
-## {{< youtube rHnp-jWMwFs >}}
-
-Play as a young scientist faced with scientific challenges across multiple oceanic ecosystems. Made in partnership with Harvard and the Penn Center for Learning Analytics. Funding provided by NSF.
-
-{{< figure src="./img/wake-gameplay-screenshot.png" align="center" caption="_Gameplay screenshot of Wake_" >}}
-
-## My Contributions
-
-- Designed pivotal story and level layout elements of the
- game’s introductory sequence
-- Brought gameplay mechanics to life in Unity, implementing
- the game’s Shop UI, and expanding upon systems in the
- game’s Experiment Tanks
-- Used in-house scripting language to bring the work of writers,
- designers, and developers together to implement Aqualab’s
- quests
-- QA Testing using Trello and other in-house logging tools
-
-## Games for Change 2024 | Best in Enviormental Impact
-
-{{< figure src="./img/G4C-wake.png" align="center" caption="_Preview of the G4C Awards Overview_" >}}
-
-Field Day Learning Games recently recieved some recognition at the 2024 _Games for Change Awards_! **_Wake_** was nominated for a Silver award in the category Best in Enviormental Impact. Their other entry (developed by some good friends of mine across the office) [**_Headlines and High Water_**](https://fielddaylab.wisc.edu/play/headlines/) won a Gold awards for Best in Civics. You can find both titles in the awards overview at [festival.gamesforchange.org](https://festival.gamesforchange.org/2024-awards-nominee-overview).
-
----
-
-## [Learn More About Wake](https://fielddaylab.wisc.edu/play/wake/)
+---
+title: "🐳 Wake: Tales from the Aqualab"
+date: 2024-07-12
+draft: false
+cover:
+ image: img/wake-hero.png
+ alt: "Wake cover image"
+ hidden: true
+revealInHomeList: true
+summary: "An online game to teach middle school students science research practices in the Life Sciences"
+description: "An online game to teach middle school students science research practices in the Life Sciences"
+tags: ["Unity", "Game", "Published"]
+weight: 1
+---
+
+## {{< youtube rHnp-jWMwFs >}}
+
+Play as a young scientist faced with scientific challenges across multiple oceanic ecosystems. Made in partnership with Harvard and the Penn Center for Learning Analytics. Funding provided by NSF.
+
+{{< figure src="./img/wake-gameplay-screenshot.png" align="center" caption="_Gameplay screenshot of Wake_" >}}
+
+## My Contributions
+
+- Designed pivotal story and level layout elements of the
+ game’s introductory sequence
+- Brought gameplay mechanics to life in Unity, implementing
+ the game’s Shop UI, and expanding upon systems in the
+ game’s Experiment Tanks
+- Used in-house scripting language to bring the work of writers,
+ designers, and developers together to implement Aqualab’s
+ quests
+- QA Testing using Trello and other in-house logging tools
+
+## Games for Change 2024 | Best in Enviormental Impact
+
+{{< figure src="./img/G4C-wake.png" align="center" caption="_Preview of the G4C Awards Overview_" >}}
+
+Field Day Learning Games recently recieved some recognition at the 2024 _Games for Change Awards_! **_Wake_** was nominated for a Silver award in the category Best in Enviormental Impact. Their other entry (developed by some good friends of mine across the office) [**_Headlines and High Water_**](https://fielddaylab.wisc.edu/play/headlines/) won a Gold awards for Best in Civics. You can find both titles in the awards overview at [festival.gamesforchange.org](https://festival.gamesforchange.org/2024-awards-nominee-overview).
+
+---
+
+## [Learn More About Wake](https://fielddaylab.wisc.edu/play/wake/)
diff --git a/content/games/_index.md b/content/games/_index.md
index dc68418..d9cfa0b 100644
--- a/content/games/_index.md
+++ b/content/games/_index.md
@@ -1,3 +1,3 @@
----
-title: "🕹️ Games"
+---
+title: "🕹️ Games"
---
\ No newline at end of file
diff --git a/content/search.md b/content/search.md
index 9c68454..5387667 100644
--- a/content/search.md
+++ b/content/search.md
@@ -1,8 +1,8 @@
----
-title: "Search 🔍️" # in any language you want
-layout: "search" # is necessary
-url: "/search/"
-# description: "Description for Search"
-summary: "search"
-# placeholder: "placeholder text in search input box"
----
+---
+title: "Search 🔍️" # in any language you want
+layout: "search" # is necessary
+url: "/search/"
+# description: "Description for Search"
+summary: "search"
+# placeholder: "placeholder text in search input box"
+---
diff --git a/content/thanks.md b/content/thanks.md
index 6ba6198..fe8c71e 100644
--- a/content/thanks.md
+++ b/content/thanks.md
@@ -1,8 +1,8 @@
----
-title: "📬️ Your Form Has Been Submitted!"
-layout: "thanks"
-url: "/thanks/"
-summary: Your form has been submited
-placeholder: "Thanks!"
-searchHidden: true
----
+---
+title: "📬️ Your Form Has Been Submitted!"
+layout: "thanks"
+url: "/thanks/"
+summary: Your form has been submited
+placeholder: "Thanks!"
+searchHidden: true
+---
diff --git a/content/whoami/index.md b/content/whoami/index.md
index 2c8d00c..e875664 100644
--- a/content/whoami/index.md
+++ b/content/whoami/index.md
@@ -1,22 +1,22 @@
----
-title: "whoami"
-date: 2024-01-15
-draft: false
-summary: "Learn more about who I am and what I am about! 😊"
----
-
-{{< rawhtml >}}
-
-
-
👋 Hello there! I’m Xander
-{{< /rawhtml >}}
-
-## I am a lifelong, self-driven learner and problem solver
-
-I have been professionally developing games for the last two years, and recreationally my entire life. I graduated the University of Wisconsin—Madison with a Bachelors in Computer Science and three certificates in Game Design, Digital Art, and Professional Japanese Comunication.
-
-I am proficient in a diverse range of full-stack toolchains targeting game and web development. I am frequently found in international fan games, hackathons, and game jams, expressing my passion for applied games and FOSS.
-
-I achieved the rank of Eagle Scout before graduating high school and continued developing my leadership skills guiding competitive e-sports teams to compete at the national level and igniting passion in STEM teaching kids ages K-12.
-
-Learn more about my projects in the [**Games**](../../games/) tab up above
+---
+title: "whoami"
+date: 2024-01-15
+draft: false
+summary: "Learn more about who I am and what I am about! 😊"
+---
+
+{{< rawhtml >}}
+
+
+
👋 Hello there! I’m Xander
+{{< /rawhtml >}}
+
+## I am a lifelong, self-driven learner and problem solver
+
+I have been professionally developing games for the last two years, and recreationally my entire life. I graduated the University of Wisconsin—Madison with a Bachelors in Computer Science and three certificates in Game Design, Digital Art, and Professional Japanese Comunication.
+
+I am proficient in a diverse range of full-stack toolchains targeting game and web development. I am frequently found in international fan games, hackathons, and game jams, expressing my passion for applied games and FOSS.
+
+I achieved the rank of Eagle Scout before graduating high school and continued developing my leadership skills guiding competitive e-sports teams to compete at the national level and igniting passion in STEM teaching kids ages K-12.
+
+Learn more about my projects in the [**Games**](../../games/) tab up above
diff --git a/layouts/_default/contact.html b/layouts/_default/contact.html
index d670f8d..b2f8376 100644
--- a/layouts/_default/contact.html
+++ b/layouts/_default/contact.html
@@ -1,77 +1,87 @@
-{{- define "main" }}
-
-
-
{{- (printf "%s " .Title ) | htmlUnescape -}}
- {{- if .Description }}
-
{{ .Description }}
- {{- end }} {{- if not (.Param "hideMeta") }}
-
{{- partial "translation_list.html" . -}}
- {{- end }}
-
-
-
-
-
-
-
-
-
-
-
-{{- end }}{{/* end main */}}
+{{- define "main" }}
+
+
+
{{- (printf "%s " .Title ) | htmlUnescape -}}
+ {{- if .Description }}
+
{{ .Description }}
+ {{- end }} {{- if not (.Param "hideMeta") }}
+
{{- partial "translation_list.html" . -}}
+ {{- end }}
+
+
+
+
+
+
+
+
+
+
+{{- end }}{{/* end main */}}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 78a06ff..7d2ed3b 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -1,122 +1,122 @@
-{{- define "main" }}
-
-{{- if (and site.Params.profileMode.enabled .IsHome) }}
-{{- partial "index_profile.html" . }}
-{{- else }} {{/* if not profileMode */}}
-
-{{- if not .IsHome | and .Title }}
-
- {{- partial "breadcrumbs.html" . }}
-
- {{ .Title }}
- {{- if and (or (eq .Kind `term`) (eq .Kind `section`)) (.Param "ShowRssButtonInSectionTermList") }}
- {{- with .OutputFormats.Get "rss" }}
-
-
-
- {{- end }}
- {{- end }}
-
- {{- if .Description }}
-
- {{ .Description | markdownify }}
-
- {{- end }}
-
-{{- end }}
-
-{{- if .Content }}
-
- {{- if not (.Param "disableAnchoredHeadings") }}
- {{- partial "anchored_headings.html" .Content -}}
- {{- else }}{{ .Content }}{{ end }}
-
- {{- .Title }}
- {{- if .Draft }}
-
-
-
- {{- end }}
-
-
- {{- if (ne (.Param "hideSummary") true) }}
-
-
{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}
-
- {{- end }}
- {{- if not (.Param "hideMeta") }}
-
- {{- end }}
-
-
-{{- end }}
-
-{{- if gt $paginator.TotalPages 1 }}
-
-{{- end }}
-
-{{- end }}{{/* end profileMode */}}
-
-{{- end }}{{- /* end main */ -}}
+{{- define "main" }}
+
+{{- if (and site.Params.profileMode.enabled .IsHome) }}
+{{- partial "index_profile.html" . }}
+{{- else }} {{/* if not profileMode */}}
+
+{{- if not .IsHome | and .Title }}
+
+ {{- partial "breadcrumbs.html" . }}
+
+ {{ .Title }}
+ {{- if and (or (eq .Kind `term`) (eq .Kind `section`)) (.Param "ShowRssButtonInSectionTermList") }}
+ {{- with .OutputFormats.Get "rss" }}
+
+
+
+ {{- end }}
+ {{- end }}
+
+ {{- if .Description }}
+
+ {{ .Description | markdownify }}
+
+ {{- end }}
+
+{{- end }}
+
+{{- if .Content }}
+
+ {{- if not (.Param "disableAnchoredHeadings") }}
+ {{- partial "anchored_headings.html" .Content -}}
+ {{- else }}{{ .Content }}{{ end }}
+