Add PyTorch v1.5.0 documentation

This commit is contained in:
Peiran Yao 2020-05-31 16:45:44 -06:00
parent 4eb4bfe5da
commit c0b94262bf
7 changed files with 109 additions and 0 deletions

View file

@ -621,6 +621,11 @@ credits = [
'2001-2020 Python Software Foundation<br>Python is a trademark of the Python Software Foundation.',
'PSFL',
'https://docs.python.org/3/license.html'
], [
'PyTorch',
'2019 Torch Contributors',
'BSD',
'https://raw.githubusercontent.com/pytorch/pytorch/master/LICENSE'
], [
'Q',
'2009-2017 Kristopher Michael Kowal',

View file

@ -0,0 +1,12 @@
module Docs
class Pytorch
class CleanHtmlFilter < Filter
def call
@doc = at_css('.pytorch-article')
# Show katex-mathml nodes and remove katex-html nodes
css('.katex-html').remove
doc
end
end
end
end

View file

@ -0,0 +1,54 @@
module Docs
class Pytorch
class EntriesFilter < Docs::EntriesFilter
def get_name
# The id of the container `div.section` indicates the page type.
# If the id starts with `module-`, then it's an API reference,
# otherwise it is a note or design doc.
# After the `sphinx/clean_html` filter, that id is assigned to the second element.
if doc.element_children[1]['id']&.starts_with? 'module-'
/\Amodule-(.*)/.match(doc.element_children[1]['id'])[1]
else
at_css('h1').content
end
end
def get_type
name
end
def include_default_entry?
# If the page is not an API reference, we only include it in the index when it
# contains additional entries. See the doc for `get_name`.
doc.element_children[1]['id']&.starts_with? 'module-'
end
def additional_entries
return [] if root_page?
entries = []
css('dt').each do |node|
name = node['id']
if name == self.name or name == nil
next
end
case node.parent['class']
when 'method', 'function'
if node.at_css('code').content.starts_with? 'property '
# this instance method is a property, so treat it as an attribute
entries << [name, node['id']]
else
entries << [name + '()', node['id']]
end
when 'class', 'attribute'
entries << [name, node['id']]
end
end
entries
end
end
end
end

View file

@ -0,0 +1,37 @@
module Docs
class Pytorch < UrlScraper
self.name = 'PyTorch'
self.slug = 'pytorch'
self.type = 'sphinx'
self.release = '1.5.0'
self.base_url = 'https://pytorch.org/docs/stable/'
self.force_gzip = true
self.links = {
home: 'https://pytorch.org/',
code: 'https://github.com/pytorch/pytorch'
}
html_filters.push 'pytorch/clean_html', 'sphinx/clean_html', 'pytorch/entries'
options[:skip] = ['cpp_index.html', 'packages.html', 'py-modindex.html', 'genindex.html']
options[:skip_patterns] = [/\Acommunity/, /\A_modules/, /\Anotes/, /\Aorg\/pytorch\//]
options[:max_image_size] = 256_000
options[:attribution] = <<-HTML
&copy; 2019 Torch Contributors<br>
Licensed under the 3-clause BSD License.<br>
<a href="https://raw.githubusercontent.com/pytorch/pytorch/master/LICENSE" class="_attribution-link">Read the full license.</a>
HTML
def get_latest_version(opts)
doc = fetch_doc('https://pytorch.org/docs/versions.html', opts)
doc.css('li.toctree-l1').each do |node|
match = /v(.+?) \(stable release\)/.match(node.content)
if match
return match[1]
end
end
end
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1 @@
https://pytorch.org/favicon.ico