Class: HtmlToCss

Inherits:
Object
  • Object
show all
Defined in:
lib/html-to-css.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename = nil) ⇒ HtmlToCss

Returns a new instance of HtmlToCss.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/html-to-css.rb', line 18

def initialize(filename=nil)

  if filename then

    @doc = Rexle.new File.read(filename)

  else

    a = Dir.glob("*.html")
    @doc = Rexle.new File.read(a.pop)
    a.each {|file| merge(@doc, Rexle.new(File.read(file)).root ) }
  end

  @selectors = []
  @nocss = ['head']
  @nolayoutcss = ['ul li ul', 'p a', 'div div \w+']
  @css = []

  @elements = {
    a:    "background-color: :color; ",
    body: "background-color: :color;
           align: center;",
    div:  "background-color: :color;",
    h1:   "background-color: :color; 
           color: #fff;
           font-family: Verdana, Arial, Helvetica, sans-serif; 
           font-size: 1.3em;",
    h2:   "background-color: :color; 
           color: #fff;
           font-family: Verdana, Arial, Helvetica, sans-serif; 
           font-size: 1.3em;",
    html: "background-color: :color;",
    li:   "background-color: :color;",
    p:    "background-color: :color;",
    ul:   "background-color: :color;"
  }
end

Instance Attribute Details

#elementsObject

Returns the value of attribute elements.



16
17
18
# File 'lib/html-to-css.rb', line 16

def elements
  @elements
end

Instance Method Details

#to_cssObject



56
57
58
# File 'lib/html-to-css.rb', line 56

def to_css()
  apply_css
end

#to_layoutObject



60
61
62
63
64
65
# File 'lib/html-to-css.rb', line 60

def to_layout()

  css = apply_css(:layout) {|doc| select_layout_elements(doc) }
  @layout_selectors = @selectors.clone
  css
end

#to_styleObject



67
68
69
# File 'lib/html-to-css.rb', line 67

def to_style()
  apply_css :style
end