diff --git a/lib/docs/filters/npm/clean_html.rb b/lib/docs/filters/npm/clean_html.rb index ad5d0374..b1e2055e 100644 --- a/lib/docs/filters/npm/clean_html.rb +++ b/lib/docs/filters/npm/clean_html.rb @@ -9,7 +9,12 @@ module Docs css('meta', '.colophon').remove end - css('> section', '.deep-link > a').each do |node| + css('a.deep-link[id]').each do |node| + node.parent['id'] = node['id'] + node.remove + end + + css('> section').each do |node| node.before(node.children).remove end diff --git a/lib/docs/filters/npm/entries.rb b/lib/docs/filters/npm/entries.rb index 690f2e6f..a816ea1e 100644 --- a/lib/docs/filters/npm/entries.rb +++ b/lib/docs/filters/npm/entries.rb @@ -26,13 +26,13 @@ module Docs def additional_entries case slug when 'files/package.json' - css('#page > h2[id]').each_with_object [] do |node, entries| + css('#page > h2').each_with_object [] do |node, entries| next if node.content =~ /\A[A-Z]/ - entries << ["package.json: #{node.content}", node['id']] + entries << ["package.json: #{node.content}", node.at_css('.deep-link')['id']] end when 'misc/config' - css('#config-settings ~ h3[id]').map do |node| - ["config: #{node.content}", node['id']] + css('h2:contains("Config Settings") ~ h3').map do |node| + ["config: #{node.content}", node.at_css('.deep-link')['id']] end else [] diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb index 623321ed..57eae04c 100644 --- a/lib/docs/scrapers/npm.rb +++ b/lib/docs/scrapers/npm.rb @@ -2,7 +2,7 @@ module Docs class Npm < UrlScraper self.name = 'npm' self.type = 'npm' - self.release = '4.2.0' + self.release = '4.4.1' self.base_url = 'https://docs.npmjs.com/' self.force_gzip = true self.links = {