Browse files

Added new layout. Html5, more responsive and prettier.

  • Loading branch information...
1 parent c10504c commit 80b8d691c70be24b59ba143ace774061e8f427d9 @marcj marcj committed Oct 14, 2013
View
42 _includes/footer.html
@@ -1,21 +1,21 @@
- <div class="bottom">
- <p>
- <ul>
- <li class="element first">
- <a class="link" href="/documentation/">Documentation</a>&nbsp;|&nbsp;
- </li>
- <li class="element">
- <a class="link" href="/support.html">Support</a>&nbsp;|&nbsp;
- </li>
- <li class="element">
- <a class="link" href="/download.html">Download</a>&nbsp;|&nbsp;
- </li>
- <li class="element">
- <a class="link" href="/contribute.html">Contribute</a>&nbsp;|&nbsp;
- </li>
- <li class="last element">
- <a class="link" href="http://propel.posterous.com/">Blog</a>
- </li>
- </ul>
- </p>
- </div>
+ <script type="text/javascript" src="/js/ga.js" charset="utf-8"></script>
+ <footer>
+ <ul>
+ <li class="element first">
+ <a class="link" href="/documentation/">Documentation</a>
+ </li>
+ <li class="element">
+ <a class="link" href="/support.html">Support</a>
+ </li>
+ <li class="element">
+ <a class="link" href="/download.html">Download</a>
+ </li>
+ <li class="element">
+ <a class="link" href="/contribute.html">Contribute</a>
+ </li>
+ <li class="last element">
+ <a class="link" href="/blog/">Blog</a>
+ </li>
+ </ul>
+ </footer>
+</div> <!-- wrapper -->
View
13 _includes/head.html
@@ -0,0 +1,13 @@
+<meta name="language" content="en" >
+<meta http-equiv="content-type" content="text/html; charset=utf-8" >
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" >
+<meta content='width=device-width' name='viewport'>
+
+<!-- Stylesheets -->
+<link href='http://fonts.googleapis.com/css?family=Karla:400,700' rel='stylesheet' type='text/css'>
+<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css" >
+<link rel="stylesheet" type="text/css" href="/css/layout.css" >
+<link rel="stylesheet" type="text/css" href="/css/markdown.css" >
+<link rel="stylesheet" type="text/css" href="/css/base_syntax.css" >
+<link rel="stylesheet" type="text/css" href="/css/syntax.css" >
+<link rel="stylesheet" type="text/css" href="/css/responsive.css" >
View
30 _includes/header.html
@@ -1,12 +1,20 @@
-<meta name="language" content="en" />
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
-<!-- Stylesheets -->
-<link rel="stylesheet" type="text/css" media="all" href="http://yui.yahooapis.com/2.8.0r4/build/reset/reset-min.css" />
-<link rel="stylesheet" type="text/css" media="all" href="/css/layout.css" />
-<link rel="stylesheet" type="text/css" media="all" href="/css/markdown.css" />
-<link rel="stylesheet" type="text/css" media="all" href="/css/base_syntax.css" />
-<link rel="stylesheet" type="text/css" media="all" href="/css/syntax.css" />
-<link rel="stylesheet" type="text/css" media="only screen and (max-device-width: 480px)" href="/css/mobile.css" />
+<div class="ribbon">
+ <a href="https://github.com/propelorm/Propel2" rel="me">Fork me on GitHub</a>
+</div>
-<link rel="stylesheet" type="text/css" media="all" href="/css/banner.css" />
+<header>
+ <div>
+ <a href="/" class="logo"><img src="/images/propel-logo.png"/></a>
+ <nav>
+ {% include navbar.html %}
+ </nav>
+ <div class="search">
+ <form action="/search.html">
+ <input name="q" placeholder="Search..." type="text" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+ </div>
+</header>
+
+<div class="wrapper">
View
39 _includes/home.html
@@ -0,0 +1,39 @@
+<div class="home-what">
+ <img src="/images/home-what.png" />
+{{ what | markdownify }}
+</div>
+
+<div class="home-why">
+ <img src="/images/home-why.png" />
+{{ why | markdownify }}
+</div>
+
+<div class="home-how">
+ <h3>How does it work?!</h3>
+ <div class="home-how-schema">
+ {{ howSchema | markdownify }}
+ <div class="home-how-reverse">
+ <img src="/images/curved-arrow-right-top.png" />
+ If you have already a database with tables, you can use <a href="/cookbook/working-with-existing-databases.html">reverse engineering</a> to generate the XML automatically.
+ </div>
+ </div>
+
+ <div class="home-how-more">
+ <h4>Migration</h4>
+ <p>
+ {{ howMigrate | markdownify }}
+ </p>
+ <h4>Retrieving Data</h4>
+ <p>
+ {{ howRetrieve | markdownify }}
+ </p>
+ <h4>Manipulate Data</h4>
+ <p>
+ {{ howManipulate | markdownify }}
+ </p>
+ </div>
+</div>
+
+<div class="home-content">
+{{ content | markdownify }}
+</div>
View
63 _layouts/base.html
@@ -1,44 +1,21 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
- <head>
- <title>{{ page.title }} - Propel</title>
- {% include header.html %}
- <!-- JavaScripts -->
- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
- </head>
- <body>
- <div id="fond">
- <div class="banner">
- <p>
- Heya! The Propel 1.x documentation has moved: <a href="http://propelorm.org/Propel/">http://propelorm.org/Propel/</a>. Please update your links!
- </p>
- </div>
- <div class="layout">
- <ul class="rootnav">
- <li class="element">
- <a class="link" href="/">Propel</a>
- </li>
- </ul>
- <div class="search">
- <form action="/search.html">
- <input name="q" placeholder="Search..." type="text" />
- <input type="submit" value="Go" />
- </form>
- </div>
- {% include navbar.html %}
- <div class="ribbon">
- <a href="https://github.com/propelorm/Propel2" rel="me">Fork me on GitHub</a>
- </div>
- <div class="content">
- {{ content }}
- <p class="fork_and_edit">
- Found a typo ? Something is wrong in this documentation ? Just <a href="http://github.com/propelorm/propelorm.github.com/edit/master{{ page.url|replace:'.html','' }}.markdown">fork and edit</a> it !
- </p>
- </div>
- </div>
- {% include footer.html %}
- </div>
- <script type="text/javascript" src="/js/jquery.tableofcontents.min.js" charset="utf-8"></script>
- <script type="text/javascript" src="/js/ga.js" charset="utf-8"></script>
- </body>
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Propel - The Blazing Fast Open-Source PHP 5.4 ORM</title>
+ {% include head.html %}
+ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
+</head>
+<body class="home">
+{% include header.html %}
+<section class="content">
+ {{ content }}
+ <p class="fork_and_edit">
+ Found a typo ? Something is wrong in this documentation ? Just <a
+ href="http://github.com/propelorm/propelorm.github.com/edit/master{{ page.url|replace:'.html','' }}.markdown">fork
+ and edit</a> it !
+ </p>
+</section>
+{% include footer.html %}
+<script type="text/javascript" src="/js/jquery.tableofcontents.min.js" charset="utf-8"></script>
+</body>
</html>
View
29 _layouts/blog.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Propel - The Blazing Fast Open-Source PHP 5.4 ORM</title>
+ {% include head.html %}
+</head>
+<body class="home">
+{% include header.html %}
+<section class="content blog">
+ {% if page.title %}
+ <h1><a href="/blog/">Blog</a> > {{ page.title }}</h1>
+ {% else %}
+ <h1>Blog</h1>
+ {% endif %}
+
+ <div class="markdown">
+ {{ content }}
+ </div>
+
+ <p class="fork_and_edit">
+ Found a typo ? Something is wrong in this documentation ? Just <a
+ href="http://github.com/propelorm/propelorm.github.com/edit/master/_posts/{{ page.url | replace: '/blog/', '' | replace: '/', '-' | replace:'.html','' }}.markdown">fork
+ and edit</a> it !
+ </p>
+</section>
+{% include footer.html %}
+</body>
+</html>
+
View
54 _layouts/home.html
@@ -1,39 +1,17 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
- <head>
- <title>Propel - The Fast PHP5 ORM</title>
- {% include header.html %}
- </head>
- <body class="home">
- <div id="fond">
- <div class="banner">
- <p>
- Heya! The Propel 1.x documentation has moved: <a href="http://propelorm.org/Propel/">http://propelorm.org/Propel/</a>. Please update your links!
- </p>
- </div>
- <div class="layout">
- {% include navbar.html %}
- <div id="banner">
- <div id="text">
- <h2 class="title">
- <a href="/">Propel</a>
- </h2>
- <p class="title">
- Smart, easy object persistence.
- </p>
- </div>
- </div>
- <div class="ribbon">
- <a href="https://github.com/propelorm/Propel2" rel="me">Fork me on GitHub</a>
- </div>
- <div class="content">
- <div class="markdown">
- {{ content }}
- </div>
- </div>
- </div>
- {% include footer.html %}
- </div>
- <script type="text/javascript" src="/js/ga.js" charset="utf-8"></script>
- </body>
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Propel - The Blazing Fast Open-Source PHP 5.4 ORM</title>
+ {% include head.html %}
+ <link rel="stylesheet" type="text/css" media="all" href="/css/home.css" >
+</head>
+<body class="home">
+{% include header.html %}
+<section class="content">
+ <div class="markdown">
+ {{ content }}
+ </div>
+</section>
+{% include footer.html %}
+</body>
</html>
View
6 blog/index.html
@@ -3,6 +3,7 @@
---
{% for post in site.posts limit: 5 %}
+<article class="blog-tease">
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
<p class="author">
{% if post.author %}
@@ -16,9 +17,11 @@
{{ post.content | split: '<!-- more -->' | first }}
<p class="read-more"><a href="{{ post.url }}">Read more&nbsp;&raquo;</a></p>
</p>
- {% endfor %}
+</article>
+{% endfor %}
{% for post in site.posts offset: 5 %}
+<article class="blog-tease">
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
<p class="author">
{% if post.author %}
@@ -28,4 +31,5 @@
{% endif %}
– <span class="date">{{ post.date | date_to_long_string }}</span>
</p>
+</article>
{% endfor %}
View
2 css/banner.css
@@ -1,5 +1,5 @@
.banner {
- position:absolute;
+ position: absolute;
top: 0px;
background-color: red;
color: white;
View
148 css/base_syntax.css
@@ -1,68 +1,80 @@
-.highlight .c { color: #008800; font-style: italic; } /* Comment */
-.highlight .err { color: #ffffff } /* Error */
-.highlight .g { color: #ffffff } /* Generic */
-.highlight .k { color: #fb660a; font-weight: bold } /* Keyword */
-.highlight .l { color: #ffffff } /* Literal */
-.highlight .n { color: #ffffff } /* Name */
-.highlight .o { color: #ffffff } /* Operator */
-.highlight .x { color: #ffffff } /* Other */
-.highlight .p { color: #ffffff } /* Punctuation */
-.highlight .cm { color: #008800; font-style: italic; } /* Comment.Multiline */
-.highlight .cp { color: #ff0007; font-weight: bold; font-style: italic; } /* Comment.Preproc */
-.highlight .c1 { color: #008800; font-style: italic; } /* Comment.Single */
-.highlight .cs { color: #008800; font-style: italic; } /* Comment.Special */
-.highlight .gd { color: #ffffff } /* Generic.Deleted */
-.highlight .ge { color: #ffffff } /* Generic.Emph */
-.highlight .gr { color: #ffffff } /* Generic.Error */
-.highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #ffffff } /* Generic.Inserted */
-.highlight .go { color: #444444; background-color: #222222 } /* Generic.Output */
-.highlight .gp { color: #ffffff } /* Generic.Prompt */
-.highlight .gs { color: #ffffff } /* Generic.Strong */
-.highlight .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #ffffff } /* Generic.Traceback */
-.highlight .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #fb660a; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #fb660a } /* Keyword.Pseudo */
-.highlight .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #cdcaa9; font-weight: bold } /* Keyword.Type */
-.highlight .ld { color: #ffffff } /* Literal.Date */
-.highlight .m { color: #0086f7; font-weight: bold } /* Literal.Number */
-.highlight .s { color: #0086d2 } /* Literal.String */
-.highlight .na { color: #ff0086; font-weight: bold } /* Name.Attribute */
-.highlight .nb { color: #ffffff } /* Name.Builtin */
-.highlight .nc { color: #ffffff } /* Name.Class */
-.highlight .no { color: #0086d2 } /* Name.Constant */
-.highlight .nd { color: #ffffff } /* Name.Decorator */
-.highlight .ni { color: #ffffff } /* Name.Entity */
-.highlight .ne { color: #ffffff } /* Name.Exception */
-.highlight .nf { color: #ff0086; font-weight: bold } /* Name.Function */
-.highlight .nl { color: #ffffff } /* Name.Label */
-.highlight .nn { color: #ffffff } /* Name.Namespace */
-.highlight .nx { color: #ffffff } /* Name.Other */
-.highlight .py { color: #ffffff } /* Name.Property */
-.highlight .nt { color: #fb660a; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #fb660a } /* Name.Variable */
-.highlight .ow { color: #ffffff } /* Operator.Word */
-.highlight .w { color: #888888 } /* Text.Whitespace */
-.highlight .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */
-.highlight .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */
-.highlight .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */
-.highlight .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */
-.highlight .sb { color: #0086d2 } /* Literal.String.Backtick */
-.highlight .sc { color: #0086d2 } /* Literal.String.Char */
-.highlight .sd { color: #0086d2 } /* Literal.String.Doc */
-.highlight .s2 { color: #0086d2 } /* Literal.String.Double */
-.highlight .se { color: #0086d2 } /* Literal.String.Escape */
-.highlight .sh { color: #0086d2 } /* Literal.String.Heredoc */
-.highlight .si { color: #0086d2 } /* Literal.String.Interpol */
-.highlight .sx { color: #0086d2 } /* Literal.String.Other */
-.highlight .sr { color: #0086d2 } /* Literal.String.Regex */
-.highlight .s1 { color: #0086d2 } /* Literal.String.Single */
-.highlight .ss { color: #0086d2 } /* Literal.String.Symbol */
-.highlight .bp { color: #ffffff } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #fb660a } /* Name.Variable.Class */
-.highlight .vg { color: #fb660a } /* Name.Variable.Global */
-.highlight .vi { color: #fb660a } /* Name.Variable.Instance */
-.highlight .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */
+.highlight {
+ background-color: #efefef;
+ padding: 7px 7px 7px 10px;
+ border: 1px solid #ddd;
+ -moz-box-shadow: 3px 3px rgba(0,0,0,0.1);
+ -webkit-box-shadow: 3px 3px rgba(0,0,0,0.1);
+ box-shadow: 3px 3px rgba(0,0,0,0.1);
+ margin: 20px 0 20px 0;
+ overflow: hidden;
+}
+
+
+.highlight .c { color: #586E75 } /* Comment */
+.highlight .err { color: #93A1A1 } /* Error */
+.highlight .g { color: #93A1A1 } /* Generic */
+.highlight .k { color: #859900 } /* Keyword */
+.highlight .l { color: #93A1A1 } /* Literal */
+.highlight .n { color: #93A1A1 } /* Name */
+.highlight .o { color: #859900 } /* Operator */
+.highlight .x { color: #CB4B16 } /* Other */
+.highlight .p { color: #93A1A1 } /* Punctuation */
+.highlight .cm { color: #586E75 } /* Comment.Multiline */
+.highlight .cp { color: #b6b6b6 } /* Comment.Preproc */
+.highlight .c1 { color: #a8a8a8 } /* Comment.Single */
+.highlight .cs { color: #859900 } /* Comment.Special */
+.highlight .gd { color: #2AA198 } /* Generic.Deleted */
+.highlight .ge { color: #93A1A1; font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #DC322F } /* Generic.Error */
+.highlight .gh { color: #CB4B16 } /* Generic.Heading */
+.highlight .gi { color: #859900 } /* Generic.Inserted */
+.highlight .go { color: #93A1A1 } /* Generic.Output */
+.highlight .gp { color: #93A1A1 } /* Generic.Prompt */
+.highlight .gs { color: #93A1A1; font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #CB4B16 } /* Generic.Subheading */
+.highlight .gt { color: #93A1A1 } /* Generic.Traceback */
+.highlight .kc { color: #CB4B16 } /* Keyword.Constant */
+.highlight .kd { color: #268BD2 } /* Keyword.Declaration */
+.highlight .kn { color: #859900 } /* Keyword.Namespace */
+.highlight .kp { color: #859900 } /* Keyword.Pseudo */
+.highlight .kr { color: #268BD2 } /* Keyword.Reserved */
+.highlight .kt { color: #DC322F } /* Keyword.Type */
+.highlight .ld { color: #93A1A1 } /* Literal.Date */
+.highlight .m { color: #2AA198 } /* Literal.Number */
+.highlight .s { color: #6e9916 } /* Literal.String */
+.highlight .na { color: #0391c3 } /* Name.Attribute */
+.highlight .nb { color: #B58900 } /* Name.Builtin */
+.highlight .nc { color: #268BD2 } /* Name.Class */
+.highlight .no { color: #CB4B16 } /* Name.Constant */
+.highlight .nd { color: #268BD2 } /* Name.Decorator */
+.highlight .ni { color: #CB4B16 } /* Name.Entity */
+.highlight .ne { color: #CB4B16 } /* Name.Exception */
+.highlight .nf { color: #268BD2 } /* Name.Function */
+.highlight .nl { color: #93A1A1 } /* Name.Label */
+.highlight .nn { color: #93A1A1 } /* Name.Namespace */
+.highlight .nx { color: #555 } /* Name.Other */
+.highlight .py { color: #93A1A1 } /* Name.Property */
+.highlight .nt { color: #0a5eb6 } /* Name.Tag */
+.highlight .nv { color: #268BD2 } /* Name.Variable */
+.highlight .ow { color: #859900 } /* Operator.Word */
+.highlight .w { color: #93A1A1 } /* Text.Whitespace */
+.highlight .mf { color: #2AA198 } /* Literal.Number.Float */
+.highlight .mh { color: #2AA198 } /* Literal.Number.Hex */
+.highlight .mi { color: #2AA198 } /* Literal.Number.Integer */
+.highlight .mo { color: #2AA198 } /* Literal.Number.Oct */
+.highlight .sb { color: #586E75 } /* Literal.String.Backtick */
+.highlight .sc { color: #2AA198 } /* Literal.String.Char */
+.highlight .sd { color: #93A1A1 } /* Literal.String.Doc */
+.highlight .s2 { color: #2AA198 } /* Literal.String.Double */
+.highlight .se { color: #CB4B16 } /* Literal.String.Escape */
+.highlight .sh { color: #93A1A1 } /* Literal.String.Heredoc */
+.highlight .si { color: #2AA198 } /* Literal.String.Interpol */
+.highlight .sx { color: #2AA198 } /* Literal.String.Other */
+.highlight .sr { color: #DC322F } /* Literal.String.Regex */
+.highlight .s1 { color: #2AA198 } /* Literal.String.Single */
+.highlight .ss { color: #2AA198 } /* Literal.String.Symbol */
+.highlight .bp { color: #268BD2 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #268BD2 } /* Name.Variable.Class */
+.highlight .vg { color: #268BD2 } /* Name.Variable.Global */
+.highlight .vi { color: #268BD2 } /* Name.Variable.Instance */
+.highlight .il { color: #2AA198 } /* Literal.Number.Integer.Long */
View
82 css/home.css
@@ -0,0 +1,82 @@
+.home h3 {
+ border-bottom: 1px solid #e7e7e7;
+ text-align: center;
+ color: #444;
+ font-size: 24px;
+ padding-bottom: 5px;
+}
+
+.home-why,
+.home-what {
+ min-height: 380px;
+ margin-bottom: 20px;
+}
+
+.home-what {
+ float: left;
+ width: 45%;
+ padding-right: 45px;
+ border-right: 1px dotted #e7e7e7;
+}
+
+.home-why {
+ float: right;
+ width: 45%;
+}
+
+.home-how {
+ clear: both;
+}
+
+.home-how-schema {
+ position: relative;
+}
+
+.home-how-reverse {
+ padding-left: 20px;
+ font-size: 13px;
+ text-align: right;
+ position: absolute;
+ bottom: -25px;
+ right: 0;
+ z-index: 50;
+}
+
+.home-how-reverse img {
+ display: inline-block;
+ vertical-align: bottom;
+}
+
+.home-how-more {
+ margin-left: 15px;
+ border-left: 1px dotted #ddd;
+ padding-top: 40px;
+ position: relative;
+ top: -25px;
+ padding-bottom: 10px;
+}
+
+.home-how-more h4 {
+ border-bottom: 1px dotted #ddd;
+ padding-left: 20px;
+ color: #444;
+ font-weight: bold;
+ font-size: 20px;
+ line-height: 30px;
+ display: inline-block;
+ font-style: normal;
+ padding-right: 50px;
+}
+
+.home-how-more p,
+.home-how-more .highlight {
+ margin-left: 20px;
+}
+
+.home-how-more img {
+ border: 1px solid #ccc;
+ display: inline-block;
+ float: right;
+ margin-left: 25px;
+ position: relative;
+}
View
442 css/layout.css
@@ -1,15 +1,76 @@
+body {
+ background-color: #f4f4f4;
+ margin: 0;
+ padding: 0;
+ color: #636466;
+ font-size: 14px;
+ font-family: 'Karla', sans-serif;
+}
+
a {
- color:#000;
- text-decoration:none;
+ color: #333;
+ text-decoration: none;
}
a:hover, a:focus {
- color:#edbc1c;
+ color: #edbc1c;
+}
+
+a.logo {
+ display: inline-block;
+ line-height: 0;
+ padding: 8px 0;
+ float: left;
+}
+
+.wrapper,
+header > div {
+ margin: auto;
+ width: 980px;
+ position: relative;
+}
+
+.search {
+ position: absolute;
+ right: 0px;
+ top: 92px;
+}
+
+.search input {
+ border: 1px solid silver;
+ height: 25px;
+ line-height: normal !important;
+ padding: 0 5px;
+ background-color: #eee;
+
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.search input[name=q] {
+ background-color: white;
+}
+
+header {
+ height: 84px;
+ background-color: white;
+ border-bottom: 1px solid #e7e7e7;
+}
+
+header nav {
+ float: right;
+ height: 84px;
+}
+
+header nav li,
+header nav li a {
+ line-height: 84px;
+ color: #636466;
}
.topmenu a {
- padding: 12px;
- padding-bottom: 11px;
+ padding: 33px 12px;
}
.rootnav a:hover {
@@ -21,297 +82,329 @@ a:hover, a:focus {
color: #fff;
}
+section.content {
+ margin-top: 40px;
+ background-color: white;
+ padding: 40px 60px;
+}
+
+footer {
+ height: 55px;
+ background-color: #EDBC1C;
+ padding: 15px 0;
+
+}
+
p, li {
- font-size: 16px;
- line-height:21px;
- word-spacing: 0px;
- text-align: justify;
- margin-bottom: 10px;
+ font-size: 16px;
+ line-height: 20px;
+ word-spacing: 0px;
+ text-align: justify;
+ margin-bottom: 10px;
}
-li {
- list-style-type: disc outside none;
- margin-bottom: 5px;
+code {
+ border: 1px solid #e3e3e3;
+ padding: 0 2px;
+ background-color: #f9f9f9;
+ font-weight: normal;
+ font-size: 14px;
+ border-radius: 3px;
}
-body {
- margin:0;
- padding:0;
- color:#000;
- font-family: Georgia,"Times New Roman",serif;
+.highlight code {
+ background-color: transparent;
+ padding: 0;
+ border: 0;
}
-body.home {
- background:#fff url(../images/background.png) top repeat-x;
+li {
+ list-style: disc outside none;
+ margin-bottom: 5px;
}
.on_top {
- float:right;
- padding:0px;
- color:#000;
- margin:0px auto;
- text-align:right;
- font-weight: bold;
- width:400px;
+ float: right;
+ padding: 0px;
+ color: #000;
+ margin: 0px auto;
+ text-align: right;
+ font-weight: bold;
+ width: 400px;
}
.on_top p {
- margin:0;
- padding:0;
- margin-top:10px;
+ margin: 0;
+ padding: 0;
+ margin-top: 10px;
}
-
.layout {
- padding:0;
- width: 960px;
- margin: 0 auto;
+ padding: 0;
+ width: 960px;
+ margin: 0 auto;
}
#sky {
- top:0;
- padding:0;
- height:195px;
- margin:0 auto;
- text-align:right;
+ top: 0;
+ padding: 0;
+ height: 195px;
+ margin: 0 auto;
+ text-align: right;
}
#text {
- position:absolute;
- margin-top:80px;
- width:960px;
- margin-left: 50px;
+ position: absolute;
+ margin-top: 80px;
+ width: 960px;
+ margin-left: 50px;
}
h1.hidden {
- display:none;
+ display: none;
}
h2.title {
- color: #FFFFFF;
- font-family: Tahoma;
- font-size: 6em;
- font-weight: bold;
- letter-spacing: -3px;
+ color: #FFFFFF;
+ font-family: Tahoma;
+ font-size: 6em;
+ font-weight: bold;
+ letter-spacing: -3px;
}
p.title {
- font-size: 3em;
- font-style: italic;
+ font-size: 3em;
+ font-style: italic;
}
h2.title a,
h2.title a:hover {
- color: #fff;
- text-decoration:none;
+ color: #fff;
+ text-decoration: none;
}
h2.title a:focus {
- text-decoration:underline;
-}
-
-.content {
- clear:both;
- width: 100%;
- margin: 30px 0;
- padding-top: 10px;
+ text-decoration: underline;
}
-.home .content {
- padding-top: 260px;
+article.blog-tease {
+ border-bottom: 1px solid #e8e8e8;
}
.navigation_bread_crumb {
- margin:0px;
- margin-bottom:10px;
+ margin: 0px;
+ margin-bottom: 10px;
}
.navigation_bread_crumb ol {
- list-style-type: none;
+ list-style-type: none;
}
.navigation_bread_crumb li {
- display:inline;
- font-size:11px;
- margin-right:5px;
+ display: inline;
+ font-size: 11px;
+ margin-right: 5px;
}
.navigation_bread_crumb li a {
- color:#000;
+ color: #000;
}
.navigation_bread_crumb li a:hover,
.navigation_bread_crumb li a:focus {
- color:#edbc1c;
+ color: #edbc1c;
}
/* BOTTOM */
.bottom {
- background-color:#edbc1c;
- font-size:12px;
- text-align:center;
- margin-top:10px;
- padding:10px;
+ background-color: #edbc1c;
+ font-size: 12px;
+ text-align: center;
+ margin-top: 10px;
+ padding: 10px;
}
.bottom p {
- margin:3px;
- text-align: center;
- line-height: 1em;
- font-size:12px;
+ margin: 3px;
+ text-align: center;
+ line-height: 1em;
+ font-size: 12px;
}
.bottom a {
- color:#000;
+ color: #000;
}
.bottom a:focus,
.bottom a:hover {
- color:#fff;
+ color: #fff;
}
-.bottom li{
- display:inline-block;
+.bottom li {
+ display: inline-block;
}
h1 {
- color:#000;
- font-size:2.7em;
- font-weight: bold;
- margin-top:20px;
- margin-bottom:20px;
- letter-spacing:-2px;
+ color: #000;
+ font-size: 2.7em;
+ font-weight: bold;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ letter-spacing: -2px;
}
h1.no_margin_bottom {
- margin-bottom:20px;
+ margin-bottom: 20px;
+}
+
+.blog h1 {
+ font-size: 2.4em;
}
#scrollToTop a {
- position: fixed;
- right: 20px;
- bottom: 10px;
- background-color: rgb(255,255,255); /** rgba fallback**/
- background-color: rgba(255,255,255, 0.7);
- padding: 7px 10px;
+ position: fixed;
+ right: 20px;
+ bottom: 10px;
+ background-color: rgb(255, 255, 255); /** rgba fallback**/
+ background-color: rgba(255, 255, 255, 0.7);
+ padding: 7px 10px;
}
#scrollToTop a:hover {
- text-decoration: none !important;
+ text-decoration: none !important;
}
-.topmenu {
- float:right;
- margin-top:10px;
+.topmenu ul li {
+ list-style-type: none;
}
-.topmenu ul li {
- list-style-type:none;
+header li.element,
+footer li.element {
+ display: inline;
}
-.topmenu li.element {
- display:inline;
+footer li.element {
+ padding-right: 4px;
+ margin-right: 7px;
+ border-right: 1px solid #333;
+}
+
+footer li.element.last {
+ border-right: 0;
+}
+
+footer > ul {
+ text-align: center;
+}
+
+footer a.active,
+footer a:hover {
+ color: gray;
}
.rootnav {
- float:left;
- margin-top:0px;
+ float: left;
+ margin-top: 0px;
}
.rootnav li {
- padding: 12px;
- background-color: #edbc1c;
- color: #fff;
- -webkit-border-bottom-right-radius: 5px;
- -webkit-border-bottom-left-radius: 5px;
- -moz-border-bottom-right-radius: 5px;
- -moz-border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- border-bottom-left-radius: 5px;
+ padding: 12px;
+ background-color: #edbc1c;
+ color: #fff;
+ -webkit-border-bottom-right-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-bottom-right-radius: 5px;
+ -moz-border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+ border-bottom-left-radius: 5px;
}
.ribbon {
- background-color: #a00;
- overflow: hidden;
- /* top left corner */
- position: absolute;
- left: -3em;
- top: 2.5em;
- /* 45 deg ccw rotation */
- -moz-transform: rotate(-45deg);
- -webkit-transform: rotate(-45deg);
- /* shadow */
- -moz-box-shadow: 0 0 1em #888;
- -webkit-box-shadow: 0 0 1em #888;
+ background-color: #a00;
+ overflow: hidden;
+ /* top left corner */
+ position: absolute;
+ left: -3em;
+ top: 2.5em;
+ /* 45 deg ccw rotation */
+ -moz-transform: rotate(-45deg);
+ -webkit-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ -o-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ /* shadow */
+ -webkit-box-shadow: 0 0 1em #888;
+ box-shadow: 0 0 1em #888;
+ z-index: 100;
}
.ribbon a {
- border: 1px solid #faa;
- color: #fff;
- display: block;
- font: bold 81.25% 'Helvetiva Neue', Helvetica, Arial, sans-serif;
- margin: 0.05em 0 0.075em 0;
- padding: 0.5em 3.5em;
- text-align: center;
- text-decoration: none;
- /* shadow */
- text-shadow: 0 0 0.5em #444;
+ border: 1px solid #faa;
+ color: #fff;
+ display: block;
+ font: bold 81.25% 'Helvetiva Neue', Helvetica, Arial, sans-serif;
+ margin: 0.05em 0 0.075em 0;
+ padding: 0.5em 3.5em;
+ text-align: center;
+ text-decoration: none;
+ /* shadow */
+ text-shadow: 0 0 0.5em #444;
}
.navigation {
- padding-top:10px;
- padding-bottom:10px;
- text-align:center;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ text-align: center;
}
.left, .right {
- display:inline;
- margin: 10px;
+ display: inline;
+ margin: 10px;
}
.current {
- color: black;
- font-weight: bold;
+ color: black;
+ font-weight: bold;
}
.italic {
- font-style: italic;
+ font-style: italic;
}
.toc {
- float: right;
- width: 200px;
- text-align: left;
- background: #edbc1c;
- margin: 30px 0 10px 15px;
- padding: 10px 10px 10px 20px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
+ float: right;
+ width: 200px;
+ text-align: left;
+ background: #edbc1c;
+ margin: 30px 0 10px 15px;
+ padding: 10px 10px 10px 20px;
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
}
.toc li {
- font-size: 11px;
- text-align: left;
- list-style-type: none;
+ font-size: 14px;
+ text-align: left;
+ list-style-type: none;
}
.toc li ul li {
- margin-left: 10px;
+ margin-left: 10px;
}
.toc li ul li ul li {
- margin-left: 20px;
+ margin-left: 20px;
}
.toc a:hover {
- color: #fff;
+ color: #fff;
}
.fork_and_edit {
text-align: center;
font-style: italic;
- background: transparent url(../images/github.gif) no-repeat 0 0;
+ background: transparent url(../images/github.gif) no-repeat 0 0;
height: 30px;
margin: 60px auto 0;
padding-top: 5px;
@@ -321,3 +414,28 @@ h1.no_margin_bottom {
.fork_and_edit a {
text-decoration: underline;
}
+
+.gsc-search-box, .gsc-control {
+ width: 100% !important;
+ font-size: 14px !important;
+}
+
+.ecg th {
+ text-align: center;
+}
+
+a.anchor_link {
+ padding: 2px;
+ color: #EEE;
+ text-decoration: none;
+ font-size: 60%;
+}
+
+a.anchor_link:hover {
+ color: #666;
+}
+
+p.author {
+ color: #666;
+ font-size: 14px;
+}
View
111 css/markdown.css
@@ -1,119 +1,116 @@
.markdown h2 {
- padding-top:10px;
- font-size: 1.8em;
- font-weight:bold;
- margin:1.5em 0 0.8em 0;
- border-top:7px solid #edbc1c;
+ padding-top: 10px;
+ font-size: 1.8em;
+ font-weight: bold;
+ margin: 1.5em 0 0.8em 0;
+ border-top: 7px solid #edbc1c;
}
.markdown h2 .link {
- color:#000;
- text-decoration: none;
+ color: #000;
+ text-decoration: none;
}
.markdown h3 {
- color:#000;
- font-size: 1.6em;
- margin: 1em 0 0.5em 0;
+ color: #000;
+ font-size: 1.6em;
+ margin: 1em 0 0.5em 0;
}
.markdown h4 {
- color: #000;
- font-size:1.2em;
- font-style:italic;
- margin:1.5em 0 1em 0;
+ color: #000;
+ font-size: 1.2em;
+ font-style: italic;
+ margin: 1.5em 0 1em 0;
}
.markdown h5 {
- font-weight: bold;
+ font-weight: bold;
}
.markdown em {
- font-style: italic;
+ font-style: italic;
}
.markdown strong {
- font-weight: bold;
+ font-weight: bold;
}
.markdown ul {
- margin-bottom: 1em;
+ margin-bottom: 1em;
}
.markdown ul li {
- list-style: disc inside;
- margin-bottom: 10px;
+ list-style: disc inside;
+ margin-bottom: 10px;
}
.markdown ul li li {
- list-style: circle inside;
- margin-left: 1em;
+ list-style: circle inside;
+ margin-left: 1em;
}
.markdown ol li {
- list-style: decimal inside;
- margin-bottom: 1em;
+ list-style: decimal inside;
+ margin-bottom: 1em;
}
.markdown li p {
display: inline;
}
.markdown pre {
- font-family:"Bitstream Vera Sans Mono",monospace;
- background: #222;
- padding: 5px;
- color: #fff;
- margin-bottom: 1em;
- max-width:100%;
- overflow-y:auto;
+ font-family: "Bitstream Vera Sans Mono", monospace;
+ padding: 5px;
+ max-width: 100%;
+ overflow-y: auto;
}
.markdown blockquote {
- background: #F8F8FF;
- padding: 10px;
- padding-bottom:0px;
- margin: 1em 40px;
- border: 1px solid #ddddee;
- color: #222;
+ background: #F8F8FF;
+ padding: 10px;
+ padding-bottom: 0px;
+ margin: 1em 40px;
+ border: 1px solid #ddddee;
+ color: #222;
}
.markdown blockquote strong {
- margin: -10px -10px;
- display: block;
- padding: 10px 0 10px 50px;
- background: #ddddee url(../images/info.png) top left no-repeat;
- background-position: 5px 2px;
- letter-spacing: 1px;
+ margin: -10px -10px;
+ display: block;
+ padding: 10px 0 10px 50px;
+ background: #ddddee url(../images/info.png) top left no-repeat;
+ background-position: 5px 2px;
+ letter-spacing: 1px;
}
.markdown table {
- width:100%;
- font-size: 1em;
- margin-bottom: 20px;
+ width: 100%;
+ font-size: 1em;
+ margin-bottom: 20px;
}
.markdown tbody tr td {
- padding:4px 10px 4px 5px;
- border-bottom: 1px solid #ccc;
+ padding: 4px 10px 4px 5px;
+ border-bottom: 1px solid #ccc;
}
.markdown thead tr th {
- background: #eee;
- padding: 1em;
+ background: #eee;
+ padding: 1em;
}
.markdown img {
- margin:0.5em auto;
- max-width:100%;
- text-align:center;
- display: block;
+ margin: 0.5em auto;
+ max-width: 100%;
+ text-align: center;
+ display: block;
}
.markdown img.inline {
- vertical-align: middle;
- margin: 0 0.5em;
- border: none;
+ vertical-align: middle;
+ margin: 0 0.5em;
+ border: none;
}
.markdown a {
View
61 css/mobile.css
@@ -1,61 +0,0 @@
-body.home {
- background:#fff;
-}
-
-.home .content {
- padding-top: 10px;
-}
-
-#banner {
- display: none;
-}
-
-p, li {
- font-family: Helvetica, sans-serif;
- font-size: 17pt;
- line-height: 1.2em;
- word-spacing: auto;
- text-align: left;
- margin-bottom: 10px;
-}
-
-.ribbon {
- display: none;
-}
-
-.fork_and_edit {
- display: none;
-}
-
-.rootnav li {
- padding: 12px;
- background-color: #edbc1c;
- color: #fff;
- font-size: 17pt;
- line-height: 1.2em;
-}
-
-.toc {
- float: right;
- width: 40%;
-}
-
-
-.toc li {
- font-size: 20pt;
- list-style-type: none;
-}
-
-.markdown pre {
- font-size: 15pt;
-}
-
-.markdown a {
- text-decoration: none;
- background-color: #fed;
- padding: 7px;
-}
-
-.markdown h3 {
- font-weight: bold;
-}
View
98 css/responsive.css
@@ -0,0 +1,98 @@
+@media all and (max-width: 1000px) {
+ .wrapper, header > div {
+ width: auto;
+ }
+}
+
+@media all and (max-width: 660px) {
+ body .home-why,
+ body .home-what {
+ float: none;
+ width: auto;
+ border: 0;
+ padding: 0;
+ }
+}
+
+@media all and (max-width: 780px) {
+ header {
+ height: auto;
+ }
+
+ a.logo {
+ float: none;
+ }
+
+ header nav {
+ float: none;
+ height: auto;
+ }
+
+ .search {
+ position: relative;
+ top: 0;
+ margin: 15px;
+ }
+
+ .ribbon {
+ display: none;
+ }
+
+ .toc {
+ width: auto;
+ float: none;
+ margin: 5px;
+ padding: 10px;
+ }
+}
+
+@media all and (max-width: 520px) {
+ footer li.element, .topmenu li.element {
+ display: block;
+ }
+
+ .topmenu a {
+ padding: 2px 12px;
+ }
+
+ header nav li, header nav li a {
+ line-height: 25px;
+ }
+
+ body .home-how-more {
+ margin-left: 5px;
+ }
+
+ header nav li {
+ border-bottom: 1px dotted #ddd;
+ }
+
+ body .home-how-more img {
+ right: 0;
+ }
+
+ body .home-how-reverse {
+ position: relative;
+ bottom: 0;
+ }
+
+ footer li.element {
+ border-right: 0;
+ border-bottom: 1px dotted #ddd;
+ }
+
+ footer {
+ padding-left: 15px;
+ height: auto;
+ }
+
+ section.content {
+ padding: 5px 10px;
+ margin-top: 20px;
+ }
+
+ .fork_and_edit {
+ display: none;
+ }
+
+}
View
19 css/syntax.css
@@ -1,19 +0,0 @@
-code.php .k {color: #FF8400}
-code.php .s1 {color: #56D036}
-code.php .c1 {color: #BD48B3; font-style: italic}
-code.php .coMULTI {color: #BD48B3; font-style: italic}
-code.php .p {color: #999}
-code.php .nv {color: #fff}
-code.php a {text-decoration: none}
-code.php .cp {color: #A829D9; font-style: italic}
-code.php .na {color: #fff;}
-code.php .nf {color: #fff;}
-
-code.xml .cp {color: #A829D9; font-style: italic}
-code.xml .s {color: #56DB39;}
-code.xml .nt {color: #ccc;}
-
-code.yaml .p-Indicator {color: #FF8400;}
-code.yaml .c1 {color: #ccc; font-style: italic;}
-code.yaml .s {color: #0086d2;}
-code.yaml .nv {color: #fff;}
View
BIN images/background.png
Deleted file not rendered
View
BIN images/curved-arrow-bottom-right.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/curved-arrow-left-bottom.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/curved-arrow-right-top.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/curved-arrow-top-left.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/home-how-migration-table.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/home-what.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/home-why.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN images/propel-logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
130 index.markdown
@@ -2,44 +2,109 @@
layout: home
---
-# Welcome to the Propel Website! #
+{% capture what %}
+### What is Propel? ###
+Propel is an open-source Object-Relational Mapping (ORM) for SQL-Databases in PHP 5.4.
+It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.
-![Propel logo](./images/propel-logo.png)
+But not only plain ORM but it also provides database schema migration, reverse engineering of existing database and much more.
+{% endcapture %}
-### What? ###
+{% capture why %}
+### Why Propel? ###
-Propel is an open-source Object-Relational Mapping (ORM) for PHP5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.
-
-### Why? ###
-
-Propel gives you, the web application developer, the tools to work with databases in the same way you work with other classes and objects in PHP.
+Propel gives you, the web application developer, the tools to work with databases in the same way you work with
+other classes and objects in PHP without writing SQL.
+* Propel is blazing fast!
* Propel gives your database a well-defined API.
-* Propel uses the PHP5 OO standards -- Exceptions, autoloading, Iterators and friends.
+* Propel is well documented.
+* Propel comes with common `behaviors`.
+{% endcapture %}
+
+{% capture howSchema %}
+Everything starts with a xml file. The `schema.xml`.
+
+```xml
+<?xml version="1.0" encoding="UTF-8"?>
+<database name="bookstore" defaultIdMethod="native">
+ <table name="book" phpName="Book">
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="title" type="varchar" size="255" required="true" />
+ <column name="isbn" type="varchar" size="24" required="true" phpName="ISBN"/>
+ <column name="author_id" type="integer" required="true"/>
+ <foreign-key foreignTable="author">
+ <reference local="author_id" foreign="id"/>
+ </foreign-key>
+ </table>
+ <table name="author" phpName="Author">
+ <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
+ <column name="first_name" type="varchar" size="128" required="true"/>
+ <column name="last_name" type="varchar" size="128" required="true"/>
+ </table>
+</database>
+```
+{% endcapture %}
+
-Propel makes database coding fun again.
+{% capture howMigrate %}
+![Table Schema from Migration](/images/home-how-migration-table.png)
+With the [migration feature](/documentation/10-migrations.html) of Propel you can update database's schema automatically based on your xml file.
+This keeps the database always up2date without the hazzle of writing own `ALTER TABLE`' SQLs.
+{% endcapture %}
-### Show Me! ###
+{% capture howRetrieve %}
+After [building your PHP classes](/documentation/02-buildtime.html#building-the-model) from the xml file you can
+use those to retrieve data from the database.
```php
<?php
-$book = BookQuery::create()->findPK(123); // retrieve a record from a database
-$book->setName('Don\'t be Hax0red!'); // modify. Don't worry about escaping
-$book->save(); // persist the modification to the database
-$books = BookQuery::create() // retrieve all books...
+$books = BookQuery::create() // retrieve all books ...
->filterByPublishYear(2009) // ... published in 2009
->orderByTitle() // ... ordered by title
->joinWith('Book.Author') // ... with their author
->find();
+
foreach($books as $book) {
- echo $book->getAuthor()->getFullName();
+ echo $book->getId() . ': ' . $book->getAuthor()->getFullName();
}
```
+{% endcapture %}
+{% capture howManipulate %}
+Beside your `*Query` classes you'll get also active-record classes for your objects after [the building](/documentation/02-buildtime.html#building-the-model).
+
+```php
+<?php
+
+// manipulate existing
+$book = BookQuery::create()->findPK(123); // retrieve a record from a database
+$book->setTitle('Don\'t be Hax0red!'); // modify. Don't worry about escaping
+$book->save(); // persist the modification to the database
+
+// create new
+$book = new Book();
+$book->setTitle('JavaScript, The Good Parts.');
+$book->save() // add new row
+$book->getId() // now available since it's autoIncrement
+```
+{% endcapture %}
+
+{% capture content %}
### Get It! ###
-Fork the Propel GitHub repository at [http://github.com/propelorm/Propel2](https://github.com/propelorm/Propel2).
+Via [Composer](https://packagist.org/)
+
+```json
+ "require": {
+ "propel/propel": "dev-master"
+ }
+```
+
+All releases at packagist.org: [packagist.org/packages/propel/propel](https://packagist.org/packages/propel/propel)
+
+All releases at github.com: [github.com/propelorm/Propel2/releases](https://github.com/propelorm/Propel2/releases)
### Dive In! ###
@@ -53,8 +118,33 @@ Propel is built for developers who need to keep control of their code:
* Propel can get out of your way for when you need custom queries or hyper-optimized transactions.
* If you need to change your RDBMS in the course of the project, rebuild your model and you're ready to go. Propel supports MySQL, PostgreSQL, SQLite, MSSQL, and Oracle.
* The code generated by Propel is well commented, IDE-friendly and easy to use.
-* The Propel project started in 2005, and already powers thousands of websites. Throughly documented, backed by many tutorials across the web, it also benefits from an enthusiast community that provides rapid support for both beginner and hardcore developers.
+* The Propel project started in 2005, and already powers thousands of websites. Thoroughly documented, backed by many tutorials across the web, it also benefits from an enthusiast community that provides rapid support for both beginner and hardcore developers.
+
+Propel is released under the [MIT license](https://github.com/propelorm/Propel/blob/master/LICENSE). It's free to use, even in commercial applications.
+
+Do you want to know more? Jump to the Documentation tab, or start exploring the code in the GitHub repository.
+
+
+### Propel ECG (Build Status) ###
+
+Propel is strongly unit tested. Propel is developed under Continuous
+Integration and with a Test Driven Development approach.
+We use [Travis-CI](http://travis-ci.org) to automatically build our projects,
+and here are the statuses:
-Propel is released under the [MIT license](https://github.com/propelorm/Propel2/blob/master/LICENSE). It's free to use, even in commercial applications.
+<table width="100%" class="ecg">
+ <tr>
+ <td><a href="https://github.com/propelorm/Propel">Propel 1.6</a></td><td><img src="https://travis-ci.org/propelorm/Propel.png" /></td>
+ </tr><tr>
+ <td><a href="https://github.com/propelorm/Propel2">Propel2 (unstable)</a></td><td><img src="https://travis-ci.org/propelorm/Propel2.png" /></td>
+ </tr><tr>
+ <td><a href="https://github.com/propelorm/sfPropelORMPlugin">sfPropelORMPlugin</a></td><td><img src="https://travis-ci.org/propelorm/sfPropelORMPlugin.png" /></td>
+ </tr><tr>
+ <td><a href="https://github.com/propelorm/PropelBundle">PropelBundle</a></td><td><img src="https://travis-ci.org/propelorm/PropelBundle.png" /></td>
+ </tr><tr>
+ <td><a href="https://github.com/propelorm/PropelServiceProvider">PropelServiceProvider</a></td><td><img src="https://travis-ci.org/propelorm/PropelServiceProvider.png" /></td>
+ </tr>
+</table>
+{% endcapture %}
-Do you want to know more? Jump to the Documentation tab, or start exploring the code in the [GitHub repository](https://github.com/propelorm/Propel2).
+{% include home.html %}

0 comments on commit 80b8d69

Please sign in to comment.