diff options
Diffstat (limited to 'lib/sisu/v3dv/css.rb')
| -rw-r--r-- | lib/sisu/v3dv/css.rb | 92 | 
1 files changed, 92 insertions, 0 deletions
| diff --git a/lib/sisu/v3dv/css.rb b/lib/sisu/v3dv/css.rb index 522aae7e..cdcd16cd 100644 --- a/lib/sisu/v3dv/css.rb +++ b/lib/sisu/v3dv/css.rb @@ -59,6 +59,98 @@  module SiSU_Style    require_relative 'sysenv'                             # sysenv.rb    require_relative 'defaults'                           # defaults.rb +  class CSS_HeadInfo +    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::OutputStructure.new(md).output_dir_structure +      css_copy +    end +    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 +        style_css=SiSU_Style::CSS.new +        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 +        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 +    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 +        end +      end +    end +  end    class CSS      def initialize        @vz=SiSU_Env::GetInit.instance.skin | 
