<commit_before>module Nanoc3

  module Errors

    # Generic error. Superclass for all nanoc-specific errors.
    class GenericError < ::RuntimeError
    end

    # Error that is raised when a site is loaded that uses a data source with
    # an unknown identifier.
    class UnknownDataSource < GenericError
      def initialize(data_source_name)
        super("The data source specified in the site's configuration file, #{data_source_name}, does not exist.")
      end
    end

    # Error that is raised when a site is loaded that uses a data source with
    # an unknown identifier.
    class UnknownRouter < GenericError
      def initialize(router_name)
        super("The router specified in the site's configuration file, #{router_name}, does not exist.")
      end
    end

    # Error that is raised during site compilation when an item uses a layout
    # that is not present in the site.
    class UnknownLayout < GenericError
      def initialize(layout_identifier)
        super("The site does not have a layout with identifier '#{layout_identifier}'.")
      end
    end

    # Error that is raised during site compilation when an item uses a filter
    # that is not known.<commit_msg>made Nanoc3::Errors::GenericError inherit from StandardError instead of RuntimeError<commit_after>module Nanoc3

  module Errors

    # Generic error. Superclass for all nanoc-specific errors.
    class GenericError < ::StandardError
    end

    # Error that is raised when a site is loaded that uses a data source with
    # an unknown identifier.
    class UnknownDataSource < GenericError
      def initialize(data_source_name)
        super("The data source specified in the site's configuration file, #{data_source_name}, does not exist.")
      end
    end

    # Error that is raised when a site is loaded that uses a data source with
    # an unknown identifier.
    class UnknownRouter < GenericError
      def initialize(router_name)
        super("The router specified in the site's configuration file, #{router_name}, does not exist.")
      end
    end

    # Error that is raised during site compilation when an item uses a layout
    # that is not present in the site.
    class UnknownLayout < GenericError
      def initialize(layout_identifier)
        super("The site does not have a layout with identifier '#{layout_identifier}'.")
      end
    end

    # Error that is raised during site compilation when an item uses a filter
    # that is not known.
{'fraction_non_alphanumeric': 0.05250403877221325, 'fraction_numerical': 0.0012116316639741518, 'mean_word_length': 3.0473856209150325, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2100690', 'n_tokens_mistral': 613, 'n_tokens_neox': 585, 'n_words': 294}