diff --git a/build-dev.sh b/build-dev.sh
new file mode 100644
index 0000000..d7045dc
--- /dev/null
+++ b/build-dev.sh
@@ -0,0 +1,13 @@
+# Script written by Wyatt J. Miller
+# Licensed by the MIT License
+# Very generic build script for my website
+# Automation so I don't get carpal tunnel lol
+# Used for development
+#
+# Must be used in the site's root directory
+
+cd src/blog
+jekyll build
+cd ../..
+sudo docker build -t mywebsite .
+sudo docker run -v /home/wyatt/Source/mywebsite/src/:/var/www/html -p 80:80 mywebsite
\ No newline at end of file
diff --git a/build-prod.sh b/build-prod.sh
new file mode 100644
index 0000000..2fa1bf1
--- /dev/null
+++ b/build-prod.sh
@@ -0,0 +1,20 @@
+# Script written by Wyatt J. Miller
+# Licensed by the MIT
+# Very generic build script for my website
+# Used in production ONLY!
+#
+# Must be used in the site's root directory
+# TODO: Cron job?
+
+cd ..
+docker-compose down
+docker image rm -f wyattjmiller.com
+cd mywebsite
+git pull
+cd src/blog
+jekyll build
+cd ../..
+docker build -t wyattjmiller.com .
+cd ..
+docker-compose up -d
+cd mywebiste
\ No newline at end of file
diff --git a/src/blog/.gitignore b/src/blog/.gitignore
new file mode 100644
index 0000000..45c1505
--- /dev/null
+++ b/src/blog/.gitignore
@@ -0,0 +1,3 @@
+_site
+.sass-cache
+.jekyll-metadata
diff --git a/src/blog/404.html b/src/blog/404.html
new file mode 100644
index 0000000..c472b4e
--- /dev/null
+++ b/src/blog/404.html
@@ -0,0 +1,24 @@
+---
+layout: default
+---
+
+
+
+
+
404
+
+
Page not found :(
+
The requested page could not be found.
+
diff --git a/src/blog/Gemfile b/src/blog/Gemfile
new file mode 100644
index 0000000..2bf1ac7
--- /dev/null
+++ b/src/blog/Gemfile
@@ -0,0 +1,30 @@
+source "https://rubygems.org"
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "~> 3.8.5"
+
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+gem "minima", "~> 2.0"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.6"
+end
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.0" if Gem.win_platform?
+
diff --git a/src/blog/Gemfile.lock b/src/blog/Gemfile.lock
new file mode 100644
index 0000000..2639ac8
--- /dev/null
+++ b/src/blog/Gemfile.lock
@@ -0,0 +1,74 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.5.2)
+ public_suffix (>= 2.0.2, < 4.0)
+ colorator (1.1.0)
+ concurrent-ruby (1.1.4)
+ em-websocket (0.5.1)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ eventmachine (1.2.7)
+ ffi (1.10.0)
+ forwardable-extended (2.6.0)
+ http_parser.rb (0.6.0)
+ i18n (0.9.5)
+ concurrent-ruby (~> 1.0)
+ jekyll (3.8.5)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 0.7)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 1.14)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (>= 1.7, < 4)
+ safe_yaml (~> 1.0)
+ jekyll-feed (0.11.0)
+ jekyll (~> 3.3)
+ jekyll-sass-converter (1.5.2)
+ sass (~> 3.4)
+ jekyll-seo-tag (2.5.0)
+ jekyll (~> 3.3)
+ jekyll-watch (2.1.2)
+ listen (~> 3.0)
+ kramdown (1.17.0)
+ liquid (4.0.1)
+ listen (3.1.5)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ ruby_dep (~> 1.2)
+ mercenary (0.3.6)
+ minima (2.5.0)
+ jekyll (~> 3.5)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (3.0.3)
+ rb-fsevent (0.10.3)
+ rb-inotify (0.10.0)
+ ffi (~> 1.0)
+ rouge (3.3.0)
+ ruby_dep (1.5.0)
+ safe_yaml (1.0.4)
+ sass (3.7.3)
+ sass-listen (~> 4.0.0)
+ sass-listen (4.0.0)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ jekyll (~> 3.8.5)
+ jekyll-feed (~> 0.6)
+ minima (~> 2.0)
+ tzinfo-data
+
+BUNDLED WITH
+ 2.0.1
diff --git a/src/blog/_config.yml b/src/blog/_config.yml
new file mode 100644
index 0000000..5d79f1a
--- /dev/null
+++ b/src/blog/_config.yml
@@ -0,0 +1,43 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+title: The Dev Cave
+email: wjmiller2016@gmail.com
+description: >- # this means to ignore newlines until "baseurl:"
+ Welcome to The Dev Cave, a blog I started to talk about my feelings
+ about technology, computing, programming and it's tooling. I may talk about
+ other things too.
+baseurl: "/blog/_site" # the subpath of your site, e.g. /blog
+url: "https://wyattjmiller.com/" # the base hostname & protocol for your site, e.g. http://example.com
+twitter_username: wymillerlinux
+github_username: wymillerlinux
+
+# Build settings
+markdown: kramdown
+theme: minima
+plugins:
+ - jekyll-feed
+
+# Exclude from processing.
+# The following items will not be processed, by default. Create a custom list
+# to override the default setting.
+# exclude:
+# - Gemfile
+# - Gemfile.lock
+# - node_modules
+# - vendor/bundle/
+# - vendor/cache/
+# - vendor/gems/
+# - vendor/ruby/
diff --git a/src/blog/_posts/2019-01-11-welcome-to-jekyll.markdown b/src/blog/_posts/2019-01-11-welcome-to-jekyll.markdown
new file mode 100644
index 0000000..3f8c69d
--- /dev/null
+++ b/src/blog/_posts/2019-01-11-welcome-to-jekyll.markdown
@@ -0,0 +1,26 @@
+---
+layout: post
+title: "Welcome to Jekyll!"
+date: 2019-01-11 15:18:37 -0500
+categories: jekyll update
+published: false
+---
+You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
+
+To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
+
+Jekyll also offers powerful support for code snippets:
+
+{% highlight ruby %}
+def print_hi(name)
+ puts "Hi, #{name}"
+end
+print_hi('Tom')
+#=> prints 'Hi, Tom' to STDOUT.
+{% endhighlight %}
+
+Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
+
+[jekyll-docs]: https://jekyllrb.com/docs/home
+[jekyll-gh]: https://github.com/jekyll/jekyll
+[jekyll-talk]: https://talk.jekyllrb.com/
diff --git a/src/blog/about.md b/src/blog/about.md
new file mode 100644
index 0000000..8b4e0b2
--- /dev/null
+++ b/src/blog/about.md
@@ -0,0 +1,18 @@
+---
+layout: page
+title: About
+permalink: /about/
+---
+
+This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
+
+You can find the source code for Minima at GitHub:
+[jekyll][jekyll-organization] /
+[minima](https://github.com/jekyll/minima)
+
+You can find the source code for Jekyll at GitHub:
+[jekyll][jekyll-organization] /
+[jekyll](https://github.com/jekyll/jekyll)
+
+
+[jekyll-organization]: https://github.com/jekyll
diff --git a/src/blog/index.md b/src/blog/index.md
new file mode 100644
index 0000000..0671507
--- /dev/null
+++ b/src/blog/index.md
@@ -0,0 +1,6 @@
+---
+# Feel free to add content and custom Front Matter to this file.
+# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
+
+layout: home
+---
diff --git a/src/header.php b/src/header.php
index 870ee8d..c00a4ca 100644
--- a/src/header.php
+++ b/src/header.php
@@ -16,7 +16,7 @@