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

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

Overview

:nodoc:

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
  @styles = 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

#get_style_for_css_classes(css_classes) ⇒ Object



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

def get_style_for_css_classes css_classes
  cl = @styles[css_classes.first]
  return '' unless cl
  style = ''
  1.upto css_classes.size do |offset|
    break if style = cl[css_classes[offset .. -1]]
  end
  # warn 'Style not found: %p' % [styles] if style.empty?
  return style
end