diff --git a/website/sphinx/auth.rst b/docs/auth.rst similarity index 100% rename from website/sphinx/auth.rst rename to docs/auth.rst diff --git a/website/sphinx/autoreload.rst b/docs/autoreload.rst similarity index 100% rename from website/sphinx/autoreload.rst rename to docs/autoreload.rst diff --git a/website/sphinx/conf.py b/docs/conf.py similarity index 100% rename from website/sphinx/conf.py rename to docs/conf.py diff --git a/website/sphinx/documentation.rst b/docs/documentation.rst similarity index 100% rename from website/sphinx/documentation.rst rename to docs/documentation.rst diff --git a/website/sphinx/escape.rst b/docs/escape.rst similarity index 100% rename from website/sphinx/escape.rst rename to docs/escape.rst diff --git a/website/sphinx/favicon.ico b/docs/favicon.ico similarity index 100% rename from website/sphinx/favicon.ico rename to docs/favicon.ico diff --git a/website/sphinx/gen.rst b/docs/gen.rst similarity index 100% rename from website/sphinx/gen.rst rename to docs/gen.rst diff --git a/website/sphinx/httpclient.rst b/docs/httpclient.rst similarity index 100% rename from website/sphinx/httpclient.rst rename to docs/httpclient.rst diff --git a/website/sphinx/httpserver.rst b/docs/httpserver.rst similarity index 100% rename from website/sphinx/httpserver.rst rename to docs/httpserver.rst diff --git a/website/sphinx/httputil.rst b/docs/httputil.rst similarity index 100% rename from website/sphinx/httputil.rst rename to docs/httputil.rst diff --git a/website/sphinx/index.rst b/docs/index.rst similarity index 100% rename from website/sphinx/index.rst rename to docs/index.rst diff --git a/website/sphinx/integration.rst b/docs/integration.rst similarity index 100% rename from website/sphinx/integration.rst rename to docs/integration.rst diff --git a/website/sphinx/ioloop.rst b/docs/ioloop.rst similarity index 100% rename from website/sphinx/ioloop.rst rename to docs/ioloop.rst diff --git a/website/sphinx/iostream.rst b/docs/iostream.rst similarity index 100% rename from website/sphinx/iostream.rst rename to docs/iostream.rst diff --git a/website/sphinx/locale.rst b/docs/locale.rst similarity index 100% rename from website/sphinx/locale.rst rename to docs/locale.rst diff --git a/website/sphinx/log.rst b/docs/log.rst similarity index 100% rename from website/sphinx/log.rst rename to docs/log.rst diff --git a/website/sphinx/netutil.rst b/docs/netutil.rst similarity index 100% rename from website/sphinx/netutil.rst rename to docs/netutil.rst diff --git a/website/sphinx/networking.rst b/docs/networking.rst similarity index 100% rename from website/sphinx/networking.rst rename to docs/networking.rst diff --git a/website/sphinx/options.rst b/docs/options.rst similarity index 100% rename from website/sphinx/options.rst rename to docs/options.rst diff --git a/website/sphinx/overview.rst b/docs/overview.rst similarity index 100% rename from website/sphinx/overview.rst rename to docs/overview.rst diff --git a/website/sphinx/process.rst b/docs/process.rst similarity index 100% rename from website/sphinx/process.rst rename to docs/process.rst diff --git a/website/sphinx/releases.rst b/docs/releases.rst similarity index 100% rename from website/sphinx/releases.rst rename to docs/releases.rst diff --git a/website/sphinx/releases/next.rst b/docs/releases/next.rst similarity index 100% rename from website/sphinx/releases/next.rst rename to docs/releases/next.rst diff --git a/website/sphinx/releases/v1.0.0.rst b/docs/releases/v1.0.0.rst similarity index 100% rename from website/sphinx/releases/v1.0.0.rst rename to docs/releases/v1.0.0.rst diff --git a/website/sphinx/releases/v1.0.1.rst b/docs/releases/v1.0.1.rst similarity index 100% rename from website/sphinx/releases/v1.0.1.rst rename to docs/releases/v1.0.1.rst diff --git a/website/sphinx/releases/v1.1.0.rst b/docs/releases/v1.1.0.rst similarity index 100% rename from website/sphinx/releases/v1.1.0.rst rename to docs/releases/v1.1.0.rst diff --git a/website/sphinx/releases/v1.1.1.rst b/docs/releases/v1.1.1.rst similarity index 100% rename from website/sphinx/releases/v1.1.1.rst rename to docs/releases/v1.1.1.rst diff --git a/website/sphinx/releases/v1.2.0.rst b/docs/releases/v1.2.0.rst similarity index 100% rename from website/sphinx/releases/v1.2.0.rst rename to docs/releases/v1.2.0.rst diff --git a/website/sphinx/releases/v1.2.1.rst b/docs/releases/v1.2.1.rst similarity index 100% rename from website/sphinx/releases/v1.2.1.rst rename to docs/releases/v1.2.1.rst diff --git a/website/sphinx/releases/v2.0.0.rst b/docs/releases/v2.0.0.rst similarity index 100% rename from website/sphinx/releases/v2.0.0.rst rename to docs/releases/v2.0.0.rst diff --git a/website/sphinx/releases/v2.1.0.rst b/docs/releases/v2.1.0.rst similarity index 100% rename from website/sphinx/releases/v2.1.0.rst rename to docs/releases/v2.1.0.rst diff --git a/website/sphinx/releases/v2.1.1.rst b/docs/releases/v2.1.1.rst similarity index 100% rename from website/sphinx/releases/v2.1.1.rst rename to docs/releases/v2.1.1.rst diff --git a/website/sphinx/releases/v2.2.0.rst b/docs/releases/v2.2.0.rst similarity index 100% rename from website/sphinx/releases/v2.2.0.rst rename to docs/releases/v2.2.0.rst diff --git a/website/sphinx/releases/v2.2.1.rst b/docs/releases/v2.2.1.rst similarity index 100% rename from website/sphinx/releases/v2.2.1.rst rename to docs/releases/v2.2.1.rst diff --git a/website/sphinx/releases/v2.3.0.rst b/docs/releases/v2.3.0.rst similarity index 100% rename from website/sphinx/releases/v2.3.0.rst rename to docs/releases/v2.3.0.rst diff --git a/website/sphinx/releases/v2.4.0.rst b/docs/releases/v2.4.0.rst similarity index 100% rename from website/sphinx/releases/v2.4.0.rst rename to docs/releases/v2.4.0.rst diff --git a/website/sphinx/releases/v2.4.1.rst b/docs/releases/v2.4.1.rst similarity index 100% rename from website/sphinx/releases/v2.4.1.rst rename to docs/releases/v2.4.1.rst diff --git a/website/sphinx/stack_context.rst b/docs/stack_context.rst similarity index 100% rename from website/sphinx/stack_context.rst rename to docs/stack_context.rst diff --git a/website/sphinx/template.rst b/docs/template.rst similarity index 100% rename from website/sphinx/template.rst rename to docs/template.rst diff --git a/website/sphinx/testing.rst b/docs/testing.rst similarity index 100% rename from website/sphinx/testing.rst rename to docs/testing.rst diff --git a/website/sphinx/tornado.png b/docs/tornado.png similarity index 100% rename from website/sphinx/tornado.png rename to docs/tornado.png diff --git a/website/sphinx/twisted.rst b/docs/twisted.rst similarity index 100% rename from website/sphinx/twisted.rst rename to docs/twisted.rst diff --git a/website/sphinx/utilities.rst b/docs/utilities.rst similarity index 100% rename from website/sphinx/utilities.rst rename to docs/utilities.rst diff --git a/website/sphinx/web.rst b/docs/web.rst similarity index 100% rename from website/sphinx/web.rst rename to docs/web.rst diff --git a/website/sphinx/webframework.rst b/docs/webframework.rst similarity index 100% rename from website/sphinx/webframework.rst rename to docs/webframework.rst diff --git a/website/sphinx/websocket.rst b/docs/websocket.rst similarity index 100% rename from website/sphinx/websocket.rst rename to docs/websocket.rst diff --git a/website/sphinx/wsgi.rst b/docs/wsgi.rst similarity index 100% rename from website/sphinx/wsgi.rst rename to docs/wsgi.rst diff --git a/website/Makefile b/website/Makefile deleted file mode 100644 index 202e2d13..00000000 --- a/website/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -SPHINXOPTS=-W -d sphinx/build/doctrees sphinx - -.PHONY: sphinx -sphinx: - sphinx-build -b html $(SPHINXOPTS) sphinx/build/html - -.PHONY: coverage -coverage: - sphinx-build -b coverage ${SPHINXOPTS} sphinx/build/coverage - cat sphinx/build/coverage/python.txt - -.PHONY: latex -latex: - sphinx-build -b latex $(SPHINXOPTS) sphinx/build/latex - -# Building a pdf requires a latex installation. For macports, the needed -# packages are texlive-latex-extra and texlive-fonts-recommended. -# The output is in sphinx/build/latex/tornado.pdf -.PHONY: pdf -pdf: latex - cd sphinx/build/latex && pdflatex -interaction=nonstopmode tornado.tex - -clean: - rm -rf sphinx/build diff --git a/website/app.yaml b/website/app.yaml deleted file mode 100644 index f1fcfdfd..00000000 --- a/website/app.yaml +++ /dev/null @@ -1,32 +0,0 @@ -application: python-tornado-hrd -version: 3 -runtime: python27 -api_version: 1 -threadsafe: yes - -handlers: -- url: /static/tornado-0.1.tar.gz - script: website.application - -- url: /static/tornado-0.2.tar.gz - script: website.application - -- url: /static/ - static_dir: static - -- url: /robots\.txt - static_files: static/robots.txt - upload: static/robots.txt - -- url: /favicon\.ico - static_files: static/favicon.ico - upload: static/favicon.ico - -- url: /documentation/? - script: website.application - -- url: /documentation - static_dir: sphinx/build/html - -- url: /.* - script: website.application diff --git a/website/index.yaml b/website/index.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/website/static/base.css b/website/static/base.css deleted file mode 100644 index 543d6f24..00000000 --- a/website/static/base.css +++ /dev/null @@ -1,120 +0,0 @@ -body { - background: white; - color: black; - font-family: Georgia, serif; - font-size: 11pt; - margin: 10px; - margin-top: 15px; - margin-bottom: 15px; -} - -h1, -h2, -h3, -h4 { - font-family: Calibri, sans-serif; - margin: 0; -} - -img { - border: 0; -} - -pre, -code { - color: #060; -} - -a, -a code { - color: #216093; -} - -table { - border-collapse: collapse; - border: 0; -} - -td { - border: 0; - padding: 0; -} - -#body { - margin: auto; - max-width: 850px; -} - -#header { - margin-bottom: 15px; - margin-right: 30px; -} - -#content, -#footer { - margin-left: 31px; - margin-right: 31px; -} - -#content p, -#content li, -#footer { - line-height: 16pt; -} - -#content pre { - line-height: 14pt; - margin: 17pt; - padding-left: 1em; - border-left: 1px solid #ccc; -} - -#footer { - margin-top: 5em; -} - -#header .logo { - line-height: 0; - padding-bottom: 5px; - padding-right: 15px; -} - -#header .logo img { - width: 286px; - height: 72px; -} - -#header .title { - vertical-align: bottom; -} - -#header .title h1 { - font-size: 35px; - font-weight: normal; -} - -#header .title h1, -#header .title h1 a { - color: #666; -} - -#content h1, -#content h2, -#content h3 { - color: #4d8cbf; - margin-bottom: 2pt; - margin-top: 17pt; -} - -#content h2 { - font-size: 19pt; -} - -#content h3 { - font-size: 15pt; -} - -#content p { - margin: 0; - margin-bottom: 1em; -} diff --git a/website/static/facebook.png b/website/static/facebook.png deleted file mode 100644 index 47738323..00000000 Binary files a/website/static/facebook.png and /dev/null differ diff --git a/website/static/favicon.ico b/website/static/favicon.ico deleted file mode 100644 index c9cc4d6a..00000000 Binary files a/website/static/favicon.ico and /dev/null differ diff --git a/website/static/friendfeed.png b/website/static/friendfeed.png deleted file mode 100644 index ac09f4e4..00000000 Binary files a/website/static/friendfeed.png and /dev/null differ diff --git a/website/static/robots.txt b/website/static/robots.txt deleted file mode 100644 index 0ad279c7..00000000 --- a/website/static/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Disallow: diff --git a/website/static/sphinx.css b/website/static/sphinx.css deleted file mode 100644 index de4d690b..00000000 --- a/website/static/sphinx.css +++ /dev/null @@ -1,67 +0,0 @@ -@import url("default.css"); - -/* These style tweaks are probably going to turn out to be a little fragile. - They're currently based on the default theme from sphinx 1.0.7. -*/ - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6, -div.sphinxsidebar h3, -div.sphinxsidebar h4 { - font-weight: bold; - border-bottom: none; -} - -pre { - line-height: 14pt; - margin: 17pt; - padding-left: 1em; - border: none; - border-left: 1px solid #ccc; -} - -div.body p, div.body dd, div.body li { - text-align: left; -} - -.highlight { - background: #fff !important; -} - -th.field-name { - background: #fff; -} - -tt { - background: #fff; -} - -/* "related" = top header */ -div.related { - position: fixed; -} - -/* body settings copied from div.sphinxsidebar so following a link to a - specific object positions that object below the fixed header */ -div.body { - top: 30px; - bottom: 0; - right: 0; - left: 230px; - margin: 0; - position: fixed; - overflow: auto; - height: auto; -} - -div.related, div.sphinxsidebar { - font-family: Calibri, sans-serif; -} - -div.section { - max-width: 850px; -} \ No newline at end of file diff --git a/website/static/tornado.png b/website/static/tornado.png deleted file mode 100644 index a920aa56..00000000 Binary files a/website/static/tornado.png and /dev/null differ diff --git a/website/static/twitter.png b/website/static/twitter.png deleted file mode 100644 index 5099c62e..00000000 Binary files a/website/static/twitter.png and /dev/null differ diff --git a/website/templates/base.html b/website/templates/base.html deleted file mode 100644 index 88529a13..00000000 --- a/website/templates/base.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - {% block title %}Tornado Web Server{% end %} - - - {% block head %}{% end %} - - -
- -
{% block body %}{% end %}
- -
- {% block bottom %}{% end %} - - diff --git a/website/templates/index.html b/website/templates/index.html deleted file mode 100644 index bd61129a..00000000 --- a/website/templates/index.html +++ /dev/null @@ -1,67 +0,0 @@ -{% extends "base.html" %} - -{% block body %} -

Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The FriendFeed application is written using a web framework that looks a bit like web.py or Google's webapp, but with additional tools and optimizations to take advantage of the underlying non-blocking infrastructure.

