PyTorch 1.6.0+ doc structure support

Document structure has changed since PyTorch 1.6.0.
pull/1364/head
Peiran Yao 4 years ago
parent 98fda38f08
commit cf852768ed

@ -2,9 +2,18 @@ module Docs
class Pytorch
class CleanHtmlFilter < Filter
def call
breadcrumbs = at_css('.pytorch-breadcrumbs')
type_name = breadcrumbs.css('li')[1].content
@doc = at_css('.pytorch-article')
# Show katex-mathml nodes and remove katex-html nodes
css('.katex-html').remove
# pass type_name to following filters as a new node
node = Nokogiri::XML::Node.new 'meta', doc
node.content = type_name
doc.child.before node
doc
end
end

@ -2,6 +2,15 @@ module Docs
class Pytorch
class EntriesFilter < Docs::EntriesFilter
def get_name
# retrive the name in breadcrumb from the auxiliary node
name_in_breadcrumb = doc.child.content
doc.child.remove
# hard-coded name replacements, for better presentation.
name_replacements = {
"Distributed communication package - torch.distributed" => "torch.distributed"
}
# 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.
@ -9,7 +18,9 @@ module Docs
if doc.element_children[1]['id']&.starts_with? 'module-'
/\Amodule-(.*)/.match(doc.element_children[1]['id'])[1]
else
at_css('h1').content
name_in_breadcrumb = name_in_breadcrumb.delete_suffix(' >')
name_in_breadcrumb = name_replacements.fetch(name_in_breadcrumb, name_in_breadcrumb)
name_in_breadcrumb
end
end
@ -18,9 +29,8 @@ module Docs
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-'
# Only include API references, and ignore notes or design docs
!subpath.start_with? 'generated/' and type.start_with? 'torch'
end
def additional_entries

Loading…
Cancel
Save