tag.rb

# HTML Tag Library

tag.rb

Version 1.0.4

Copyright (C) 2000 MoonWolf Development

MoonWolf <moonwolf-ruby@moonwolf.com>

## 使い方

### 基本的なHTMLの出力

    require "tag"
    doc = []                          #HTMLドキュメント(Array)
    html = Tag('html')                #<html>
    doc << html                       #docに<html>を追加
    html << head = Tag('head')        #htmlに<head>を追加
    head << (Tag('title') << "TITLE") #headに<title>を追加
    html << body = Tag('body',{'bgcolor'=>'#FFFFFF'})
                                      #<body bgcolor="#FFFFFF">
    print doc.to_s                    #HTML出力

#### 出力

    <html><head><title>TITLE</title></head><body bgcolor="#FFFFFF"></body></html>

### 属性の設定

    img = Tag('img/')
    img['src']='xxx.png'  #<img src="xxx.png">

    o = Tag('option')
    o['selected']=true    #<option selected>

## クラスメソッド:

`new(tagname[,attr[,item]])`

  新しいオブジェクトを生成する。 tagnameはタグの名前、空要素の場合は'/'を追加した名前を指定する。

      Tag.new('html') # <html>〜</html>
      Tag.new('hr/')  # <hr>

## メソッド:

`tagname`
  タグ名を返す。
`attr`
  属性のハッシュを返す。
`item`
  子要素の配列を返す。

`self<<(obj)`
  objを配列の末尾に追加する。

`cr`
  \nを配列の末尾に追加する。

`br`
  <br>を配列の末尾に追加する。

`insertafter(target,*obj)`
  targetの直後にobjを挿入する。

`insertbefore(target,*obj)`
  targetの直前にobjを挿入する。

`to_s`
  HTMLに変換する。

## トップレベルメソッド

`Tag(tagname [, attr [, item]])`
`Tag(tagname [, attr [, item]]) {...}`
  新しいオブジェクトを生成する。 ブロックを指定して呼び出された場合、ブロックを評価した値を配列に追加する。

## 変更来歴

- 2000/10/13 - MoonWolf
  - version 1.0.3
  - <<メソッド不具合修正
  - Hashの仕様変更に対応
- 2000/09/26 - MoonWolf
  - version 1.0.2
  - Array#concatメソッドの仕様変更に対応
- 2000/08/16 - MoonWolf
  - version 1.0.1
  - <<メソッドの引数を*objからobjに変更
- 2000/08/13 - MoonWolf
  - version 1.0.0
  - 最初のリリース