summaryrefslogtreecommitdiff
path: root/docs/getting_started/quick_glance
diff options
context:
space:
mode:
authorPaul Everitt <paul@agendaless.com>2013-06-11 14:54:58 -0400
committerPaul Everitt <paul@agendaless.com>2013-06-11 14:54:58 -0400
commit47eaa189e115936a86357380accd8d472e4d9a6c (patch)
tree5fecfd689405242e49d442c1dfaf29cd19fdce99 /docs/getting_started/quick_glance
parent5832ca31ecd9bea02f32ff90c56bab52114541da (diff)
downloadpyramid-47eaa189e115936a86357380accd8d472e4d9a6c.tar.gz
pyramid-47eaa189e115936a86357380accd8d472e4d9a6c.tar.bz2
pyramid-47eaa189e115936a86357380accd8d472e4d9a6c.zip
About half of the first pass is done.
Diffstat (limited to 'docs/getting_started/quick_glance')
-rw-r--r--docs/getting_started/quick_glance/app1.py16
-rw-r--r--docs/getting_started/quick_glance/app2.py18
-rw-r--r--docs/getting_started/quick_glance/app3.jinja29
-rw-r--r--docs/getting_started/quick_glance/app3.py19
-rw-r--r--docs/getting_started/quick_glance/app4.jinja210
-rw-r--r--docs/getting_started/quick_glance/app4.py19
-rw-r--r--docs/getting_started/quick_glance/app5.py26
-rw-r--r--docs/getting_started/quick_glance/app6.py30
-rw-r--r--docs/getting_started/quick_glance/hello_world/CHANGES.txt4
-rw-r--r--docs/getting_started/quick_glance/hello_world/MANIFEST.in2
-rw-r--r--docs/getting_started/quick_glance/hello_world/README.txt4
-rw-r--r--docs/getting_started/quick_glance/hello_world/development.ini52
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/__init__.py23
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.mobin0 -> 460 bytes
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.po21
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.mobin0 -> 461 bytes
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.po21
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/locale/hello_world.pot21
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/models.py8
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/static/favicon.icobin0 -> 1406 bytes
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/static/logo.pngbin0 -> 6641 bytes
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/static/pylons.css73
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/templates/mytemplate.jinja287
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/tests.py21
-rw-r--r--docs/getting_started/quick_glance/hello_world/hello_world/views.py6
-rw-r--r--docs/getting_started/quick_glance/hello_world/message-extraction.ini3
-rw-r--r--docs/getting_started/quick_glance/hello_world/setup.cfg28
-rw-r--r--docs/getting_started/quick_glance/hello_world/setup.py39
-rw-r--r--docs/getting_started/quick_glance/static/app.css4
29 files changed, 564 insertions, 0 deletions
diff --git a/docs/getting_started/quick_glance/app1.py b/docs/getting_started/quick_glance/app1.py
new file mode 100644
index 000000000..cffe53ecf
--- /dev/null
+++ b/docs/getting_started/quick_glance/app1.py
@@ -0,0 +1,16 @@
+from wsgiref.simple_server import make_server
+from pyramid.config import Configurator
+from pyramid.response import Response
+
+
+def hello_world(request):
+ return Response('<h1>Hello World!</h1>')
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/')
+ config.add_view(hello_world, route_name='hello')
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app2.py b/docs/getting_started/quick_glance/app2.py
new file mode 100644
index 000000000..49ccd3be1
--- /dev/null
+++ b/docs/getting_started/quick_glance/app2.py
@@ -0,0 +1,18 @@
+from wsgiref.simple_server import make_server
+from pyramid.config import Configurator
+from pyramid.response import Response
+from pyramid.view import view_config
+
+
+@view_config(route_name='hello')
+def hello_world(request):
+ return Response('<h1>Hello %(name)s!</h1>' % request.matchdict)
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/hello/{name}')
+ config.scan()
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app3.jinja2 b/docs/getting_started/quick_glance/app3.jinja2
new file mode 100644
index 000000000..6d9f0cd5f
--- /dev/null
+++ b/docs/getting_started/quick_glance/app3.jinja2
@@ -0,0 +1,9 @@
+<html lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Quick Glance</title>
+</head>
+<body>
+<h1>Hello {{ name }}!</h1>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app3.py b/docs/getting_started/quick_glance/app3.py
new file mode 100644
index 000000000..549cb5f54
--- /dev/null
+++ b/docs/getting_started/quick_glance/app3.py
@@ -0,0 +1,19 @@
+from wsgiref.simple_server import make_server
+from pyramid.config import Configurator
+from pyramid.response import Response
+from pyramid.view import view_config
+
+
+@view_config(route_name='hello', renderer='app3.jinja2')
+def hello_world(request):
+ return dict(name=request.matchdict['name'])
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/hello/{name}')
+ config.include('pyramid_jinja2')
+ config.scan()
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app4.jinja2 b/docs/getting_started/quick_glance/app4.jinja2
new file mode 100644
index 000000000..3d0f28c1f
--- /dev/null
+++ b/docs/getting_started/quick_glance/app4.jinja2
@@ -0,0 +1,10 @@
+<html lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>Quick Glance</title>
+ <link rel="stylesheet" href="/static/app.css" />
+</head>
+<body>
+<h1>Hello {{ name }}!</h1>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app4.py b/docs/getting_started/quick_glance/app4.py
new file mode 100644
index 000000000..245ed0b68
--- /dev/null
+++ b/docs/getting_started/quick_glance/app4.py
@@ -0,0 +1,19 @@
+from wsgiref.simple_server import make_server
+from pyramid.config import Configurator
+from pyramid.view import view_config
+
+
+@view_config(route_name='hello', renderer='app4.jinja2')
+def hello_world(request):
+ return dict(name=request.matchdict['name'])
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/hello/{name}')
+ config.add_static_view(name='static', path='static')
+ config.include('pyramid_jinja2')
+ config.scan()
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app5.py b/docs/getting_started/quick_glance/app5.py
new file mode 100644
index 000000000..245a0a5ae
--- /dev/null
+++ b/docs/getting_started/quick_glance/app5.py
@@ -0,0 +1,26 @@
+from wsgiref.simple_server import make_server
+
+from pyramid.config import Configurator
+from pyramid.view import view_config
+
+
+@view_config(route_name='hello', renderer='app4.jinja2')
+def hello_world(request):
+ return dict(name=request.matchdict['name'])
+
+
+@view_config(route_name='hello_json', renderer='json')
+def hello_json(request):
+ return [1, 2, 3]
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/hello/{name}')
+ config.add_route('hello_json', 'hello.json')
+ config.add_static_view(name='static', path='static')
+ config.include('pyramid_jinja2')
+ config.scan()
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/app6.py b/docs/getting_started/quick_glance/app6.py
new file mode 100644
index 000000000..155becc54
--- /dev/null
+++ b/docs/getting_started/quick_glance/app6.py
@@ -0,0 +1,30 @@
+from wsgiref.simple_server import make_server
+
+from pyramid.config import Configurator
+from pyramid.view import view_config
+
+
+class HelloWorldViews:
+ def __init__(self, request):
+ self.request = request
+
+ @view_config(route_name='hello', renderer='app4.jinja2')
+ def hello_world(self):
+ return dict(name=self.request.matchdict['name'])
+
+
+ @view_config(route_name='hello_json', renderer='json')
+ def hello_json(self):
+ return [1, 2, 3]
+
+
+if __name__ == '__main__':
+ config = Configurator()
+ config.add_route('hello', '/hello/{name}')
+ config.add_route('hello_json', 'hello.json')
+ config.add_static_view(name='static', path='static')
+ config.include('pyramid_jinja2')
+ config.scan()
+ app = config.make_wsgi_app()
+ server = make_server('0.0.0.0', 8081, app)
+ server.serve_forever() \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/hello_world/CHANGES.txt b/docs/getting_started/quick_glance/hello_world/CHANGES.txt
new file mode 100644
index 000000000..ffa255da8
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/CHANGES.txt
@@ -0,0 +1,4 @@
+0.0
+---
+
+- Initial version
diff --git a/docs/getting_started/quick_glance/hello_world/MANIFEST.in b/docs/getting_started/quick_glance/hello_world/MANIFEST.in
new file mode 100644
index 000000000..18fbd855c
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/MANIFEST.in
@@ -0,0 +1,2 @@
+include *.txt *.ini *.cfg *.rst
+recursive-include hello_world *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml
diff --git a/docs/getting_started/quick_glance/hello_world/README.txt b/docs/getting_started/quick_glance/hello_world/README.txt
new file mode 100644
index 000000000..63aaf6fbd
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/README.txt
@@ -0,0 +1,4 @@
+hello_world README
+
+
+
diff --git a/docs/getting_started/quick_glance/hello_world/development.ini b/docs/getting_started/quick_glance/hello_world/development.ini
new file mode 100644
index 000000000..9aa5f40cf
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/development.ini
@@ -0,0 +1,52 @@
+[app:hello_world]
+pyramid.includes = pyramid_debugtoolbar
+use = egg:hello_world
+reload_templates = true
+debug_authorization = false
+debug_notfound = false
+debug_routematch = false
+debug_templates = true
+default_locale_name = en
+jinja2.directories = hello_world:templates
+
+
+
+[pipeline:main]
+pipeline =
+ hello_world
+
+[server:main]
+use = egg:pyramid#wsgiref
+host = 0.0.0.0
+port = 6543
+
+# Begin logging configuration
+
+[loggers]
+keys = root, hello_world
+
+[handlers]
+keys = console
+
+[formatters]
+keys = generic
+
+[logger_root]
+level = INFO
+handlers = console
+
+[logger_hello_world]
+level = DEBUG
+handlers =
+qualname = hello_world
+
+[handler_console]
+class = StreamHandler
+args = (sys.stderr,)
+level = NOTSET
+formatter = generic
+
+[formatter_generic]
+format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
+
+# End logging configuration
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/__init__.py b/docs/getting_started/quick_glance/hello_world/hello_world/__init__.py
new file mode 100644
index 000000000..9b5753c26
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/__init__.py
@@ -0,0 +1,23 @@
+from pyramid.config import Configurator
+from pyramid_jinja2 import renderer_factory
+from hello_world.models import get_root
+
+def main(global_config, **settings):
+ """ This function returns a WSGI application.
+
+ It is usually called by the PasteDeploy framework during
+ ``paster serve``.
+ """
+ settings = dict(settings)
+ settings.setdefault('jinja2.i18n.domain', 'hello_world')
+
+ config = Configurator(root_factory=get_root, settings=settings)
+ config.add_translation_dirs('locale/')
+ config.include('pyramid_jinja2')
+
+ config.add_static_view('static', 'static')
+ config.add_view('hello_world.views.my_view',
+ context='hello_world.models.MyModel',
+ renderer="mytemplate.jinja2")
+
+ return config.make_wsgi_app()
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.mo b/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.mo
new file mode 100644
index 000000000..40bf0c271
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.mo
Binary files differ
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.po b/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.po
new file mode 100644
index 000000000..0df243dba
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/locale/de/LC_MESSAGES/hello_world.po
@@ -0,0 +1,21 @@
+# Translations template for PROJECT.
+# Copyright (C) 2011 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2011-05-12 09:14-0330\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+msgid "Hello!"
+msgstr "Hallo!"
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.mo b/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.mo
new file mode 100644
index 000000000..4fc438bfe
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.mo
Binary files differ
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.po b/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.po
new file mode 100644
index 000000000..dc0aae5d7
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/locale/fr/LC_MESSAGES/hello_world.po
@@ -0,0 +1,21 @@
+# Translations template for PROJECT.
+# Copyright (C) 2011 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2011-05-12 09:14-0330\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+msgid "Hello!"
+msgstr "Bonjour!"
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/locale/hello_world.pot b/docs/getting_started/quick_glance/hello_world/hello_world/locale/hello_world.pot
new file mode 100644
index 000000000..9c9460cb2
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/locale/hello_world.pot
@@ -0,0 +1,21 @@
+# Translations template for PROJECT.
+# Copyright (C) 2011 ORGANIZATION
+# This file is distributed under the same license as the PROJECT project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2011-05-12 09:14-0330\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+msgid "Hello!"
+msgstr ""
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/models.py b/docs/getting_started/quick_glance/hello_world/hello_world/models.py
new file mode 100644
index 000000000..edd361c9c
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/models.py
@@ -0,0 +1,8 @@
+class MyModel(object):
+ pass
+
+root = MyModel()
+
+
+def get_root(request):
+ return root
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/static/favicon.ico b/docs/getting_started/quick_glance/hello_world/hello_world/static/favicon.ico
new file mode 100644
index 000000000..71f837c9e
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/static/favicon.ico
Binary files differ
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/static/logo.png b/docs/getting_started/quick_glance/hello_world/hello_world/static/logo.png
new file mode 100644
index 000000000..88f5d9865
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/static/logo.png
Binary files differ
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/static/pylons.css b/docs/getting_started/quick_glance/hello_world/hello_world/static/pylons.css
new file mode 100644
index 000000000..42e2e320e
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/static/pylons.css
@@ -0,0 +1,73 @@
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;/* 16px */
+vertical-align:baseline;background:transparent;}
+body{line-height:1;}
+ol,ul{list-style:none;}
+blockquote,q{quotes:none;}
+blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
+/* remember to define focus styles! */
+:focus{outline:0;}
+/* remember to highlight inserts somehow! */
+ins{text-decoration:none;}
+del{text-decoration:line-through;}
+/* tables still need 'cellspacing="0"' in the markup */
+table{border-collapse:collapse;border-spacing:0;}
+/* restyling */
+sub{vertical-align:sub;font-size:smaller;line-height:normal;}
+sup{vertical-align:super;font-size:smaller;line-height:normal;}
+/* lists */
+ul,menu,dir{display:block;list-style-type:disc;margin:1em 0;padding-left:40px;}
+ol{display:block;list-style-type:decimal-leading-zero;margin:1em 0;padding-left:40px;}
+li{display:list-item;}
+/* nested lists have no top/bottom margins */
+ul ul,ul ol,ul dir,ul menu,ul dl,ol ul,ol ol,ol dir,ol menu,ol dl,dir ul,dir ol,dir dir,dir menu,dir dl,menu ul,menu ol,menu dir,menu menu,menu dl,dl ul,dl ol,dl dir,dl menu,dl dl{margin-top:0;margin-bottom:0;}
+/* 2 deep unordered lists use a circle */
+ol ul,ul ul,menu ul,dir ul,ol menu,ul menu,menu menu,dir menu,ol dir,ul dir,menu dir,dir dir{list-style-type:circle;}
+/* 3 deep (or more) unordered lists use a square */
+ol ol ul,ol ul ul,ol menu ul,ol dir ul,ol ol menu,ol ul menu,ol menu menu,ol dir menu,ol ol dir,ol ul dir,ol menu dir,ol dir dir,ul ol ul,ul ul ul,ul menu ul,ul dir ul,ul ol menu,ul ul menu,ul menu menu,ul dir menu,ul ol dir,ul ul dir,ul menu dir,ul dir dir,menu ol ul,menu ul ul,menu menu ul,menu dir ul,menu ol menu,menu ul menu,menu menu menu,menu dir menu,menu ol dir,menu ul dir,menu menu dir,menu dir dir,dir ol ul,dir ul ul,dir menu ul,dir dir ul,dir ol menu,dir ul menu,dir menu menu,dir dir menu,dir ol dir,dir ul dir,dir menu dir,dir dir dir{list-style-type:square;}
+.hidden{display:none;}
+p{line-height:1.5em;}
+h1{font-size:1.75em;/* 28px */
+line-height:1.7em;font-family:helvetica,verdana;}
+h2{font-size:1.5em;/* 24px */
+line-height:1.7em;font-family:helvetica,verdana;}
+h3{font-size:1.25em;/* 20px */
+line-height:1.7em;font-family:helvetica,verdana;}
+h4{font-size:1em;line-height:1.7em;font-family:helvetica,verdana;}
+html,body{width:100%;height:100%;}
+body{margin:0;padding:0;background-color:#ffffff;position:relative;font:16px/24px "Nobile","Lucida Grande",Lucida,Verdana,sans-serif;}
+a{color:#1b61d6;text-decoration:none;}
+a:hover{color:#e88f00;text-decoration:underline;}
+body h1,
+body h2,
+body h3,
+body h4,
+body h5,
+body h6{font-family:"Nobile","Lucida Grande",Lucida,Verdana,sans-serif;font-weight:normal;color:#144fb2;font-style:normal;}
+#wrap {min-height: 100%;}
+#header,#footer{width:100%;color:#ffffff;height:40px;position:absolute;text-align:center;line-height:40px;overflow:hidden;font-size:12px;}
+#header{background-color:#e88f00;top:0;font-size:14px;}
+#footer{background-color:#000000;bottom:0;position: relative;margin-top:-40px;clear:both;}
+.header,.footer{width:700px;margin-right:auto;margin-left:auto;}
+.wrapper{width:100%}
+#top,#bottom{width:100%;}
+#top{color:#888;background-color:#eee;height:300px;border-bottom:2px solid #ddd;}
+#bottom{color:#222;background-color:#ffffff;overflow:auto;padding-bottom:80px;}
+.top,.bottom{width:700px;margin-right:auto;margin-left:auto;}
+.top{padding-top:100px;}
+.app-welcome{margin-top:25px;}
+.app-name{color:#000000;font-weight:bold;}
+.bottom{padding-top:50px;}
+#left{width:325px;float:left;padding-right:25px;}
+#right{width:325px;float:right;padding-left:25px;}
+.align-left{text-align:left;}
+.align-right{text-align:right;}
+.align-center{text-align:center;}
+ul.links{margin:0;padding:0;}
+ul.links li{list-style-type:none;font-size:14px;}
+form{border-style:none;}
+fieldset{border-style:none;}
+input{color:#222;border:1px solid #ccc;font-family:sans-serif;font-size:12px;line-height:16px;}
+input[type=text]{}
+input[type=submit]{background-color:#ddd;font-weight:bold;}
+/*Opera Fix*/
+body:before {content:"";height:100%;float:left;width:0;margin-top:-32767px;}
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/templates/mytemplate.jinja2 b/docs/getting_started/quick_glance/hello_world/hello_world/templates/mytemplate.jinja2
new file mode 100644
index 000000000..a796c7273
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/templates/mytemplate.jinja2
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>The Pyramid Web Application Development Framework</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="keywords" content="python web application" />
+ <meta name="description" content="pyramid web application" />
+ <link rel="shortcut icon" href="{{request.application_url}}/static/favicon.ico" />
+ <link rel="stylesheet" href="{{request.application_url}}/static/pylons.css" type="text/css" media="screen" charset="utf-8" />
+ <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&amp;subset=latin" type="text/css" media="screen" charset="utf-8" />
+ <!--[if !IE 7]>
+ <style type="text/css">
+ #wrap {display:table;height:100%}
+ </style>
+ <![endif]-->
+ <style type="text/css">
+ .locale { text-align: center; }
+ .locale-name { font-weight: bold; }
+ </style>
+</head>
+<body>
+ <div id="wrap">
+ <div id="header">
+ <div class="header">The Pyramid Web Application Development Framework</div>
+ </div>
+ <div id="top">
+ <div class="top align-center">
+ <img src="{{request.application_url}}/static/logo.png" width="300" height="80" alt="Logo"/>
+ <p class="app-welcome">
+ Welcome to <span class="app-name">{{project}}</span>, an application generated by<br/>
+ the Pyramid web application development framework.
+ </p>
+ </div>
+ </div>
+ <div id="bottom">
+ <div class="locale">
+ <h2>{% trans %}Hello!{% endtrans %}</h2>
+ <p>Request performed with <span class="locale-name">{{ request.locale_name }}</span> locale.</p>
+ </div>
+ <div class="bottom">
+ <div id="left" class="align-right">
+ <h3>Search Pyramid documentation</h3>
+ <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html">
+ <input type="text" id="q" name="q" value="" />
+ <input type="submit" id="x" value="Search" />
+ </form>
+ </div>
+ <div id="right" class="align-left">
+ <h3>Pyramid links</h3>
+ <ul class="links">
+ <li>
+ <a href="http://pylonshq.com">Pylons Website</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/">The Pylons Project Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a>
+ </li>
+ <li>
+ <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a>
+ </li>
+ <li>
+ <a href="irc://irc.freenode.net#pyramid">IRC Channel</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="footer">
+ <div class="footer">© Copyright 2008-2010, Agendaless Consulting.</div>
+ </div>
+</body>
+</html>
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/tests.py b/docs/getting_started/quick_glance/hello_world/hello_world/tests.py
new file mode 100644
index 000000000..a81c29eb0
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/tests.py
@@ -0,0 +1,21 @@
+import unittest
+from pyramid import testing
+from pyramid.i18n import TranslationStringFactory
+
+_ = TranslationStringFactory('hello_world')
+
+
+class ViewTests(unittest.TestCase):
+
+ def setUp(self):
+ testing.setUp()
+
+ def tearDown(self):
+ testing.tearDown()
+
+ def test_my_view(self):
+ from hello_world.views import my_view
+ request = testing.DummyRequest()
+ response = my_view(request)
+ self.assertEqual(response['project'], 'hello_world')
+
diff --git a/docs/getting_started/quick_glance/hello_world/hello_world/views.py b/docs/getting_started/quick_glance/hello_world/hello_world/views.py
new file mode 100644
index 000000000..c271d45dd
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/hello_world/views.py
@@ -0,0 +1,6 @@
+from pyramid.i18n import TranslationStringFactory
+
+_ = TranslationStringFactory('hello_world')
+
+def my_view(request):
+ return {'project':'hello_world'}
diff --git a/docs/getting_started/quick_glance/hello_world/message-extraction.ini b/docs/getting_started/quick_glance/hello_world/message-extraction.ini
new file mode 100644
index 000000000..0c3d54bc1
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/message-extraction.ini
@@ -0,0 +1,3 @@
+[python: **.py]
+[jinja2: **.jinja2]
+encoding = utf-8
diff --git a/docs/getting_started/quick_glance/hello_world/setup.cfg b/docs/getting_started/quick_glance/hello_world/setup.cfg
new file mode 100644
index 000000000..186e796fc
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/setup.cfg
@@ -0,0 +1,28 @@
+[nosetests]
+match = ^test
+nocapture = 1
+cover-package = hello_world
+with-coverage = 1
+cover-erase = 1
+
+[compile_catalog]
+directory = hello_world/locale
+domain = hello_world
+statistics = true
+
+[extract_messages]
+add_comments = TRANSLATORS:
+output_file = hello_world/locale/hello_world.pot
+width = 80
+mapping_file = message-extraction.ini
+
+[init_catalog]
+domain = hello_world
+input_file = hello_world/locale/hello_world.pot
+output_dir = hello_world/locale
+
+[update_catalog]
+domain = hello_world
+input_file = hello_world/locale/hello_world.pot
+output_dir = hello_world/locale
+previous = true
diff --git a/docs/getting_started/quick_glance/hello_world/setup.py b/docs/getting_started/quick_glance/hello_world/setup.py
new file mode 100644
index 000000000..6269accf1
--- /dev/null
+++ b/docs/getting_started/quick_glance/hello_world/setup.py
@@ -0,0 +1,39 @@
+import os
+
+from setuptools import setup, find_packages
+
+here = os.path.abspath(os.path.dirname(__file__))
+README = open(os.path.join(here, 'README.txt')).read()
+CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()
+
+requires = ['pyramid>=1.0.2', 'pyramid_jinja2', 'pyramid_debugtoolbar']
+
+setup(name='hello_world',
+ version='0.0',
+ description='hello_world',
+ long_description=README + '\n\n' + CHANGES,
+ classifiers=[
+ "Programming Language :: Python",
+ "Framework :: Pylons",
+ "Topic :: Internet :: WWW/HTTP",
+ "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
+ ],
+ author='',
+ author_email='',
+ url='',
+ keywords='web pyramid pylons',
+ packages=find_packages(),
+ include_package_data=True,
+ zip_safe=False,
+ install_requires=requires,
+ tests_require=requires,
+ test_suite="hello_world",
+ entry_points="""\
+ [paste.app_factory]
+ main = hello_world:main
+ """,
+ paster_plugins=['pyramid'],
+ extras_require={
+ 'testing': ['nose', ],
+ }
+) \ No newline at end of file
diff --git a/docs/getting_started/quick_glance/static/app.css b/docs/getting_started/quick_glance/static/app.css
new file mode 100644
index 000000000..f8acf3164
--- /dev/null
+++ b/docs/getting_started/quick_glance/static/app.css
@@ -0,0 +1,4 @@
+body {
+ margin: 2em;
+ font-family: sans-serif;
+} \ No newline at end of file