-

The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll or kqueue, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed's real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.)

- -

Upgrading from Tornado 1.x

- -

Tornado 2.0 introduces several potentially backwards-incompatible changes, - including in particular automatic escaping of template output. Users - who are upgrading from Tornado 1.x should see the - release notes for - information about backwards compatibility.

- -

Quick links

- - - -

Hello, world

-

Here is the canonical "Hello, world" example app for Tornado:

-
import tornado.ioloop
-import tornado.web
-
-class MainHandler(tornado.web.RequestHandler):
-    def get(self):
-        self.write("Hello, world")
-
-application = tornado.web.Application([
-    (r"/", MainHandler),
-])
-
-if __name__ == "__main__":
-    application.listen(8888)
-    tornado.ioloop.IOLoop.instance().start()
-

See the Tornado documentation for a detailed walkthrough of the framework.

- -

Installation

- -

Automatic installation: Tornado is listed in PyPI and can be installed with pip or easy_install. Note that the source distribution includes demo applications that are not present when Tornado is installed in this way, so you may wish to download a copy of the source tarball as well.

- -

Manual installation: Download tornado-{{version}}.tar.gz

-
tar xvzf tornado-{{version}}.tar.gz
-cd tornado-{{version}}
-python setup.py build
-sudo python setup.py install
-

