Skip to content
This repository has been archived by the owner on Dec 25, 2019. It is now read-only.

Commit

Permalink
Initial boilerplate setup
Browse files Browse the repository at this point in the history
  • Loading branch information
kamalgill committed Sep 19, 2010
1 parent ef08f17 commit b03273d
Show file tree
Hide file tree
Showing 187 changed files with 44,489 additions and 4 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ Setup Instructions
tk


Notes
-----
This project template was heavily inspired by Francisco Souza's [gaeseries flask template][1]
Credits
-------
Project template layout was heavily inspired by Francisco Souza's [gaeseries flask template][1]

[1]: http://github.com/franciscosouza/gaeseries/tree/flask
HTML5-based main template (templates/base.html) and base CSS styles (static/css/style.css) extracted from [HTML5 Boilerplate][2]

[1]: http://github.com/franciscosouza/gaeseries/tree/flask
[2]: http://html5boilerplate.com/
1 change: 1 addition & 0 deletions docs/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Your application's documentation here
13 changes: 13 additions & 0 deletions src/app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
application: myflaskonappengineapp
version: 1
runtime: python
api_version: 1

handlers:
- url: /favicon.ico
static_files: application/static/img/favicon.ico
upload: application/static/img/favicon.ico

- url: .*
script: main.py

8 changes: 8 additions & 0 deletions src/application/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

from flask import Flask
import settings

app = Flask(__name__)
app.config.from_object('application.settings')

import views
11 changes: 11 additions & 0 deletions src/application/decorators.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from functools import wraps
from google.appengine.api import users
from flask import redirect, request

def login_required(func):
@wraps(func)
def decorated_view(*args, **kwargs):
if not users.get_current_user():
return redirect(users.create_login_url(request.url))
return func(*args, **kwargs)
return decorated_view
8 changes: 8 additions & 0 deletions src/application/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

from flaskext import wtf
from flaskext.wtf import validators


class ExampleForm(wtf.Form):
example_id = wtf.TextField('Example ID', validators=[validators.Required()])
example_title = wtf.TextField('Example Title', validators=[validators.Required()])
10 changes: 10 additions & 0 deletions src/application/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

from google.appengine.ext import db


class ExampleModel(db.Model):
"""Example Model"""
example_id = db.StringProperty(required = True)
example_title = db.StringProperty(required = True)
added_by = db.UserProperty()
timestamp = db.DateTimeProperty(auto_now_add = True)
21 changes: 21 additions & 0 deletions src/application/settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'''
Place your keys in the secret_keys.py module, which will be kept out of version control
'''


import os
from secret_keys import CSRF_SECRET_KEY, SESSION_KEY


# Auto-set debug mode based on App Engine dev environ
DEBUG_MODE = os.environ['SERVER_SOFTWARE'].startswith('Dev')

DEBUG = DEBUG_MODE

# Set secret keys for CSRF protection
SECRET_KEY = CSRF_SECRET_KEY
CSRF_SESSION_LKEY = SESSION_KEY

This comment has been minimized.

Copy link
@jab

jab Mar 19, 2011

caught a typo: should be CSRF_SESSION_KEY

This comment has been minimized.

Copy link
@kamalgill

kamalgill Mar 19, 2011

Author Owner

Good catch--fixed


CSRF_ENABLED = True

7 changes: 7 additions & 0 deletions src/application/static/css/main.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

/* Main stylesheet */

