Class: CodeRay::Encoders::HTML::CSS

Inherits:
Object
  • Object
show all
Defined in:
lib/coderay/encoders/html/css.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(style = :default) ⇒ CSS

Returns a new instance of CSS.



13
14
15
16
17
18
19
20
21
# File 'lib/coderay/encoders/html/css.rb', line 13

def initialize style = :default
  @classes = Hash.new
  style = CSS.load_stylesheet style
  @stylesheet = [
    style::CSS_MAIN_STYLES,
    style::TOKEN_COLORS.gsub(/^(?!$)/, '.CodeRay ')
  ].join("\n")
  parse style::TOKEN_COLORS
end

Instance Attribute Details

#stylesheetObject (readonly)

Returns the value of attribute stylesheet.



7
8
9
# File 'lib/coderay/encoders/html/css.rb', line 7

def stylesheet
  @stylesheet
end

Class Method Details

.load_stylesheet(style = nil) ⇒ Object



9
10
11
# File 'lib/coderay/encoders/html/css.rb', line 9

def CSS.load_stylesheet style = nil
  CodeRay::Styles[style]
end

Instance Method Details

#[](*styles) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/coderay/encoders/html/css.rb', line 23

def [] *styles
  cl = @classes[styles.first]
  return '' unless cl
  style = ''
  1.upto(styles.size) do |offset|
    break if style = cl[styles[offset .. -1]]
  end
  $stderr.puts 'Style not found: %p' % [styles] if $DEBUG and style.empty?
  return style
end