The Tornado source code is hosted on GitHub. It is also possible to simply add the tornado directory to your PYTHONPATH instead of building with setup.py. - -

Prerequisites: Tornado runs on Python 2.6+ and 3.2+. Both CPython and PyPy are supported. There are no required dependencies outside the Python standard library, although unittest2 is required to run Tornado's unittest suite on Python 2.6. Certain optional features require additional third-party modules: -

- -

Platforms: Tornado should run on any Unix-like platform, although - for the best performance and scalability only Linux and BSD (including - BSD derivatives like Mac OS X) are recommended.

- -

Discussion and support

-

You can discuss Tornado and report bugs on the Tornado developer mailing list. Links to additional resources can be found on the Tornado wiki. - -{% end %} diff --git a/website/tornado b/website/tornado deleted file mode 120000 index 18db1e4b..00000000 --- a/website/tornado +++ /dev/null @@ -1 +0,0 @@ -../tornado \ No newline at end of file diff --git a/website/website.py b/website/website.py deleted file mode 100644 index 2d1d8374..00000000 --- a/website/website.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Bret Taylor -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import os -import os.path -import tornado.web -import tornado.wsgi - - -class ContentHandler(tornado.web.RequestHandler): - def get(self, path="index"): - paths = ("index",) - if path not in paths: - raise tornado.web.HTTPError(404) - self.render(path + ".html", version=tornado.version) - - -settings = { - "template_path": os.path.join(os.path.dirname(__file__), "templates"), - "xsrf_cookies": True, - "debug": os.environ.get("SERVER_SOFTWARE", "").startswith("Development/"), -} -application = tornado.wsgi.WSGIApplication([ - (r"/", ContentHandler), - (r"/(index)", ContentHandler), - (r"/static/tornado-0.1.tar.gz", tornado.web.RedirectHandler, - dict(url="https://github.com/downloads/facebook/tornado/tornado-0.1.tar.gz")), - (r"/static/tornado-0.2.tar.gz", tornado.web.RedirectHandler, - dict(url="https://github.com/downloads/facebook/tornado/tornado-0.2.tar.gz")), - - (r"/documentation/?", tornado.web.RedirectHandler, - dict(url="/documentation/index.html")), - -], **settings)