Skip to content

Commit

Permalink
Sidebars are coming into view. Still need to finish fixing presentati…
Browse files Browse the repository at this point in the history
…ons, and then deal with features and sub pages of features. Complete styling and updates afterwards.
  • Loading branch information
pedersen committed Oct 17, 2012
1 parent 3253764 commit 9288759
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 3 deletions.
21 changes: 18 additions & 3 deletions src/index.rst
Expand Up @@ -2,11 +2,13 @@
TurboGears Web Framework
##########################

.. include:: welcome/sidebar.rst

*********************************************************
The next generation web framework that scales with you.
*********************************************************

TurboGears will help you to create a database-driven, ready-to-extend application in minutes. All with code that is as natural as writing a function, designer friendly templates, easy AJAX on the browser side and on the server side and with an incredibly powerful and flexible Object Relational Mapper (ORM).
TurboGears will help you to create a database-driven, ready-to-extend application in minutes. All with code that is `as natural as writing a function`_, `designer friendly templates`_, easy `AJAX`_ on the `browser side`_ and on the `server side`_ and with an incredibly powerful and flexible `Object Relational Mapper (ORM)`_.

***************
Give It a Try
Expand All @@ -24,8 +26,9 @@ TurboGears will help you to create a database-driven, ready-to-extend applicatio
(tg2env)$ paster setup-app development.ini
(tg2env)$ paster serve development.ini
Get started Learning TurboGears 2 by looking at our famous wiki tutorial.
Follow on Google+ for the latest news
Get started Learning TurboGears 2 by looking at our famous `wiki tutorial`_.

Follow on `Google+`_ for the latest news.

############################################
A new Generation in dynamic web frameworks
Expand All @@ -40,3 +43,15 @@ TurboGears 2 is built on top of the experience of several next generation web fr
* Support for multiple data-exchange formats
* Built in extensibility via standard WSGI components
* Programmer friendly template system that also works for designers

.. _`Overview`: welcome/overview.html
.. _`Presentations`: welcome/presentations.html
.. _`The TurboGears Way`: welcome/turbogears-way.html
.. _`as natural as writing a function`: http://www.turbogears.org/2.1/docs/main/Controllers.html
.. _`designer friendly templates`: http://genshi.edgewall.org/
.. _`AJAX`: http://en.wikipedia.org/wiki/AJAX
.. _`browser side`: http://www.toscawidgets.org/
.. _`server side`: http://www.pylonshq.org/
.. _`Object Relational Mapper (ORM)`: http://www.sqlalchemy.org/
.. _`wiki tutorial`: http://www.turbogears.org/book/part1/wiki20.html
.. _`Google+`: https://plus.google.com/115723575598932631951
33 changes: 33 additions & 0 deletions src/welcome/overview.rst
@@ -0,0 +1,33 @@
.. include:: sidebar.rst

##########
Overview
##########

TurboGears 2 is a reinvention of the TurboGears project to take advantage of new components, and to provide a fully customizable WSGI (Web Server Gateway Interface) stack. From the beginning TurboGears was designed to be a Full Stack framework built from best-of-breed components. New components have been released which improved on the ones in the original TGstack, and the Python web world has been increasingly designed around WSGI.

This has enabled a whole new world of reuse, and TG2 is designed to take advantage of this fact in order to make a framework which provides easy to use, productive defaults, while still providing flexibility where it’s useful.

TG2 represents a change from some of the components in TurboGears 1, but we’ve now invested in a set of components that we think will continue to be at the center of python web development for years to come.

********************************************
A new Generation in dynamic web frameworks
********************************************

TurboGears 2 is the built on top of the experience of several next generation web frameworks including TurboGears 1 (of course), Django, and Rails. All of these frameworks had limitations which were frustrating in various ways, and TG2 is an answer to that frustration. We wanted something that had:

- Real multi-database support
- Horizontal data partitioning (sharding)
- Support for a variety of JavaScript toolkits, and new widget system to make building ajax heavy apps easier
- Support for multiple data-exchange formats.
- Built in extensibility via standard WSGI components

*****************************************************************************************
A framework that helps you get going fast, and gets out of your way when you want it t!
*****************************************************************************************

Create a database-driven, ready-to-extend application in minutes. All with designer friendly templates, easy AJAX on the browser side and on the server side, with an incredibly powerful and flexible Object Relational Mapper (ORM), and with code that is as natural as writing a function.

Get started Learning TurboGears 2 by looking at our famous `wiki tutorial`_.

.. _`wiki tutorial`: http://www.turbogears.org/book/part1/wiki20.html
6 changes: 6 additions & 0 deletions src/welcome/sidebar.rst
@@ -0,0 +1,6 @@

.. sidebar:: Overview

- :doc:`/welcome/overview`
- :doc:`/welcome/presentations`
- :doc:`/welcome/turbogears-way`
44 changes: 44 additions & 0 deletions src/welcome/turbogears-way.rst
@@ -0,0 +1,44 @@
.. include:: sidebar.rst

####################
The Turbogears Way
####################

TurboGears 2 is a reinvention of TurboGears and a return to TurboGears’ roots.
TurboGears is a project that is built upon a foundation of library development best-of-breed component selection, and the re-use of already existing code. And it was always intended to be a small collection of tools, docs, and helpers that made developing with that best-of-breed stack easy.

In retrospect, some of the code that was added to the main TurboGears project should have been released as independent projects that integrate with TurboGears. This would have allowed those pieces to grow independently of TurboGears, and would have allowed TurboGears to remain smaller and easier to develop and debug.

TurboGears 0.5 release was just a few hundred lines of Python code, but it built on thousands of lines of code in other libraries. Those libraries had already been deployed, used, and tested, and were known to be “production ready.”

TurboGears2 returns to that philosophy. It is built on Pylons, but it brings a more full-stack approach to pylons. TurboGears 2 is committed to creating reusable components, and to achieving a long-term stable API based on the following Python components and libraries:

- Models: SQLAlchemy
- Template engines: Genshi and Mako
- URL Dispatching: Object dispatch
- Form Handling: ToscaWidgets and Sprox
- Authentication and Authorization: repoze.who & repoze.what

The zen of TurboGears is:

.. pull-quote::

Make simple things easy and complex things possible.

It's OK to be opinionated,

But it's not OK to be obnoxious about those opinions.

Do your best to do things the right way,

But when there's no "one right way," don't pretend there is.

Mark Ramm described the relationship between TurboGears and Pylons this way “TurboGears 2 is to Pylons as Ubuntu is to Debian.”

In other words we’re focused on user experience, and creating a novice-friendly environment. We ship a smaller subset of components, and thus are better able to focus, test, and document things so that new users have the best possible experience.

Meanwhile Pylons provides the power and flexibility of the underlying core.

And like Ubuntu, we don’t intend to hide that power and flexibility from advanced users, but we know that they want things set up to just work too.

Sensible defaults actually encourage code re-use within TurboGears because they make it possible for a group of TurboGears components to share assumptions about how things will work.

0 comments on commit 9288759

Please sign in to comment.