mirror of https://github.com/freeCodeCamp/devdocs
parent
4eb4bfe5da
commit
c0b94262bf
@ -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
|
@ -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
|
@ -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
|
||||
© 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
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1 @@
|
||||
https://pytorch.org/favicon.ico
|
Loading…
Reference in new issue