Sha256: 6ee3ebe869236f5c5de66c03131fa7eb1455da3d803c8f11158307abd619985a

Contents?: true

Size: 1.56 KB

Versions: 11

Compression:

Stored size: 1.56 KB

Contents

# @Opulent
module Opulent
  # @Compiler
  class Compiler
    # Generate the code for a while control structure
    #
    # @param node [Array] Node code generation data
    # @param indent [Fixnum] Size of the indentation to be added
    # @param context [Context] Processing environment data
    #
    def doctype_node(node, indent, context)
      indentation = " " * indent

      value = case node[@value]
      when :"", :"html", :"5"
        "!DOCTYPE html"
      when :"1.1"
        '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"'
      when :strict
        '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"'
      when :frameset
        '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"'
      when :mobile
        '!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"'
      when :basic
        '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"'
      when :transitional
        '!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"'
      when :xml
        '?xml version="1.0" encoding="utf-8" ?'
      when :'xml ISO-8859-1'
        '?xml version="1.0" encoding="iso-8859-1" ?'
      end

      doctype_tag = "#{indentation}<#{value}>\n"

      @node_stack << :doctype
      @code += doctype_tag
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
opulent-1.4.0 lib/opulent/compiler/doctype.rb
opulent-1.3.3 lib/opulent/compiler/doctype.rb
opulent-1.3.2 lib/opulent/compiler/doctype.rb
opulent-1.3.1 lib/opulent/compiler/doctype.rb
opulent-1.3.0 lib/opulent/compiler/doctype.rb
opulent-1.2.1 lib/opulent/compiler/doctype.rb
opulent-1.2.0 lib/opulent/compiler/doctype.rb
opulent-1.1.9 lib/opulent/compiler/doctype.rb
opulent-1.1.7 lib/opulent/compiler/doctype.rb
opulent-1.1.6 lib/opulent/compiler/doctype.rb
opulent-1.1.5 lib/opulent/compiler/doctype.rb