diff --git a/.gitignore b/.gitignore
index 3994cff53eb..0e75bd92309 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,7 @@
*~
.DS_Store
-Gemfile.lock
generate/generate
Railroad.jar
.sass-cache
_site
-.jekyll-metadata
\ No newline at end of file
+.jekyll-metadata
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 00000000000..041d5f80cad
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+source "https://rubygems.org"
+
+gem "html-proofer", "~> 3.7"
+gem "jekyll", "~> 3.4"
+gem "rake", "~> 12.0.0"
+gem "redcarpet", "~> 3.4"
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 00000000000..acf0c900714
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,82 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (5.1.1)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (~> 0.7)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ addressable (2.5.1)
+ public_suffix (~> 2.0, >= 2.0.2)
+ colorator (1.1.0)
+ colored (1.2)
+ concurrent-ruby (1.0.5)
+ ethon (0.10.1)
+ ffi (>= 1.3.0)
+ ffi (1.9.18)
+ forwardable-extended (2.6.0)
+ html-proofer (3.7.2)
+ activesupport (>= 4.2, < 6.0)
+ addressable (~> 2.3)
+ colored (~> 1.2)
+ mercenary (~> 0.3.2)
+ nokogiri (~> 1.7)
+ parallel (~> 1.3)
+ typhoeus (~> 0.7)
+ yell (~> 2.0)
+ i18n (0.8.1)
+ jekyll (3.4.3)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 1.1)
+ kramdown (~> 1.3)
+ liquid (~> 3.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (~> 1.7)
+ safe_yaml (~> 1.0)
+ jekyll-sass-converter (1.5.0)
+ sass (~> 3.4)
+ jekyll-watch (1.5.0)
+ listen (~> 3.0, < 3.1)
+ kramdown (1.13.2)
+ liquid (3.0.6)
+ listen (3.0.8)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ mercenary (0.3.6)
+ mini_portile2 (2.1.0)
+ minitest (5.10.2)
+ nokogiri (1.7.2)
+ mini_portile2 (~> 2.1.0)
+ parallel (1.11.2)
+ pathutil (0.14.0)
+ forwardable-extended (~> 2.6)
+ public_suffix (2.0.5)
+ rake (12.0.0)
+ rb-fsevent (0.9.8)
+ rb-inotify (0.9.8)
+ ffi (>= 0.5.0)
+ redcarpet (3.4.0)
+ rouge (1.11.1)
+ safe_yaml (1.0.4)
+ sass (3.4.24)
+ thread_safe (0.3.6)
+ typhoeus (0.8.0)
+ ethon (>= 0.8.0)
+ tzinfo (1.2.3)
+ thread_safe (~> 0.1)
+ yell (2.0.7)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ html-proofer (~> 3.7)
+ jekyll (~> 3.4)
+ rake (~> 12.0.0)
+ redcarpet (~> 3.4)
+
+BUNDLED WITH
+ 1.14.6
diff --git a/_config.yml b/_config.yml
index 8a6ed5c404a..6dd7fe2caef 100755
--- a/_config.yml
+++ b/_config.yml
@@ -1,5 +1,3 @@
-project: cockroachdb
-topnav_title: CockroachDB
homepage_title: CockroachDB Docs
site_title: Cockroach Labs
@@ -7,7 +5,14 @@ url: "https://www.cockroachlabs.com"
baseurl: "/docs"
highlighter: rouge
-markdown: kramdown
+markdown: redcarpet
+
+redcarpet:
+ extensions:
+ - disable_indented_code_blocks
+ - no_intra_emphasis
+ - tables
+ - with_toc_data
exclude: ["set-application-name.md", "vendor"]
diff --git a/_includes/custom/conditions.html b/_includes/custom/conditions.html
deleted file mode 100755
index 8e38d88ec92..00000000000
--- a/_includes/custom/conditions.html
+++ /dev/null
@@ -1,7 +0,0 @@
-{% if site.project == "cockroachdb" %}
-{% assign sidebar = site.data.sidebar_doc.entries %}
-{% assign topnav = site.data.topnav_doc.topnav %}
-{% assign topnav_dropdowns = site.data.topnav_doc.topnav_dropdowns %}
-{% assign link = "custom/doc/links_doc.html" %}
-{% assign searchGroup = "doc" %}
-{% endif %}
\ No newline at end of file
diff --git a/_includes/custom/doc/customMenu.html b/_includes/custom/doc/customMenu.html
deleted file mode 100755
index 19921bbf801..00000000000
--- a/_includes/custom/doc/customMenu.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{% comment %} Note that in the preview server, this code won't work because the preview sites are using different ports. These links are all relative and assume the same port. However, when you publish the built sites onto the same server, then this toggle works fine. {% endcomment %}
-
-
- Custom Menu
-
-
-
diff --git a/_includes/custom/doc/doc_homepage.md b/_includes/custom/doc/doc_homepage.md
deleted file mode 100755
index b03847eab87..00000000000
--- a/_includes/custom/doc/doc_homepage.md
+++ /dev/null
@@ -1,7 +0,0 @@
-{% include linkrefs.html %}
-
-{% if site.audience == "console" %}
-This is the homepage for Console docs.
-{% elsif site.audience == "ymp" %}
-This is the homepage for YMP docs.
-{% endif %}
\ No newline at end of file
diff --git a/_includes/custom/doc/links_doc.html b/_includes/custom/doc/links_doc.html
deleted file mode 100755
index cdcb7752fa6..00000000000
--- a/_includes/custom/doc/links_doc.html
+++ /dev/null
@@ -1,129 +0,0 @@
-{% comment %} leave this end_i capture here, since all links with _i rely on it. {% endcomment %}
-{% capture end_i %}{% endcapture %}
-
-{% capture doc_about %}About this theme {% endcapture %}
-{% capture doc_about_i %}{% endcapture %}
-
-{% capture doc_adding_tooltips %} Tooltips {% endcapture %}
-{% capture doc_adding_tooltips_i %}{% endcapture %}
-
-{% capture doc_alerts %} Alerts {% endcapture %}
-{% capture doc_alerts_i %}{% endcapture %}
-
-{% capture doc_build_arguments %} Build arguments {% endcapture %}
-{% capture doc_build_arguments_i %}{% endcapture %}
-
-{% capture doc_collections %} Collections {% endcapture %}
-{% capture doc_collections_i %}{% endcapture %}
-
-{% capture doc_conditional_logic %} Conditional logic {% endcapture %}
-{% capture doc_conditional_logic_i %}{% endcapture %}
-
-{% capture doc_configuration_settings %} Setting configuration options {% endcapture %}
-{% capture doc_configuration_settings_i %}{% endcapture %}
-
-{% capture doc_content_reuse %} Content reuse {% endcapture %}
-{% capture doc_content_reuse_i %}{% endcapture %}
-
-
-{% capture doc_customizing_the_theme %} Customizing the theme {% endcapture %}
-{% capture doc_customizing_the_theme_i %}{% endcapture %}
-
-{% capture doc_excluding_files %} Excluding files {% endcapture %}
-{% capture doc_excluding_files_i %}{% endcapture %}
-
-{% capture doc_faq %} FAQ layout {% endcapture %}
-{% capture doc_faq_i %}{% endcapture %}
-
-{% capture doc_generating_pdfs %} Generating PDFs {% endcapture %}
-{% capture doc_generating_pdfs_i %}{% endcapture %}
-
-{% capture doc_getting_started %} Getting started with this theme {% endcapture %}
-{% capture doc_getting_started_i %}{% endcapture %}
-
-{% capture doc_glossary %} Glossary layout {% endcapture %}
-{% capture doc_glossary_i %}{% endcapture %}
-
-{% capture doc_help_api %} Help API and UI tooltips {% endcapture %}
-{% capture doc_help_api_i %}{% endcapture %}
-
-{% capture doc_icons %} Icons {% endcapture %}
-{% capture doc_icons_i %}{% endcapture %}
-
-
-{% capture doc_images %} Images {% endcapture %}
-{% capture doc_images_i %}{% endcapture %}
-
-{% capture doc_kb_layout %} Knowledge-base layout {% endcapture %}
-{% capture doc_kb_layout_i %}{% endcapture %}
-
-{% capture doc_labels %} Labels {% endcapture %}
-{% capture doc_labels_i %}{% endcapture %}
-
-{% capture doc_hyperlinks %} Links {% endcapture %}
-{% capture doc_hyperlinks_i %}{% endcapture %}
-
-
-{% capture doc_navtabs %} Navtabs {% endcapture %}
-{% capture doc_navtabs_i %}{% endcapture %}
-
-{% capture doc_pages %} Pages {% endcapture %}
-{% capture doc_pages_i %}{% endcapture %}
-
-{% capture doc_push_build_to_server %} Pushing builds to the server {% endcapture %}
-{% capture doc_push_build_to_server_i %}{% endcapture %}
-
-{% capture doc_search_configuration %} Search configuration {% endcapture %}
-{% capture doc_search_configuration_i %}{% endcapture %}
-
-
-{% capture doc_series %} Series pages {% endcapture %}
-{% capture doc_series_i %}{% endcapture %}
-
-{% capture doc_shuffle %} Shuffle layout {% endcapture %}
-{% capture doc_shuffle_i %}{% endcapture %}
-
-{% capture doc_sidebar_navigation %} Sidebar navigation {% endcapture %}
-{% capture doc_sidebar_navigation_i %}{% endcapture %}
-
-{% capture doc_special_layouts %} Special layouts {% endcapture %}
-{% capture doc_special_layouts_i %}{% endcapture %}
-
-
-{% capture doc_support %} Support {% endcapture %}
-{% capture doc_support_i %}{% endcapture %}
-
-{% capture doc_supported_features %} Supported features {% endcapture %}
-{% capture doc_supported_features_i %}{% endcapture %}
-
-{% capture doc_syntax_highlighting %} Syntax highlighting {% endcapture %}
-{% capture doc_syntax_highlighting_i %}{% endcapture %}
-
-{% capture doc_tables %} Tables {% endcapture %}
-{% capture doc_tables_i %}{% endcapture %}
-
-
-{% capture doc_tags %} Tags {% endcapture %}
-{% capture doc_tags_i %}{% endcapture %}
-
-{% capture doc_themes %} Themes {% endcapture %}
-{% capture doc_themes_i %}{% endcapture %}
-
-{% capture doc_top_navigation %} Top navigation {% endcapture %}
-{% capture doc_top_navigation_i %}{% endcapture %}
-
-{% capture doc_troubleshooting %} Troubleshooting {% endcapture %}
-{% capture doc_troubleshooting_i %}{% endcapture %}
-
-{% capture doc_video_embeds %} Video embeds {% endcapture %}
-{% capture doc_video_embeds_i %}{% endcapture %}
-
-{% capture doc_iterm_profiles %} iTerm profiles {% endcapture %}
-{% capture doc_iterm_profiles_i %}{% endcapture %}
-
-{% capture doc_webstorm_text_editor %} WebStorm Text Editor {% endcapture %}
-{% capture doc_webstorm_text_editor_i %}{% endcapture %}
-
-{% capture doc_seriesdemo1_1 %} Series demo {% endcapture %}
-{% capture doc_seriesdemo1_1_i %}{% endcapture %}
-
diff --git a/_includes/custom/doc/series_acme.html b/_includes/custom/doc/series_acme.html
deleted file mode 100755
index 089fc8d3818..00000000000
--- a/_includes/custom/doc/series_acme.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/custom/doc/series_acme_next.html b/_includes/custom/doc/series_acme_next.html
deleted file mode 100755
index 5cc60f7b074..00000000000
--- a/_includes/custom/doc/series_acme_next.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{% assign series_pages = site.tags.series_acme %}
- {% for p in pages %}
- {% if p.series == "ACME series" %}
- {% assign nextTopic = page.weight | plus: "0.1" %}
- {% if p.weight == nextTopic %}
- Next: {{p.weight}} {{p.title}}
- {% endif %}
- {% endif %}
- {% endfor %}
-
diff --git a/_includes/linkrefs.html b/_includes/linkrefs.html
deleted file mode 100755
index 3c38e82a80b..00000000000
--- a/_includes/linkrefs.html
+++ /dev/null
@@ -1,4 +0,0 @@
-{% include custom/conditions.html %}
-{% include {{link}} %}
-{% include alerts.html %}
-{% include callouts.html %}
\ No newline at end of file
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
index 0e983f3cabb..636447682f2 100755
--- a/_includes/sidebar.html
+++ b/_includes/sidebar.html
@@ -47,38 +47,10 @@
- {% include custom/conditions.html %}
+ {% assign sidebar = site.data.sidebar_doc.entries %}