diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee
index 5e9dc6cc..dea5c4da 100644
--- a/assets/javascripts/templates/pages/about_tmpl.coffee
+++ b/assets/javascripts/templates/pages/about_tmpl.coffee
@@ -638,6 +638,12 @@ credits = [
'MIT',
'https://raw.githubusercontent.com/rust-lang/rust/master/LICENSE-MIT'
], [
+ 'Salt Stack',
+ '2019 SaltStack',
+ 'Apache',
+ 'https://raw.githubusercontent.com/saltstack/salt/develop/LICENSE'
+ ],
+ [
'Sass',
'2006-2016 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein',
'MIT',
diff --git a/lib/docs/filters/salt_stack/clean_html.rb b/lib/docs/filters/salt_stack/clean_html.rb
new file mode 100644
index 00000000..37e2a3b6
--- /dev/null
+++ b/lib/docs/filters/salt_stack/clean_html.rb
@@ -0,0 +1,27 @@
+module Docs
+ class SaltStack
+ class CleanHtmlFilter < Filter
+ def call
+ if root_page?
+ doc.inner_html = '
SaltStack
'
+ return doc
+ end
+
+ css('.headerlink').remove
+
+ css('div[class^="highlight-"]').each do |node|
+ node.name = 'pre'
+ node['data-language'] = node['class'].scan(/highlight-([a-z]+)/i)[0][0]
+ node.content = node.content.strip
+ end
+
+ css('.function > dt').each do |node|
+ node.name = 'h3'
+ node.content = node.content
+ end
+
+ doc
+ end
+ end
+ end
+end
diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb
new file mode 100644
index 00000000..d346fa29
--- /dev/null
+++ b/lib/docs/filters/salt_stack/entries.rb
@@ -0,0 +1,38 @@
+module Docs
+ class SaltStack
+ class EntriesFilter < Docs::EntriesFilter
+ SALT_REF_RGX = /salt\.([^\.]+)\.([^\s]+)/
+
+ def get_name
+ header = at_css('h1').content
+
+ ref_match = SALT_REF_RGX.match(header)
+ if ref_match
+ ns, mod = ref_match.captures
+ "#{ns}.#{mod}"
+ else
+ header
+ end
+ end
+
+ def get_type
+ slug.split('/', 3)[1]
+ end
+
+ def include_default_entry?
+ slug.split('/').last.start_with? 'salt'
+ end
+
+ def additional_entries
+ entries = []
+
+ css('.function > h3').each do |node|
+ name = node.content.remove('salt.').split('(')[0] + '()'
+ entries << [name, node['id']]
+ end
+
+ entries
+ end
+ end
+ end
+end
diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb
new file mode 100644
index 00000000..3af77753
--- /dev/null
+++ b/lib/docs/scrapers/salt_stack.rb
@@ -0,0 +1,36 @@
+module Docs
+ # The official documentation website is heavily rate-limited
+ #
+ # The documentation can be generated like this (replace 2019.2 with the correct tag):
+ # $ git clone https://github.com/saltstack/salt.git --branch 2019.2 --depth 1
+ # $ cd salt/doc
+ # $ pip install sphinx
+ # $ make html
+ #
+ # The generated html can be found in salt/doc/_build/html
+ class SaltStack < FileScraper
+ self.type = 'simple'
+ self.slug = 'saltstack'
+ self.release = '2019.2.0'
+ self.base_url = 'https://docs.saltstack.com/en/latest/'
+ self.root_path = 'ref/index.html'
+ self.links = {
+ home: 'https://www.saltstack.com/',
+ code: 'https://github.com/saltstack/salt'
+ }
+
+ html_filters.push 'salt_stack/clean_html', 'salt_stack/entries'
+
+ options[:only_patterns] = [/all\//]
+ options[:container] = '.body-content > .section'
+
+ options[:attribution] = <<-HTML
+ © 2019 SaltStack.
+ Licensed under the Apache License, Version 2.0.
+ HTML
+
+ def get_latest_version(opts)
+ get_latest_github_release('saltstack', 'salt', opts)
+ end
+ end
+end
diff --git a/public/icons/docs/saltstack/16.png b/public/icons/docs/saltstack/16.png
new file mode 100644
index 00000000..ee2631f8
Binary files /dev/null and b/public/icons/docs/saltstack/16.png differ
diff --git a/public/icons/docs/saltstack/16@2x.png b/public/icons/docs/saltstack/16@2x.png
new file mode 100644
index 00000000..3fe90907
Binary files /dev/null and b/public/icons/docs/saltstack/16@2x.png differ
diff --git a/public/icons/docs/saltstack/SOURCE b/public/icons/docs/saltstack/SOURCE
new file mode 100644
index 00000000..e0cd3832
--- /dev/null
+++ b/public/icons/docs/saltstack/SOURCE
@@ -0,0 +1 @@
+https://github.com/saltstack/salt/blob/develop/doc/_static/salt-logo.svg