THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Include Page | ||||
---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
Div | ||
---|---|---|
| ||
We think you will love Tapestry! Give us 20 minutes and follow our quickstart guide. |
Div | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||
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;
}
.tapProperty div {
width : 32px;
height : 32px;
float : left;
margin-right : 5px;
}
#polyglot {
background : url("indexv2.data/Chat.png") no-repeat scroll left top transparent;
}
#injection {
background : url("indexv2.data/injection.png") no-repeat scroll left top transparent;
}
#productive {
background : url("indexv2.data/Refresh.png") no-repeat scroll left top transparent;
}
#testable {
background : url("indexv2.data/accepted.png") no-repeat scroll left top transparent;
}
#fast {
background : url("indexv2.data/fast.png") no-repeat scroll left top transparent;
}
#reporting {
background : url("indexv2.data/bug.png") no-repeat scroll left top transparent;
}
#scalable {
background : url("indexv2.data/Web.png") no-repeat scroll left top transparent;
}
#modular {
background : url("indexv2.data/plugin.png") no-repeat scroll left top transparent;
}
</style>
<div id="whatIs">
<ul type="square" class="alternate">
<li>
<div id="polyglot" class="tapProperty"></div> <h3>Pure Java and Polyglot </h3>
<p>Written in pure Java: code your pages and components in Java, Groovy or Scala.</p>
</li>
<li>
<div id="injection" class="tapProperty"></div> <h3>Convention Over Configuration</h3>
<p>Say goodbye to endless XML configuration files: dependency injection and meta-programming through annotations.</p>
</li>
</ul>
<ul type="square" class="alternate">
<li>
<div id="productive" class="tapProperty"></div> <h3>Highly Productive</h3>
<p>Live class reloading means that the time between seeing an error and providing the fix is seconds, not minutes.</p>
</li>
<li>
<div id="testable" class="tapProperty"></div> <h3>Testable</h3>
<p>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]</p>
</li>
</ul>
<ul type="square" class="alternate">
<li>
<div id="fast" class="tapProperty"></div> <h3>Fast</h3>
<p>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.</p>
</li>
<li>
<div id="reporting" class="tapProperty"></div> <h3>Advanced Exception Reporting</h3>
<p>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.</p>
</li>
</ul>
<ul type="square" class="alternate">
<li>
<div id="scalable" class="tapProperty"></div> <h3>Scalable</h3>
<p>Scales up big on a single server, and works great in a cluster. Keeps session state minimal by design.</p>
</li>
<li>
<div id="modular" class="tapProperty"></div> <h3>Adaptable And Modular</h3>
<p>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].</p>
</li>
</ul>
<div class="clearer"></div>
</div>
{html}
{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}
|