# File lib/nanoc/extra/checking/checks/external_links.rb, line 16
    def run
      # Find all broken external hrefs
      # TODO de-duplicate this (duplicated in internal links check)
      filenames = self.output_filenames.select { |f| File.extname(f) == '.html' }
      hrefs_with_filenames = ::Nanoc::Extra::LinkCollector.new(filenames, :external).filenames_per_href
      results = self.select_invalid(hrefs_with_filenames.keys)

      # Report them
      results.each do |res|
        filenames = hrefs_with_filenames[res.href]
        filenames.each do |filename|
          self.add_issue(
            "reference to #{res.href}: #{res.explanation}",
            :subject => filename)
        end
      end
    end