Class: Jekyll::AgentMarkdown::Configuration
- Inherits:
-
Object
- Object
- Jekyll::AgentMarkdown::Configuration
- Defined in:
- lib/jekyll/agent_markdown/configuration.rb
Constant Summary collapse
- ALLOWED_SETTINGS =
%w[include_dates llms_txt posts sort].freeze
- FALSE_STRINGS =
%w[false no off].freeze
- SORT_ORDERS =
%w[asc desc].freeze
Class Method Summary collapse
- .absolute_http_url?(url) ⇒ Boolean
- .disabled?(value) ⇒ Boolean
- .enabled?(settings, key) ⇒ Boolean
- .enabled_value?(value, name:) ⇒ Boolean
- .for(site) ⇒ Object
- .sort_order(settings) ⇒ Object
Class Method Details
.absolute_http_url?(url) ⇒ Boolean
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 43 def absolute_http_url?(url) uri = URI.parse(url) if url.is_a?(String) uri.is_a?(URI::HTTP) && !uri.host.to_s.empty? && uri.userinfo.nil? && uri.query.nil? && uri.fragment.nil? rescue URI::InvalidURIError false end |
.disabled?(value) ⇒ Boolean
39 40 41 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 39 def disabled?(value) value == false || (value.is_a?(String) && FALSE_STRINGS.include?(value.strip.downcase)) end |
.enabled?(settings, key) ⇒ Boolean
26 27 28 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 26 def enabled?(settings, key) !disabled?(settings.fetch(key, true)) end |
.enabled_value?(value, name:) ⇒ Boolean
34 35 36 37 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 34 def enabled_value?(value, name:) validate_value!(name, value) !disabled?(value) end |
.for(site) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 14 def for(site) settings = site.config["agent_markdown"] return {} if settings.nil? || settings == true return false if disabled?(settings) unless settings.is_a?(Hash) raise Jekyll::Errors::FatalException, "agent_markdown must be a Hash, true, or false" end normalized_settings(settings) end |
.sort_order(settings) ⇒ Object
30 31 32 |
# File 'lib/jekyll/agent_markdown/configuration.rb', line 30 def sort_order(settings) settings.fetch("sort", "desc") end |