.+document:  ChangeLog
.?release:   $Release: 3.0.0 $


* Release 3.0.0

  [enhancements from 2.0.4]

    - Presentation logic is described in target language.
      It means that you can write presentatin logic in Ruby, PHP,
      and so on.

    - New properties 'elem:', 'stag:', 'cont:', 'etag:' are added.
      They replaces element, start-tag, content, end-tag with
      expression value. This is useful especially for Rails.

      new.html : presentation data file
      --------------------
      <form id="mark:form">
        Name: <input type="text" id="user_name">
        <input type="submit" id="mark:submit">
      </form>
      --------------------

      new.plogic : presentation logic file
      --------------------
      #form {
        stag:  start_form_tag :action=>'create';
      }
      #user_name {
        elem:  text_field 'user', 'name';
      }
      #submit {
        elem:  submit_tag 'Create';
      }
      --------------------

      compile:
      ====================
      $ kwartz -p new.plogic new.html > new.rhtml
      ====================

      new.rhtml : compiled output script
      --------------------
      <%= start_form_tag :action=>'create' %>
        Name: <%= text_field 'user', 'name' %>
        <%= submit_tag 'Create' %>
      </form>
      --------------------

      See 'examples/rails1' for more details about Rails and Kwartz.

    - New keyword '_elem' added. '_elem' means element and
      it is equivarent to '_stag' + '_cont' + '_etag'.

    - New language 'rails' addes. It uses '<% -%>' instead of '<% %>'
      as embedded pattern.

    - New command-line option '-L layout' specifies layout file.
      ====================
      $ kwartz -p new.plogic -L layout.html new.html > new.rhtml
      ## this is equivarent to the following:
      ## $ kwartz -p new.plogic -i new.html layout.html > new.rhtml
      ====================

    - ...and more


  [changes from 2.0.4]

    - Property 'plogic:' is renamed to 'logic:'.

    - '@stag', '@cont', '@etag' is changed to
      '_stag', '_cont', '_etag' respectively.

    - Directive format is changed.
      See reference manual for details.

    - Directive attribute is changed from 'kw:d' to 'title'.
      (this may be change in the future.)

    - Directive 'id="replace:xxx"' is renamed to
      'id="replace_element_with_element:xxx"' and
      'id="replace_element_with_content:xxx"'.

    - Directive 'id="placeholder:xxx" is renamed to
      'id="relace_content_with_element:xxx"' and
      'id="relace_content_with_content:xxx"'.

    - 'analyze' action is obsolete (because presentation logic
      is described in Ruby, PHP, and so on).

    - 'defun' action is currently not supported
      (but is planned to be implemented in the future release).

    - Velocity is not supported.

    - Project name in RubyForge.org is changed from 'kwartz-ruby'
      to 'Kwartz', and gem file is also changed.

    - ...and more

.-document:
