diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee
index b8511c86..913e00dd 100644
--- a/assets/javascripts/templates/pages/about_tmpl.coffee
+++ b/assets/javascripts/templates/pages/about_tmpl.coffee
@@ -408,7 +408,7 @@ credits = [
'https://raw.githubusercontent.com/jquery/api.jqueryui.com/master/LICENSE.txt'
], [
'Julia',
- '2009-2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors',
+ '2009-2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors',
'MIT',
'https://raw.githubusercontent.com/JuliaLang/julia/master/LICENSE.md'
], [
diff --git a/lib/docs/filters/julia/clean_html.rb b/lib/docs/filters/julia/clean_html.rb
index 00ebfb6d..d228166a 100644
--- a/lib/docs/filters/julia/clean_html.rb
+++ b/lib/docs/filters/julia/clean_html.rb
@@ -4,11 +4,19 @@ module Docs
def call
css('> header', '> footer').remove
+ # Julia 1.4+ uses different HTML
+ at_css('h1').content = at_css('h1').content
+
+ if at_css('#documenter-page')
+ @doc.children = at_css('#documenter-page').children
+ end
+ # End 1.4+ specific cleaning
+
css('.docstring', 'div:not([class])').each do |node|
node.before(node.children).remove
end
- css('.docstring-header').each do |node|
+ css('.docstring-header', 'header').each do |node|
node.name = 'h3'
node.children.each { |child| child.remove if child.text? }
node.remove_attribute('class')
diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb
index 4cc9ef2a..39c9f9d0 100644
--- a/lib/docs/scrapers/julia.rb
+++ b/lib/docs/scrapers/julia.rb
@@ -7,10 +7,43 @@ module Docs
options[:attribution] = <<-HTML
- © 2009–2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
+ © 2009–2020 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
HTML
+ version '1.5' do
+ self.release = '1.5.3'
+ self.base_url = "https://docs.julialang.org/en/v#{release}/"
+ self.type = 'julia'
+
+ html_filters.push 'julia/entries', 'julia/clean_html'
+
+ options[:container] = '.docs-main'
+ options[:only_patterns] = [/\Amanual\//, /\Abase\//, /\Astdlib\//]
+ end
+
+ version '1.4' do
+ self.release = '1.4.2'
+ self.base_url = "https://docs.julialang.org/en/v#{release}/"
+ self.type = 'julia'
+
+ html_filters.push 'julia/entries', 'julia/clean_html'
+
+ options[:container] = '.docs-main'
+ options[:only_patterns] = [/\Amanual\//, /\Abase\//, /\Astdlib\//]
+ end
+
+ version '1.3' do
+ self.release = '1.3.1'
+ self.base_url = "https://docs.julialang.org/en/v#{release}/"
+ self.type = 'julia'
+
+ html_filters.push 'julia/entries', 'julia/clean_html'
+
+ options[:container] = '#docs'
+ options[:only_patterns] = [/\Amanual\//, /\Abase\//, /\Astdlib\//]
+ end
+
version '1.2' do
self.release = '1.2.0'
self.base_url = "https://docs.julialang.org/en/v#{release}/"