Module Amrita
In: lib/amrita/ams.rb
lib/amrita/compiler.rb
lib/amrita/format.rb
lib/amrita/handlers.rb
lib/amrita/merge.rb
lib/amrita/node.rb
lib/amrita/node_expand.rb
lib/amrita/parser.rb
lib/amrita/parts.rb
lib/amrita/tag.rb
lib/amrita/template.rb
lib/amrita/xml.rb

Methods

a   attr   convert   convert   convert   convert   e   element   format_inline   format_pretty   noescape   pre  

Classes and Modules

Module Amrita::CacheManager
Module Amrita::ExpandByMember
Module Amrita::Node
Module Amrita::PartsTemplate
Module Amrita::Sanitizer
Module Amrita::XMLParser
Class Amrita::AmsHandler
Class Amrita::AmsTemplate
Class Amrita::AsIsFormatter
Class Amrita::Attr
Class Amrita::AttrArray
Class Amrita::DummyCacheManager
Class Amrita::Element
Class Amrita::ExpandContext
Class Amrita::Formatter
Class Amrita::HtmlParseError
Class Amrita::HtmlParser
Class Amrita::HtmlTagInfo
Class Amrita::Listener
Class Amrita::MergeTemplate
Class Amrita::ModelMisMatch
Class Amrita::ModuleCache
Class Amrita::NodeArray
Class Amrita::PreFormatter
Class Amrita::PrettyPrintFormatter
Class Amrita::SanitizedString
Class Amrita::SingleLineFormatter
Class Amrita::SourceCache
Class Amrita::Tag
Class Amrita::TagBlock
Class Amrita::TagDD
Class Amrita::TagDT
Class Amrita::TagEmpty
Class Amrita::TagInfo
Class Amrita::TagInline
Class Amrita::TagItem
Class Amrita::TagList
Class Amrita::TagP
Class Amrita::TagPre
Class Amrita::TagTableSection
Class Amrita::Template
Class Amrita::TemplateFile
Class Amrita::TemplateFileWithCache
Class Amrita::TemplateText

Constants

NL = "\r\n"
NL = "\n"
Null = NullNode.instance
DefaultContext = ExpandContext.new
DefaultHtmlTagInfo = HtmlTagInfo.new.freeze

Public Instance methods

generate AttrArray object

[Source]

# File lib/amrita/node.rb, line 706
  def a(*x, &block)
    case x.size
    when 1
      x = x[0]
      case x
        when Hash
        when String,Symbol
        x = Attr.new(x)
        when Attr
        else
        raise(TypeError, "Not Attr,String or Symbol: #{x}")
      end
      AttrArray.new(x, &block)
    when 0
      AttrArray.new([], &block)
    else
      a = (0...x.size/2).collect do |i|
        Attr.new(x[i*2], x[i*2+1])
      end
      AttrArray.new(a, &block)
    end
  end
attr(*x, &block)

Alias for a

[Source]

# File lib/amrita/xml.rb, line 26
      def convert(s)
        s
      end

[Source]

# File lib/amrita/xml.rb, line 18
      def convert(s)
        Uconv::u8toeuc(s)
      end

[Source]

# File lib/amrita/xml.rb, line 22
      def convert(s)
        Uconv::u8tosjis(s)
      end

[Source]

# File lib/amrita/xml.rb, line 31
    def convert(s)
      s
    end
e(:hr)
<hr>
e(:img src="a.png")
<img src="a.png">
e(:p) { "text" }
<p>text</p>
e(:span :class=>"fotter") { "bye" }
<span class="fotter">bye</span>

[Source]

# File lib/amrita/node.rb, line 698
  def e(tagname, *attrs, &block)
    Element.new(tagname, *attrs, &block)
  end
element(tagname, *attrs, &block)

Alias for e

format a Node object given as block in single line format.

If data was given, expand will be called before formatting

[Source]

# File lib/amrita/format.rb, line 686
  def format_inline(data=true, &block)
    node = Node::to_node(yield)
    f = SingleLineFormatter.new
    f.format(node.expand1(data))
  end

pretty print a Node object given as block

If data was given, expand will be called before formatting

[Source]

# File lib/amrita/format.rb, line 698
  def format_pretty(data=true, &block)
    node = Node::to_node(yield)
    f = PrettyPrintFormatter.new
    f.format(node.expand1(data))
  end

Usually the <> character in text will be escaped.

    tmpl = TemplateText.new "<p id=x></p>"
    tmpl.expand(STDOUT, {:x => "<tag>"}) # => <p>&lt;tag&gt;</p>

If the text was wrapped by this method, it will no be escaped.

    tmpl.expand(STDOUT, {:x => noescape {"<tag>"}}) # =>  <p><tag></p>

[Source]

# File lib/amrita/format.rb, line 715
  def noescape(&block) 
    Escape.new(false, &block)
  end

If the text was wrapped by this method, spaces in it will be keeped.

[Source]

# File lib/amrita/format.rb, line 722
  def pre(*attrs, &block) 
    Element.new(:pre, *attrs) { CompactSpace.new(false, &block) }
  end

[Validate]