html {background-color: #333;}
body {background-color: #fff; margin: 2em auto; width: 960px; padding: 1em; border: 8px solid #ccc;}

/* Your customizations here */
281 changes: 281 additions & 0 deletions src/application/static/css/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
/*
style.css contains a reset, font normalization and some base styles.
credit is left where credit is due.
additionally, much inspiration was taken from these projects:
yui.yahooapis.com/2.8.1/build/base/base.css
camendesign.com/design/
praegnanz.de/weblog/htmlcssjs-kickstart
*/

/*
html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark
html5doctor.com/html-5-reset-stylesheet/
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display:block;
}

nav ul { list-style:none; }

blockquote, q { quotes:none; }

blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }

a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }

ins { background-color:#ff9; color:#000; text-decoration:none; }

mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }

/* tables still need cellspacing="0" in the markup */
table { border-collapse:collapse; border-spacing:0; }

hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }

input, select { vertical-align:middle; }
/* END RESET CSS */


/* fonts.css from the YUI Library: developer.yahoo.com/yui/
Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages
There are three custom edits:
* remove arial, helvetica from explicit font stack
* we normalize monospace styles ourselves
* table font-size is reset in the HTML5 reset above so there is no need to repeat
*/
body { font:13px/1.231 sans-serif; *font-size:small; } /* hack retained to preserve specificity */

select, input, textarea, button { font:99% sans-serif; }

/* normalize monospace sizing
* en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome
*/
pre, code, kbd, samp { font-family: monospace, sans-serif; }


/*
* minimal base styles
*/


body, select, input, textarea {
/* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */
color: #444;
/* set your base font here, to apply evenly
/* font-family: Georgia, serif; */
}

/* Headers (h1,h2,etc) have no default font-size or margin,
you'll want to define those yourself. */
h1,h2,h3,h4,h5,h6 { font-weight: bold; }

/* always force a scrollbar in non-IE */
html { overflow-y: scroll; }


/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: none; }

a, a:active, a:visited { color: #607890; }
a:hover { color: #036; }


ul, ol { margin-left: 1.8em; }
ol { list-style-type: decimal; }

small { font-size: 85%; }
strong, th { font-weight: bold; }

td, td img { vertical-align: top; }

sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }

pre {
padding: 15px;

/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
word-wrap: break-word; /* IE */
}

textarea { overflow: auto; } /* thnx ivannikolic! www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */

.ie6 legend, .ie7 legend { margin-left: -7px; } /* thnx ivannikolic! */

/* align checkboxes, radios, text inputs with their label
by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }

/* hand cursor on clickable input elements */
label, input[type=button], input[type=submit], button { cursor: pointer; }

/* webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea { margin: 0; }

/* colors for form validity */
input:valid, textarea:valid { }
input:invalid, textarea:invalid {
border-radius: 1px;
-moz-box-shadow: 0px 0px 5px red;
-webkit-box-shadow: 0px 0px 5px red;
box-shadow: 0px 0px 5px red;
}
.no-boxshadow input:invalid,
.no-boxshadow textarea:invalid { background-color: #f0dddd; }


/* These selection declarations have to be separate.
No text-shadow: twitter.com/miketaylr/status/12228805301
Also: hot pink. */
::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; }
::selection { background:#FF5E99; color:#fff; text-shadow: none; }

/* j.mp/webkit-tap-highlight-color */
a:link { -webkit-tap-highlight-color: #FF5E99; }

/* make buttons play nice in IE:
www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
button { width: auto; overflow: visible; }

/* bicubic resizing for non-native sized IMG:
code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode: bicubic; }



/*
* Non-semantic helper classes
*/

/* for image replacement */
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }

/* Hide for both screenreaders and browsers
css-discuss.incutio.com/wiki/Screenreader_Visibility */
.hidden { display: none; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders
www.webaim.org/techniques/css/invisiblecontent/
Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */
.visuallyhidden { position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px); }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* >> The Magnificent CLEARFIX << j.mp/phayesclearfix */
.clearfix:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
.clearfix { zoom: 1; }






/* Primary Styles
Author:
*/











/*
* print styles
* inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/
*/
@media print {
* { background: transparent !important; color: #444 !important; text-shadow: none !important; }

a, a:visited { color: #444 !important; text-decoration: underline; }

a:after { content: " (" attr(href) ")"; }

abbr:after { content: " (" attr(title) ")"; }

.ir a:after { content: ""; } /* Don't show links for images */

pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }

thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */

tr, img { page-break-inside: avoid; }

@page { margin: 0.5cm; }

p, h2, h3 { orphans: 3; widows: 3; }

h2, h3{ page-break-after: avoid; }
}



/*
* Media queries for responsive design
*/

@media all and (orientation:portrait) {
/* Style adjustments for portrait mode goes here */

}

@media all and (orientation:landscape) {
/* Style adjustments for landscape mode goes here */

}

/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome)
Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
@media screen and (max-device-width: 480px) {


/* Uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you
j.mp/textsizeadjust
html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
}

Binary file added src/application/static/img/favicon.ico
Binary file not shown.
Binary file added src/application/static/img/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Loading

0 comments on commit b03273d

Please sign in to comment.