Module: RedQuilt::Theme

Defined in:
lib/red_quilt/theme.rb,
sig/red_quilt.rbs

Overview

Bundled stylesheets for standalone HTML output (:none => no CSS). name is coerced with to_sym, so String names ("default") work too.

Constant Summary collapse

NAMES =

Theme names that embed a bundled stylesheet (excludes :none).

Returns:

  • (Array[Symbol])
%i[default].freeze

Class Method Summary collapse

Class Method Details

.css(name) ⇒ String?

Returns the CSS for name, or nil for :none / nil (no embedded CSS). Raises ArgumentError for an unknown name.

Parameters:

  • name (Symbol, String, nil)

Returns:

  • (String, nil)


18
19
20
21
22
23
24
25
26
# File 'lib/red_quilt/theme.rb', line 18

def css(name)
  name = (name || :none).to_sym
  return nil if name == :none
  unless NAMES.include?(name)
    raise ArgumentError, "unknown theme #{name.inspect} (available: none, #{NAMES.join(', ')})"
  end

  (@cache ||= {})[name] ||= File.read(File.join(DIR, "#{name}.css")).freeze
end