Module: RedQuilt::Theme

Defined in:
lib/red_quilt/theme.rb

Overview

Optional bundled stylesheets for standalone HTML output. ‘:none` (the default) embeds no CSS and leaves the bare document untouched; named themes load a stylesheet shipped under lib/red_quilt/themes/.

Constant Summary collapse

NAMES =

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

%i[default].freeze

Class Method Summary collapse

Class Method Details

.css(name) ⇒ Object

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



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