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(options = {}) ⇒ HtmlToCss

Returns a new instance of HtmlToCss.



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
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/html-to-css.rb', line 24

def initialize(options={})

  opt = {rand_color: true, filename: nil}.merge options
  filename = opt[:filename]
  @rand_color = opt[:rand_color]

  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>a', 'ul>li>ul', 'p>a', 'div>div>\w+', 'article']
  @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;",
    article: "background-color: :color;",
    section: "background-color: :color;",
    footer:  "background-color: :color;"
  }
end

Instance Attribute Details

#elementsObject

Returns the value of attribute elements.



22
23
24
# File 'lib/html-to-css.rb', line 22

def elements
  @elements
end

Instance Method Details

#to_cssObject



69
70
71
# File 'lib/html-to-css.rb', line 69

def to_css()
  apply_css
end

#to_layoutObject



73
74
75
76
77
78
# File 'lib/html-to-css.rb', line 73

def to_layout()

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

#to_styleObject



80
81
82
# File 'lib/html-to-css.rb', line 80

def to_style()
  apply_css :style
end