summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb195
1 files changed, 195 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb b/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb
new file mode 100644
index 0000000..231f8fd
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/jekyll-4.4.1/lib/jekyll.rb
@@ -0,0 +1,195 @@
+# frozen_string_literal: true
+
+$LOAD_PATH.unshift __dir__ # For use/testing when no gem is installed
+
+# Require all of the Ruby files in the given directory.
+#
+# path - The String relative path from here to the directory.
+#
+# Returns nothing.
+def require_all(path)
+ glob = File.join(__dir__, path, "*.rb")
+ Dir[glob].sort.each do |f|
+ require f
+ end
+end
+
+# rubygems
+require "rubygems"
+
+# stdlib
+require "forwardable"
+require "fileutils"
+require "time"
+require "English"
+require "pathname"
+require "logger"
+require "set"
+require "csv"
+require "json"
+
+# 3rd party
+require "pathutil"
+require "addressable/uri"
+require "safe_yaml/load"
+require "liquid"
+require "kramdown"
+require "colorator"
+require "i18n"
+
+SafeYAML::OPTIONS[:suppress_warnings] = true
+
+module Jekyll
+ # internal requires
+ autoload :Cleaner, "jekyll/cleaner"
+ autoload :Collection, "jekyll/collection"
+ autoload :Configuration, "jekyll/configuration"
+ autoload :Convertible, "jekyll/convertible"
+ autoload :Deprecator, "jekyll/deprecator"
+ autoload :Document, "jekyll/document"
+ autoload :EntryFilter, "jekyll/entry_filter"
+ autoload :Errors, "jekyll/errors"
+ autoload :Excerpt, "jekyll/excerpt"
+ autoload :PageExcerpt, "jekyll/page_excerpt"
+ autoload :External, "jekyll/external"
+ autoload :FrontmatterDefaults, "jekyll/frontmatter_defaults"
+ autoload :Hooks, "jekyll/hooks"
+ autoload :Layout, "jekyll/layout"
+ autoload :Inclusion, "jekyll/inclusion"
+ autoload :Cache, "jekyll/cache"
+ autoload :CollectionReader, "jekyll/readers/collection_reader"
+ autoload :DataReader, "jekyll/readers/data_reader"
+ autoload :LayoutReader, "jekyll/readers/layout_reader"
+ autoload :PostReader, "jekyll/readers/post_reader"
+ autoload :PageReader, "jekyll/readers/page_reader"
+ autoload :StaticFileReader, "jekyll/readers/static_file_reader"
+ autoload :ThemeAssetsReader, "jekyll/readers/theme_assets_reader"
+ autoload :LogAdapter, "jekyll/log_adapter"
+ autoload :Page, "jekyll/page"
+ autoload :PageWithoutAFile, "jekyll/page_without_a_file"
+ autoload :PathManager, "jekyll/path_manager"
+ autoload :PluginManager, "jekyll/plugin_manager"
+ autoload :Publisher, "jekyll/publisher"
+ autoload :Profiler, "jekyll/profiler"
+ autoload :Reader, "jekyll/reader"
+ autoload :Regenerator, "jekyll/regenerator"
+ autoload :RelatedPosts, "jekyll/related_posts"
+ autoload :Renderer, "jekyll/renderer"
+ autoload :LiquidRenderer, "jekyll/liquid_renderer"
+ autoload :Site, "jekyll/site"
+ autoload :StaticFile, "jekyll/static_file"
+ autoload :Stevenson, "jekyll/stevenson"
+ autoload :Theme, "jekyll/theme"
+ autoload :ThemeBuilder, "jekyll/theme_builder"
+ autoload :URL, "jekyll/url"
+ autoload :Utils, "jekyll/utils"
+ autoload :VERSION, "jekyll/version"
+
+ # extensions
+ require "jekyll/plugin"
+ require "jekyll/converter"
+ require "jekyll/generator"
+ require "jekyll/command"
+ require "jekyll/liquid_extensions"
+ require "jekyll/filters"
+
+ class << self
+ # Public: Tells you which Jekyll environment you are building in so you can skip tasks
+ # if you need to. This is useful when doing expensive compression tasks on css and
+ # images and allows you to skip that when working in development.
+
+ def env
+ ENV["JEKYLL_ENV"] || "development"
+ end
+
+ # Public: Generate a Jekyll configuration Hash by merging the default
+ # options with anything in _config.yml, and adding the given options on top.
+ #
+ # override - A Hash of config directives that override any options in both
+ # the defaults and the config file.
+ # See Jekyll::Configuration::DEFAULTS for a
+ # list of option names and their defaults.
+ #
+ # Returns the final configuration Hash.
+ def configuration(override = {})
+ config = Configuration.new
+ override = Configuration[override].stringify_keys
+ unless override.delete("skip_config_files")
+ config = config.read_config_files(config.config_files(override))
+ end
+
+ # Merge DEFAULTS < _config.yml < override
+ Configuration.from(Utils.deep_merge_hashes(config, override)).tap do |obj|
+ set_timezone(obj["timezone"]) if obj["timezone"]
+ end
+ end
+
+ # Public: Set the TZ environment variable to use the timezone specified
+ #
+ # timezone - the IANA Time Zone
+ #
+ # Returns nothing
+ # rubocop:disable Naming/AccessorMethodName
+ def set_timezone(timezone)
+ ENV["TZ"] = if Utils::Platforms.really_windows?
+ Utils::WinTZ.calculate(timezone)
+ else
+ timezone
+ end
+ end
+ # rubocop:enable Naming/AccessorMethodName
+
+ # Public: Fetch the logger instance for this Jekyll process.
+ #
+ # Returns the LogAdapter instance.
+ def logger
+ @logger ||= LogAdapter.new(Stevenson.new, (ENV["JEKYLL_LOG_LEVEL"] || :info).to_sym)
+ end
+
+ # Public: Set the log writer.
+ # New log writer must respond to the same methods
+ # as Ruby's internal Logger.
+ #
+ # writer - the new Logger-compatible log transport
+ #
+ # Returns the new logger.
+ def logger=(writer)
+ @logger = LogAdapter.new(writer, (ENV["JEKYLL_LOG_LEVEL"] || :info).to_sym)
+ end
+
+ # Public: An array of sites
+ #
+ # Returns the Jekyll sites created.
+ def sites
+ @sites ||= []
+ end
+
+ # Public: Ensures the questionable path is prefixed with the base directory
+ # and prepends the questionable path with the base directory if false.
+ #
+ # base_directory - the directory with which to prefix the questionable path
+ # questionable_path - the path we're unsure about, and want prefixed
+ #
+ # Returns the sanitized path.
+ def sanitized_path(base_directory, questionable_path)
+ return base_directory if base_directory.eql?(questionable_path)
+ return base_directory if questionable_path.nil?
+
+ +Jekyll::PathManager.sanitized_path(base_directory, questionable_path)
+ end
+
+ # Conditional optimizations
+ Jekyll::External.require_if_present("liquid/c")
+ end
+end
+
+require "jekyll/drops/drop"
+require "jekyll/drops/document_drop"
+require_all "jekyll/commands"
+require_all "jekyll/converters"
+require_all "jekyll/converters/markdown"
+require_all "jekyll/drops"
+require_all "jekyll/generators"
+require_all "jekyll/tags"
+
+require "jekyll-sass-converter"