diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..918de83
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,6 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+vendor
+Gemfile.lock
diff --git a/docs/404.html b/docs/404.html
new file mode 100644
index 0000000..086a5c9
--- /dev/null
+++ b/docs/404.html
@@ -0,0 +1,25 @@
+---
+permalink: /404.html
+layout: default
+---
+
+
+
+
+
404
+
+
Page not found :(
+
The requested page could not be found.
+
diff --git a/docs/Gemfile b/docs/Gemfile
new file mode 100644
index 0000000..324f56b
--- /dev/null
+++ b/docs/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", "~> 4.0.0"
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+# gem "minima", "~> 2.5"
+gem "just-the-docs", "= 0.2.6"
+# 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
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?
+
diff --git a/docs/_config.yml b/docs/_config.yml
index 2f7efbe..a0aa657 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1 +1,58 @@
-theme: jekyll-theme-minimal
\ No newline at end of file
+# 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.
+#
+# If you need help with YAML syntax, here are some quick references for you:
+# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
+# https://learnxinyminutes.com/docs/yaml/
+#
+# 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: Schemars
+email: hello@graham.cool
+description: >- # this means to ignore newlines until "baseurl:"
+ A crate to Generate JSON Schema documents from Rust code.
+baseurl: "/schemars" # the subpath of your site, e.g. /blog
+url: "https://graham.cool" # the base hostname & protocol for your site, e.g. http://example.com
+
+# Build settings
+remote_theme: pmarsceill/just-the-docs
+theme: "just-the-docs"
+
+aux_links:
+ "GitHub":
+ - "https://github.com/GREsau/schemars"
+ "crates.io":
+ - "https://crates.io/crates/schemars"
+ "API docs":
+ - "https://docs.rs/schemars"
+
+# Exclude from processing.
+# The following items will not be processed, by default.
+# Any item listed under the `exclude:` key here will be automatically added to
+# the internal "default list".
+#
+# Excluded items can be processed by explicitly listing the directories or
+# their entries' file path in the `include:` list.
+#
+# exclude:
+# - .sass-cache/
+# - .jekyll-cache/
+# - gemfiles/
+# - Gemfile
+# - Gemfile.lock
+# - node_modules/
+# - vendor/bundle/
+# - vendor/cache/
+# - vendor/gems/
+# - vendor/ruby/
diff --git a/docs/_sass/custom/custom.scss b/docs/_sass/custom/custom.scss
new file mode 100644
index 0000000..033f2c2
--- /dev/null
+++ b/docs/_sass/custom/custom.scss
@@ -0,0 +1,129 @@
+////
+//// Typography
+////
+
+//$body-font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif;
+//$mono-font-family: "SFMono-Regular", Menlo, Consolas, Monospace;
+//$root-font-size: 16px; // Base font-size for rems
+//$body-line-height: 1.4;
+//$content-line-height: 1.5;
+//$body-heading-line-height: 1.15;
+
+////
+//// Colors
+////
+
+//$white: #fff;
+
+//$grey-dk-000: #959396;
+//$grey-dk-100: #5c5962;
+//$grey-dk-200: #44434d;
+//$grey-dk-250: #302d36;
+//$grey-dk-300: #27262b;
+
+//$grey-lt-000: #f5f6fa;
+//$grey-lt-100: #eeebee;
+//$grey-lt-200: #ecebed;
+//$grey-lt-300: #e6e1e8;
+
+//$purple-000: #7253ed;
+//$purple-100: #5e41d0;
+//$purple-200: #4e26af;
+//$purple-300: #381885;
+
+//$blue-000: #2c84fa;
+//$blue-100: #2869e6;
+//$blue-200: #264caf;
+//$blue-300: #183385;
+
+//$green-000: #41d693;
+//$green-100: #11b584;
+//$green-200: #009c7b;
+//$green-300: #026e57;
+
+//$yellow-000: #ffeb82;
+//$yellow-100: #fadf50;
+//$yellow-200: #f7d12e;
+//$yellow-300: #e7af06;
+
+//$red-000: #f77e7e;
+//$red-100: #f96e65;
+//$red-200: #e94c4c;
+//$red-300: #dd2e2e;
+
+//$body-background-color: $white;
+//$sidebar-color: $grey-lt-000;
+//$search-background-color: $white;
+//$table-background-color: $white;
+//$code-background-color: $grey-lt-000;
+
+//$body-text-color: $grey-dk-100;
+//$body-heading-color: $grey-dk-300;
+//$search-result-preview-color: $grey-dk-000;
+//$nav-child-link-color: $grey-dk-100;
+//$link-color: $purple-000;
+//$btn-primary-color: $purple-100;
+//$base-button-color: #f7f7f7;
+
+////
+//// Spacing
+////
+
+//$spacing-unit: 1rem; // 1rem == 16px
+
+//$spacers: (
+//sp-0: 0,
+//sp-1: $spacing-unit * 0.25,
+//sp-2: $spacing-unit * 0.5,
+//sp-3: $spacing-unit * 0.75,
+//sp-4: $spacing-unit,
+//sp-5: $spacing-unit * 1.5,
+//sp-6: $spacing-unit * 2,
+//sp-7: $spacing-unit * 2.5,
+//sp-8: $spacing-unit * 3,
+//sp-9: $spacing-unit * 3.5,
+//sp-10: $spacing-unit * 4
+//);
+
+//$sp-1: map-get($spacers, sp-1); // 0.25 rem == 4px
+//$sp-2: map-get($spacers, sp-2); // 0.5 rem == 8px
+//$sp-3: map-get($spacers, sp-3); // 0.75 rem == 12px
+//$sp-4: map-get($spacers, sp-4); // 1 rem == 16px
+//$sp-5: map-get($spacers, sp-5); // 1.5 rem == 24px
+//$sp-6: map-get($spacers, sp-6); // 2 rem == 32px
+//$sp-7: map-get($spacers, sp-7); // 2.5 rem == 40px
+//$sp-8: map-get($spacers, sp-8); // 3 rem == 48px
+//$sp-9: map-get($spacers, sp-9); // 4 rem == 48px
+//$sp-10: map-get($spacers, sp-10); // 4.5 rem == 48px
+
+////
+//// Borders
+////
+
+//$border: 1px solid;
+//$border-radius: 4px;
+//$border-color: $grey-lt-100;
+
+////
+//// Grid system
+////
+
+//$gutter-spacing: $sp-6;
+//$gutter-spacing-sm: $sp-4;
+//$nav-width: 264px;
+//$nav-width-md: 248px;
+$content-width: 1000px;
+//$header-height: 60px;
+//$search-results-width: 500px;
+
+////
+//// Media queries in pixels
+////
+
+$media-queries: (
+xs: 320px,
+sm: 500px,
+md: $content-width,
+lg: $content-width + $nav-width,
+xl: 1400px
+);
\ No newline at end of file
diff --git a/docs/assets/js/search-data.json b/docs/assets/js/search-data.json
new file mode 100644
index 0000000..49cbc9d
--- /dev/null
+++ b/docs/assets/js/search-data.json
@@ -0,0 +1,12 @@
+---
+---
+{
+ {% for page in site.html_pages %}{% if page.search_exclude != true %}"{{ forloop.index0 }}": {
+ "id": "{{ forloop.index0 }}",
+ "title": "{{ page.title | replace: '&', '&' }}",
+ "content": "{{ page.content | markdownify | strip_html | escape_once | remove: 'Table of contents' | remove: '```' | remove: '---' | replace: '\', ' ' | normalize_whitespace }}",
+ "url": "{{ page.url | absolute_url }}",
+ "relUrl": "{{ page.url }}"
+ }{% unless forloop.last %},{% endunless %}
+ {% endif %}{% endfor %}
+}
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..25e41f0
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,12 @@
+---
+layout: default
+title: Overview
+nav_order: 1
+permalink: /
+---
+
+# Schemars
+
+Hello world!
+
+This is where the docs will go, once I've written them...
\ No newline at end of file
diff --git a/docs/temp b/docs/temp
deleted file mode 100644
index 8b13789..0000000
--- a/docs/temp
+++ /dev/null
@@ -1 +0,0 @@
-