Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{html}
<style type="text/css">

#twtr-widget-1 .twtr-doc, #twtr-widget-1 .twtr-hd a, #twtr-widget-1 h3, #twtr-widget-1 h4, #twtr-widget-1 .twtr-popular {
    background-color: #569D2F !important;
    color: #FFFFFF !important;
}

#twtr-widget-1 .twtr-tweet a {
    color: #569D2F !important;
}

.big-col {
    margin-right: 310px !important;
}

#col {
   width : 250px;
}

#whatIs {
   overflow : auto;
}

DIV.left-column {
  float: left;
  width: 48%;
}

DIV.right-column {
  float: right;
  width: 48%;
}

.blogSurtitle {
    background: none repeat scroll 0 0 #569D2F;
    border: 2px solid #DDDDDD;
    color: #FFFFFF;
    margin: 1px 1px 10px;
    padding: 3px;
}
a.blogDate {
    color: #FFFFFF;
}

a.blogHeading {
    color: #569D2F;
    font-size: 14px;
}

.downloadBox{
   vertical-align : top;
}

#download p {
   font-size : 11px;

}
#download .box{
   vertical-align : top;
   display: inline-block; 
   width : 187px;
   height : 160px;
   padding : 15px;
   background : url("indexv2.data/cadre.png") no-repeat scroll left top transparent;
}

#download  a:link, #download a:visited, #download a:active, #download a:hover, #download a.add {
   font-size : 11px;
}

#col p {
    text-align : justify;
    font-size : 11px;
    line-height : 1.2 !important
}

#footer {
    margin-top: 150px;
}

</style>

{html}

{include:Banner}
{include:Key Features}

{div:id=bar}
*We think you will love Tapestry\!* Give us 20 minutes and *[follow our quickstart guide|Getting Started]*.
{div}

{div:id=col}

h3. [Latest news !Feed-icon.gif!|https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=TAPESTRY&title=Apache+Tapestry+News+RSS+Feed&labelString%3D&sort=created&maxResults=10&timeSpan=12&confirm=Create&showContent=true&showDiff=false]

{blog-posts:max=3|sort=creation|reverse=true|content=excerpts}


{widget:url=http://search.twitter.com/search?q=tapestry5}

{div}

{div:id=content|class=big-col}
{html}
<style>

.infoWrapper {
    height: 210px;
    margin-bottom: 30px;
    position: relative;
    width: 100%;
}

#downloadBox {
    background: url("indexv2.data/cadre.png") repeat scroll left top transparent;
    font-size: 8pt;
    height: 207px;
    overflow: hidden;
    position: relative;
    width: 585px;
}
.downloadPluginWrapper {
    height: 207px;
    position: relative;
    width: 585px;
}
#download {
    color: #6B6B6B;
    left: 0;
    margin: 5px 0 0 11px;
    position: absolute;
    top: 0;
    width: 200px;
}

.downloadPluginWrapper div {
    height: 114px;
    padding: 0 0 0 10px;
}

#download p {
    margin-left: 20px;
}
#download h4, #plugins h4, #demos h4 {
    margin-left: 20px;
    position: absolute;
    text-transform: uppercase;
    top: 160px;
}

#download h4 a, #demos h4 a, #plugins h4 a {
    color: #48802C;
    text-decoration: none;
}

#plugins {
    color: #6B6B6B;
    left: 180px;
    margin: 5px 0 0 11px;
    position: absolute;
    top: 0;
    width: 200px;
}

#demos {
    color: #6B6B6B;
    left: 360px;
    margin: 5px 0 0 11px;
    position: absolute;
    top: 0;
    width: 200px;
}
</style>
<div id="infoWrapper">
  <div id="downloadBox">
    <div class="downloadPluginWrapper">
        <div id="download">
          <h3>test</h3>
          <p>Download</p>
          <h4><a href="/Download">More Downloads</a></h4>
        </div>
        <!-- download -->
        <div id="plugins">
          <h3>test</h3>
          <p>plugins</p>
          <h4><a href="/plugins">More plugins</a></h4>
        </div>
        <div id="demos">
          <h3>test</h3>
          <p>plugins</p>
          <h4><a href="/demos">More demos</a></h4>
        </div>
        <!-- plugins -->
    </div><!-- downloadPluginWrapper -->
  </div>
</div>
{html}

{div2}

h2. What is Tapestry ?

{html}
<style>

#whatIs ul {
    list-style: none outside none;
    margin: 0;
    padding: 0 10px 10px;
}
#whatIs li {
    float: left;
    margin: 0 10px;
    width: 300px;
}

#whatIs li h3 {
    color: #569D2F;
    font-size: 16px;
    margin-left: 15px;
    margin-top: 0;
}
</style>
<div id="whatIs">
   <ul type="square" class="alternate">
      <li>
           <h3> {html} h3. !Chat.png!{html} Pure Java and Polyglot {html}
           <p>Written in pure Java: code your pages and components in Java, Groovy or Scala.</p>
      </li>
      <li>
           <h3> {html} h3. !injection.png!{html} Convention Over Configuration {html}Configuration</h3>
           <p>Say goodbye to endless XML configuration files: dependency injection and meta-programming through annotations.</p>
      </li>
   </ul>
<div class="clearer"></div>
</div>

{html}






{div3:class=features}
{div4:class=left-column}

h3. !Chat.png! Pure Java and Polyglot

Written in pure Java: code your pages and components in Java, Groovy or Scala.
{div4}
{div4:class=right-column}

h3. !injection.png! Convention Over Configuration

Say goodbye to endless XML configuration files: dependency injection and meta-programming through annotations.
{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !Refresh.png! Highly Productive

Live class reloading means that the time between seeing an error and providing the fix is seconds, not minutes.
{div4}
{div4:class=right-column}

h3. !accepted.png! Testable

Committed to testability throughout design; built-in utilities to enhance TDD. Support for [Selenium|http://seleniumhq.org/] for integration testing. [See Tapestry's code coverage report|http://tapestry.apache.org/current/tapestry-core/cobertura/index.html]

{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !fast.png! Fast

Pure Java; no reflection, not even for property expressions. Built to cleanly support large numbers of concurrent threads without contention. Automatic GZip content compression, JavaScript aggregation, and client-side caching.

{div4}
{div4:class=right-column}

h3. !bug.png! Advanced Exception Reporting

Gives you all the tools you need to fix your problem: not just a  stack trace, but every bit of information you need to know about what Tapestry was doing, why it was doing it, what went wrong, and how to fix it.

{div4}
{div3}

{div3:class=features}
{div4:class=left-column}

h3. !Web.png! Scalable

Scales up big on a single server, and works great in a cluster. Keeps session state minimal by design.

{div4}
{div4:class=right-column}

h3. !plugin.png! Adaptable And Modular

Architecture is open and extensible. There's a clean way to add your own extensions, or override built-in logic. Provides  integration   with [Hibernate|http://hibernate.org/] and [Spring|http://www.springsource.org/]. Third-party integrations with other tools, such as [Quartz|http://www.quartz-scheduler.org/] and [Lucene|http://lucene.apache.org/java/docs/index.html].

{div4}
{div3}

{div}

[!twitterTapestry.png!|http://twitter.com/apachetapestry]

More on [Tapestry philosophy|TAPESTRY:Principles] - Who uses [Tapestry |TAPESTRY:Applications]?

{div2}
{div}

{HTMLcomment}Trigger page export{HTMLcomment}