Class: SiSU_Style::CSS_HeadInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/sisu/css.rb

Instance Method Summary collapse

Constructor Details

#initialize(md, ft = 'html') ⇒ CSS_HeadInfo

Returns a new instance of CSS_HeadInfo.



61
62
63
64
65
66
67
# File 'lib/sisu/css.rb', line 61

def initialize(md,ft='html')
  @md,@ft=md,ft
  @env=SiSU_Env::InfoEnv.new('',md)
  @fn_css ||=SiSU_Env::CSS_Default.new
  @o_str ||=SiSU_Env::ProcessingSettings.new(md).output_dir_structure
  css_copy
end

Instance Method Details

#css_actionObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/sisu/css.rb', line 90

def css_action
  css=case @ft
  when 'html'
    css=css_embed_content.html
    css_embed(css)
  when 'xhtml'
    css_path.xhtml
  when 'xml_sax'
    css_path.xml_sax
  when 'xml_dom'
    css_path.xml_dom
  when 'xml_docbook'
    css_path.xml_docbook
  else
    css_embed_content.html
  end
end

#css_copyObject



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/sisu/css.rb', line 122

def css_copy
  if @o_str.dump_or_redirect?
    css=SiSU_Style::CSS.new
    if @o_str.dump?
      css_pth="#{@md.opt.opt_act[:dump][:inst]}/#{@env.path.style}"
    elsif @o_str.redirect?
      css_pth="#{@md.opt.opt_act[:redirect][:inst]}/#{@md.fnb}/#{@env.path.style}"
    end
    FileUtils::mkdir_p(css_pth) unless FileTest.directory?(css_pth)
    case @ft
    when 'html'
      style=File.new("#{css_pth}/#{@fn_css.html}",'w')
      style << css.html
      style.close
    when 'xhtml'
      style=File.new("#{css_pth}/#{@fn_css.xhtml}",'w')
      style << css.xhtml
      style.close
    when 'xml_sax'
      style=File.new("#{css_pth}/#{@fn_css.xml_sax}",'w')
      style << css.xml_sax
      style.close
    when 'xml_dom'
      style=File.new("#{css_pth}/#{@fn_css.xml_dom}",'w')
      style << css.xml_dom
      style.close
      css_path.xml_dom
    when 'xml_docbook'
      style=File.new("#{css_pth}/#{@fn_css.xml_docbook}",'w')
      style << css.xml_docbook
      style.close
      css_path.xml_docbook
    end
  end
end

#css_embed(css) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/sisu/css.rb', line 83

def css_embed(css)
  <<-WOK
    <style TYPE="text/css">
    #{css}
    </style>
  WOK
end

#css_embed?Boolean

Returns:

  • (Boolean)


75
76
77
78
79
80
81
82
# File 'lib/sisu/css.rb', line 75

def css_embed?
  if @ft=='html' \
  && @o_str.dump_or_redirect?
    true
  else
    false
  end
end

#css_embed_contentObject



72
73
74
# File 'lib/sisu/css.rb', line 72

def css_embed_content
  @css_embed_content ||=SiSU_Style::CSS.new
end

#css_headObject



107
108
109
110
111
# File 'lib/sisu/css.rb', line 107

def css_head
  (css_embed?) \
  ? css_action
  : "#{css_path.html}#{css_path.html_seg}"
end

#css_head_segObject



112
113
114
115
116
# File 'lib/sisu/css.rb', line 112

def css_head_seg
  (css_embed?) \
  ? css_action
  : css_path.html_seg
end

#css_head_xmlObject



117
118
119
# File 'lib/sisu/css.rb', line 117

def css_head_xml
  css_action
end

#css_pathObject



69
70
71
# File 'lib/sisu/css.rb', line 69

def css_path
  SiSU_Env::CSS_Stylesheet.new(@md)
end

#stylesheetObject



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/sisu/css.rb', line 68

def stylesheet
  def css_path
    SiSU_Env::CSS_Stylesheet.new(@md)
  end
  def css_embed_content
    @css_embed_content ||=SiSU_Style::CSS.new
  end
  def css_embed?
    if @ft=='html' \
    && @o_str.dump_or_redirect?
      true
    else
      false
    end
  end
  def css_embed(css)
    <<-WOK
      <style TYPE="text/css">
      #{css}
      </style>
    WOK
  end
  def css_action
    css=case @ft
    when 'html'
      css=css_embed_content.html
      css_embed(css)
    when 'xhtml'
      css_path.xhtml
    when 'xml_sax'
      css_path.xml_sax
    when 'xml_dom'
      css_path.xml_dom
    when 'xml_docbook'
      css_path.xml_docbook
    else
      css_embed_content.html
    end
  end
  def css_head
    (css_embed?) \
    ? css_action
    : "#{css_path.html}#{css_path.html_seg}"
  end
  def css_head_seg
    (css_embed?) \
    ? css_action
    : css_path.html_seg
  end
  def css_head_xml
    css_action
  end
  self
end