fixing a mess
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
{{if start>0:}}{{=A(T('previous %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start-step)),_class="btn")}}{{pass}}
|
||||
{{if stop<nrows:}}{{=A(T('next %s rows') % step,_href=URL('select',args=request.args[0],vars=dict(start=start+step)),_class="btn")}}{{pass}}
|
||||
{{if rows:}}
|
||||
<div style="overflow:auto; width:80%;">
|
||||
<div style="overflow: auto;" width="80%">
|
||||
{{linkto = lambda f, t, r: URL('update', args=[request.args[0], r, f]) if f else "#"}}
|
||||
{{upload=URL('download',args=request.args[0])}}
|
||||
{{=SQLTABLE(rows,linkto,upload,orderby=True,_class='sortable')}}
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
{{extend 'layout_b.html'}}
|
||||
|
||||
<div class="page-header">
|
||||
<h1>Some navigation examples</h1>
|
||||
</div>
|
||||
<p class="lead">By using <code>bs3.menu()</code> we can build several navigation types: <code>navbars</code>, <code>tabbed navigations</code> and <code>pills navigations</code>.</p>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div id="myTab" class="col-md-10 col-md-offset-1">
|
||||
<h2><span class="muted-text">Navbar</span></h2>
|
||||
<br>
|
||||
<nav class="navbar navbar-default" role="navigation">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="#">Brand</a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
{{
|
||||
nav1 = [LI(A('Link', _href='#'), _class='active'),
|
||||
LI(A('Link', _href='#')),
|
||||
('', False, A('Dropdown', _href='#'),[
|
||||
LI(A('Action', _href="#")),
|
||||
LI(A('Another action', _href="#")),
|
||||
LI(A('Something else here', _href="#")),
|
||||
LI(_class="divider"),
|
||||
LI(A('Separated link', _href="#")),
|
||||
LI(_class="divider"),
|
||||
LI(A('One more separated link', _href="#"))
|
||||
])
|
||||
]
|
||||
nav2 = [LI(A('Link', _href='#')),
|
||||
('', False, A('Dropdown', _href='#'),[
|
||||
LI(A('Action', _href="#")),
|
||||
LI(A('Another action', _href="#")),
|
||||
LI(A('Something else here', _href="#")),
|
||||
LI(_class="divider"),
|
||||
LI(A('Separated link', _href="#"))
|
||||
])
|
||||
]
|
||||
=bs3.menu(menu_list=nav1)}}
|
||||
<form class="navbar-form navbar-left" role="search">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Submit</button>
|
||||
</form>
|
||||
{{=bs3.menu(add_classes='pull-right',menu_list=nav2)}}
|
||||
</div><!-- /.navbar-collapse -->
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div id="myTab" class="col-md-10 col-md-offset-1">
|
||||
<h2><span class="muted-text">Tabs</span></h2>
|
||||
<br>
|
||||
{{=bs3.menu('tabs','nav-justified',test_tabs)}}
|
||||
<div id="myTabContent" class="tab-content">
|
||||
<div class="tab-pane fade" id="home">
|
||||
<p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="profile">
|
||||
<p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="dropdown1">
|
||||
<p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
|
||||
</div>
|
||||
<div class="tab-pane fade active in" id="dropdown2">
|
||||
<p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-10 col-md-offset-1">
|
||||
<h2><span class="muted-text">Pills</span></h2>
|
||||
<br>
|
||||
{{
|
||||
nav3 = [LI(A('Home', _href='#'), _class='active'),
|
||||
LI(A('Help', _href='#')),
|
||||
('', False, A('Dropdown', _href='#'),[
|
||||
LI(A('Action', _href="#")),
|
||||
LI(A('Another action', _href="#")),
|
||||
LI(A('Something else here', _href="#")),
|
||||
LI(_class="divider"),
|
||||
LI(A('Separated link', _href="#"))
|
||||
])
|
||||
]
|
||||
}}
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{{=bs3.menu('pills',menu_list=nav3)}}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{{=bs3.menu('pills','pull-right nav-stacked', nav3)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,18 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<h2>{{=T(request.function.replace('_',' ').capitalize())}}</h2>
|
||||
<p class="lead"> </p>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{{=form}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{block page_js}}
|
||||
<script>
|
||||
jQuery("#web2py_user_form input:visible:enabled:first").focus();
|
||||
</script>
|
||||
{{end page_js}}
|
||||
@@ -0,0 +1 @@
|
||||
{{extend 'layout_c.html'}}
|
||||
@@ -1,35 +1,50 @@
|
||||
{{left_sidebar_enabled,right_sidebar_enabled=False,('message' in globals())}}
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
{{if 'message' in globals():}}
|
||||
<h3>{{=message}}</h3>
|
||||
|
||||
<h4>{{=T('How did you get here?')}}</h4>
|
||||
<ol>
|
||||
<li>{{=T('You are successfully running web2py')}}</li>
|
||||
<li>{{=XML(T('You visited the url %s', A(request.env.path_info,_href=request.env.path_info)))}}</li>
|
||||
<li>{{=XML(T('Which called the function %s located in the file %s',
|
||||
(A(request.function+'()',_href='#'),
|
||||
A('web2py/applications/%(application)s/controllers/%(controller)s.py'%request,
|
||||
_href=URL('admin','default','peek', args=(request.application,'controllers',request.controller+'.py'))))))}}</li>
|
||||
<li>{{=XML(T('The output of the file is a dictionary that was rendered by the view %s',
|
||||
A('web2py/applications/%(application)s/views/%(controller)s/index.html'%request,
|
||||
_href=URL('admin','default','peek',args=(request.application,'views',request.controller,'index.html')))))}}</li>
|
||||
<li>{{=T('You can modify this application and adapt it to your needs')}}</li>
|
||||
</ol>
|
||||
{{elif 'content' in globals():}}
|
||||
{{=content}}
|
||||
{{else:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
|
||||
{{block right_sidebar}}
|
||||
{{=A(T("Administrative Interface"), _href=URL('admin','default','index'), _class='btn',
|
||||
_style='margin-top: 1em;')}}
|
||||
<h6>{{=T("Don't know what to do?")}}</h6>
|
||||
<ul>
|
||||
<li>{{=A(T("Online examples"), _href=URL('examples','default','index'))}}</li>
|
||||
<li><a href="http://web2py.com">web2py.com</a></li>
|
||||
<li><a href="http://web2py.com/book">{{=T('Documentation')}}</a></li>
|
||||
</ul>
|
||||
{{end}}
|
||||
{{left_sidebar_enabled,right_sidebar_enabled=False,('message' in globals())}}
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
{{block head}}
|
||||
<style>
|
||||
#w2padmin-btn {margin:30px 0 30px 0;}
|
||||
</style>
|
||||
{{end head}}
|
||||
|
||||
{{if 'message' in globals():}}
|
||||
<h2>{{=message}}</h2>
|
||||
<p class="lead">{{=T('How did you get here?')}}</p>
|
||||
<ol>
|
||||
<li>{{=T('You are successfully running web2py')}}</li>
|
||||
<li>{{=XML(T('You visited the url %s', A(request.env.path_info,_href=request.env.path_info)))}}</li>
|
||||
<li>{{=XML(T('Which called the function %s located in the file %s',
|
||||
(A(request.function+'()',_href='#'),
|
||||
A('web2py/applications/%(application)s/controllers/%(controller)s.py'%request,
|
||||
_href=URL('admin','default','peek', args=(request.application,'controllers',request.controller+'.py'))))))}}</li>
|
||||
<li>{{=XML(T('The output of the file is a dictionary that was rendered by the view %s',
|
||||
A('web2py/applications/%(application)s/views/%(controller)s/index.html'%request,
|
||||
_href=URL('admin','default','peek',args=(request.application,'views',request.controller,'index.html')))))}}</li>
|
||||
<li>{{=T('You can modify this application and adapt it to your needs')}}</li>
|
||||
</ol>
|
||||
{{elif 'content' in globals():}}
|
||||
{{=content}}
|
||||
{{else:}}
|
||||
{{=BEAUTIFY(response._vars)}}
|
||||
{{pass}}
|
||||
|
||||
{{block right_sidebar}}
|
||||
<button id="w2padmin-btn" class="btn btn-primary btn-lg btn-block">
|
||||
<i class="glyphicon glyphicon-cog"></i> {{=T("Administrative Interface")}}</button>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">{{=T("Don't know what to do?")}}</div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">{{=A(T("Online examples"), _href=URL('examples','default','index'))}}</li>
|
||||
<li class="list-group-item"><a href="http://web2py.com">web2py.com</a></li>
|
||||
<li class="list-group-item"><a href="http://web2py.com/book">{{=T('Documentation')}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{block page_js}}
|
||||
<script>
|
||||
$('#w2padmin-btn').click(function() {
|
||||
window.location = "{{=URL('admin','default','index')}}";
|
||||
});
|
||||
</script>
|
||||
{{end}}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{{bs3_table = SQLTABLE(records, _class='table table-striped table-bordered table-hover table-condensed')}}
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<div class="table-responsive">
|
||||
{{=bs3_table}}
|
||||
</div>
|
||||
@@ -1,25 +1,34 @@
|
||||
{{extend 'layout.html'}}
|
||||
|
||||
<h2>{{=T( request.args(0).replace('_',' ').capitalize() )}}</h2>
|
||||
<div id="web2py_user_form">
|
||||
{{
|
||||
if request.args(0)=='login' and not session.auth_2_factor_user:
|
||||
if not 'register' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Register'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn')
|
||||
pass
|
||||
if not 'request_reset_password' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn')
|
||||
pass
|
||||
pass
|
||||
=form
|
||||
}}
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div id="web2py_user_form" class="col-lg-6">
|
||||
{{
|
||||
if request.args(0)=='login':
|
||||
if not 'register' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Register'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default')
|
||||
pass
|
||||
if not 'request_reset_password' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default')
|
||||
pass
|
||||
pass
|
||||
=form
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script language="javascript"><!--
|
||||
jQuery("#web2py_user_form input:visible:enabled:first").focus();
|
||||
|
||||
|
||||
{{block page_js}}
|
||||
<script>
|
||||
jQuery("#web2py_user_form input:visible:enabled:first").focus();
|
||||
{{if request.args(0)=='register':}}
|
||||
web2py_validate_entropy(jQuery('#auth_user_password'),100);
|
||||
{{elif request.args(0) in ('change_password','reset_password'):}}
|
||||
{{elif request.args(0)=='change_password':}}
|
||||
web2py_validate_entropy(jQuery('#no_table_new_password'),100);
|
||||
{{pass}}
|
||||
//--></script>
|
||||
</script>
|
||||
{{end page_js}}
|
||||
|
||||
|
||||
@@ -6,169 +6,139 @@
|
||||
<!--[if IE 8]><html class="ie ie8 ie-lte9 ie-lte8 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if IE 9]><html class="ie9 ie-lte9 no-js" lang="{{=T.accepted_language or 'en'}}"> <![endif]-->
|
||||
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="{{=T.accepted_language or 'en'}}"> <!--<![endif]-->
|
||||
<head>
|
||||
<title>{{=response.title or request.application}}</title>
|
||||
<!--[if !HTML5]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge{{=not request.is_local and ',chrome=1' or ''}}">
|
||||
<![endif]-->
|
||||
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
|
||||
<!-- Always force latest IE rendering engine
|
||||
(even in intranet) & Chrome Frame
|
||||
Remove this if you use the .htaccess -->
|
||||
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
|
||||
<meta name="application-name" content="{{=request.application}}" />
|
||||
|
||||
<!-- Speaking of Google, don't forget to set your site up:
|
||||
http://google.com/webmasters -->
|
||||
<meta name="google-site-verification" content="" />
|
||||
|
||||
<!-- Mobile Viewport Fix
|
||||
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
|
||||
device-width: Occupy full width of the screen in its current orientation
|
||||
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
|
||||
user-scalable = yes allows the user to zoom in -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||||
|
||||
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||||
HTML5 elements & feature detects -->
|
||||
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
|
||||
|
||||
<!-- include stylesheets -->
|
||||
{{
|
||||
response.files.insert(0,URL('static','css/web2py.css'))
|
||||
response.files.insert(1,URL('static','css/bootstrap.min.css'))
|
||||
response.files.insert(2,URL('static','css/bootstrap-responsive.min.css'))
|
||||
response.files.insert(3,URL('static','css/web2py_bootstrap.css'))
|
||||
}}
|
||||
|
||||
{{include 'web2py_ajax.html'}}
|
||||
|
||||
{{
|
||||
# using sidebars need to know what sidebar you want to use
|
||||
left_sidebar_enabled = globals().get('left_sidebar_enabled',False)
|
||||
right_sidebar_enabled = globals().get('right_sidebar_enabled',False)
|
||||
middle_columns = {0:'span12',1:'span9',2:'span6'}[
|
||||
(left_sidebar_enabled and 1 or 0)+(right_sidebar_enabled and 1 or 0)]
|
||||
}}
|
||||
|
||||
<!-- uncomment here to load jquery-ui
|
||||
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-lightness/jquery-ui.css" type="text/css" media="all" />
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
|
||||
uncomment to load jquery-ui //-->
|
||||
<noscript><link href="{{=URL('static', 'css/web2py_bootstrap_nojs.css')}}" rel="stylesheet" type="text/css" /></noscript>
|
||||
{{block head}}{{end}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Navbar ================================================== -->
|
||||
<div class="navbar navbar-inverse">
|
||||
<div class="flash">{{=response.flash or ''}}</div>
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
{{is_mobile=request.user_agent().is_mobile}}
|
||||
<!-- the next tag is necessary for bootstrap menus, do not remove -->
|
||||
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse" style="{{='display:none;' if not is_mobile else ''}}">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{{=response.logo or ''}}
|
||||
<ul id="navbar" class="nav pull-right">{{='auth' in globals() and auth.navbar(mode="dropdown") or ''}}</ul>
|
||||
<div class="{{='nav-collapse' if is_mobile else 'nav'}}">
|
||||
{{if response.menu:}}
|
||||
{{=MENU(response.menu, _class='mobile-menu nav' if is_mobile else 'nav',mobile=is_mobile,li_class='dropdown',ul_class='dropdown-menu')}}
|
||||
{{pass}}
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!--/top navbar -->
|
||||
|
||||
<div class="container">
|
||||
<!-- Masthead ================================================== -->
|
||||
<header class="mastheader row" id="header">
|
||||
{{if response.title:}}
|
||||
<div class="span12">
|
||||
<div class="page-header">
|
||||
<h1>
|
||||
{{=response.title}}
|
||||
<small>{{=response.subtitle or ''}}</small>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
{{pass}}
|
||||
</header>
|
||||
|
||||
<section id="main" class="main row">
|
||||
{{if left_sidebar_enabled:}}
|
||||
<div class="span3 left-sidebar">
|
||||
{{block left_sidebar}}
|
||||
<h3>Left Sidebar</h3>
|
||||
<p></p>
|
||||
{{end}}
|
||||
</div>
|
||||
{{pass}}
|
||||
|
||||
<div class="{{=middle_columns}}">
|
||||
{{block center}}
|
||||
{{include}}
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
{{if right_sidebar_enabled:}}
|
||||
<div class="span3">
|
||||
{{block right_sidebar}}
|
||||
<h3>Right Sidebar</h3>
|
||||
<p></p>
|
||||
{{end}}
|
||||
</div>
|
||||
{{pass}}
|
||||
</section><!--/main-->
|
||||
|
||||
<!-- Footer ================================================== -->
|
||||
<div class="row">
|
||||
<footer class="footer span12" id="footer">
|
||||
<div class="footer-content">
|
||||
{{block footer}} <!-- this is default footer -->
|
||||
<div class="copyright pull-left">{{=T('Copyright')}} © {{=request.now.year}}</div>
|
||||
<div id="poweredBy" class="pull-right">
|
||||
{{=T('Powered by')}}
|
||||
<a href="http://www.web2py.com/">web2py</a>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<!-- www.phpied.com/conditional-comments-block-downloads/ -->
|
||||
<!-- Always force latest IE rendering engine
|
||||
(even in intranet) & Chrome Frame
|
||||
Remove this if you use the .htaccess -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge{{=not request.is_local and ',chrome=1' or ''}}">
|
||||
<!-- Mobile Viewport Fix
|
||||
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
|
||||
device-width: Occupy full width of the screen in its current orientation
|
||||
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
|
||||
user-scalable = yes allows the user to zoom in -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{=response.title or request.application}}</title>
|
||||
<!-- http://dev.w3.org/html5/markup/meta.name.html -->
|
||||
<meta name="application-name" content="{{=request.application}}">
|
||||
<!-- Speaking of Google, don't forget to set your site up:
|
||||
http://google.com/webmasters -->
|
||||
<meta name="google-site-verification" content="">
|
||||
<!-- include stylesheets -->
|
||||
{{
|
||||
response.files.insert(0,URL('static','css/web2py.css'))
|
||||
response.files.insert(1,URL('static','css/bootstrap.min.css'))
|
||||
response.files.insert(3,URL('static','css/bootstrap-theme.min.css'))
|
||||
response.files.insert(4,URL('static','css/web2py-bootstrap3.css'))
|
||||
}}
|
||||
<!-- All JavaScript at the bottom, except for Modernizr which enables
|
||||
HTML5 elements & feature detects -->
|
||||
<script src="{{=URL('static','js/modernizr.custom.js')}}"></script>
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||||
{{include 'web2py_ajax.html'}}
|
||||
{{block head}}{{end}}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="{{=URL('static','js/respond.min.js')}}"></script>
|
||||
<![endif]-->
|
||||
{{
|
||||
# using sidebars need to know what sidebar you want to use
|
||||
mc0 = 'col-md-12'
|
||||
mc1 = 'col-md-9'
|
||||
mc2 = 'col-md-6'
|
||||
left_sidebar_enabled = globals().get('left_sidebar_enabled', False)
|
||||
right_sidebar_enabled = globals().get('right_sidebar_enabled', False)
|
||||
middle_column = {0: mc0, 1: mc1, 2: mc2}[
|
||||
(left_sidebar_enabled and 1 or 0)+(right_sidebar_enabled and 1 or 0)]
|
||||
}}
|
||||
</head>
|
||||
<body>
|
||||
<div class="flash alert centered alert-dismissable">{{=response.flash or ''}}</div>
|
||||
<!-- Navbar =================================================================== -->
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{{=response.logo or ''}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="collapse navbar-collapse navbar-ex1-collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
{{='auth' in globals() and auth.navbar('Welcome',mode='dropdown') or ''}}
|
||||
</ul>
|
||||
{{if response.menu:}}
|
||||
{{=MENU(response.menu, _class='nav navbar-nav',li_class='dropdown',ul_class='dropdown-menu')}}
|
||||
{{pass}}
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- Masthead ================================================================= -->
|
||||
<header class="container">
|
||||
<div class="page-header">
|
||||
{{if response.title:}}
|
||||
<h1>{{=response.title}}
|
||||
<small>{{=response.subtitle or ''}}</small></h1>
|
||||
{{pass}}
|
||||
</div>
|
||||
</header>
|
||||
<!-- Main ===================================================================== -->
|
||||
<main class="container" id="content" role="main">
|
||||
<div class="row">
|
||||
{{if left_sidebar_enabled:}}
|
||||
<!-- left sidebar ---------------------------------------------------------- -->
|
||||
<div class="col-md-3">
|
||||
{{block left_sidebar}}
|
||||
{{end left_sidebar}}
|
||||
</div>
|
||||
{{pass}}
|
||||
<!-- central column -------------------------------------------------------- -->
|
||||
<div class="{{=middle_column}}">
|
||||
{{block center_page}}
|
||||
{{include}}
|
||||
{{end center_page}}
|
||||
</div>
|
||||
{{if right_sidebar_enabled:}}
|
||||
<!-- right sidebar --------------------------------------------------------- -->
|
||||
<div class="col-md-3">
|
||||
{{block right_sidebar}}
|
||||
{{end right_sidebar}}
|
||||
</div>
|
||||
{{pass}}
|
||||
</div>
|
||||
</main>
|
||||
<!-- Footer =================================================================== -->
|
||||
<footer id="footer" class="container">
|
||||
<div class="row">
|
||||
{{block footer}}
|
||||
<div class="col-xs-6">
|
||||
<p>{{=T('Copyright')}} © {{=request.now.year}}</p>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<p class="pull-right">{{=T('Powered by')}} <a href="http://www.web2py.com/">web2py</a></p>
|
||||
</div>
|
||||
{{end footer}}
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
<!-- The javascript =============================================
|
||||
(Placed at the end of the document so the pages load faster) -->
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py_bootstrap.js')}}"></script>
|
||||
<!--[if lt IE 7 ]>
|
||||
<script src="{{=URL('static','js/dd_belatedpng.js')}}"></script>
|
||||
<script> DD_belatedPNG.fix('img, .png_bg'); //fix any <img> or .png_bg background-images </script>
|
||||
<![endif]-->
|
||||
|
||||
{{if response.google_analytics_id:}}
|
||||
<!-- Google Analytics -->
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', '{{=response.google_analytics_id}}', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
<!-- End Google Analytics -->
|
||||
{{pass}}
|
||||
<script src="{{=URL('static','js/share.js',vars=dict(static=URL('static','images')))}}"></script>
|
||||
</body>
|
||||
<!-- The javascript =========================================================== -->
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap3.js')}}"></script>
|
||||
{{block page_js}}{{end page_js}}
|
||||
{{if response.google_analytics_id:}}
|
||||
<!-- Analytics ================================================================ -->
|
||||
<script src="{{=URL('static','js/analytics.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
analytics.initialize({
|
||||
'Google Analytics':{trackingId:'{{=response.google_analytics_id}}'}
|
||||
});
|
||||
</script>
|
||||
{{pass}}
|
||||
<!-- Share ==================================================================== -->
|
||||
<script src="{{=URL('static','js/share.js',vars=dict(static=URL('static','images')))}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{=T.accepted_language or 'en'}}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||||
|
||||
<title>{{=response.title or request.application}}</title>
|
||||
|
||||
|
||||
{{
|
||||
response.files.insert(0,URL('static','css/web2py.css'))
|
||||
response.files.insert(1,URL('static','css/bootstrap.min.css'))
|
||||
response.files.insert(2,URL('static','css/web2py-bootstrap3-b.css'))
|
||||
}}
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
{{include 'web2py_ajax.html'}}
|
||||
{{block head}}{{end}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Wrap all page content here -->
|
||||
<div id="wrap">
|
||||
|
||||
<!-- Fixed navbar -->
|
||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{{=response.logo or ''}}
|
||||
</div>
|
||||
<div class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
{{='auth' in globals() and bs3.navbar() or ''}}
|
||||
</ul>
|
||||
{{if response.menu:}}
|
||||
{{=bs3.menu()}}
|
||||
{{pass}}
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Begin page content -->
|
||||
<div class="container">
|
||||
|
||||
{{include}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted pull-right">{{=T('Powered by')}} <a href="http://www.web2py.com/">web2py</a></p>
|
||||
|
||||
<p class="text-muted">{{=T('Copyright')}} © {{=request.now.year}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- The javascript =========================================================== -->
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap3.js')}}"></script>
|
||||
{{block page_js}}{{end page_js}}
|
||||
{{if response.google_analytics_id:}}
|
||||
<!-- Analytics ================================================================ -->
|
||||
<script src="{{=URL('static','js/analytics.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
analytics.initialize({
|
||||
'Google Analytics':{trackingId:'{{=response.google_analytics_id}}'}
|
||||
});
|
||||
</script>
|
||||
{{pass}}
|
||||
<!-- Share ==================================================================== -->
|
||||
<script src="{{=URL('static','js/share.js',vars=dict(static=URL('static','images')))}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{=T.accepted_language or 'en'}}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="{{=URL('static','images/favicon.ico')}}" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{=URL('static','images/favicon.png')}}">
|
||||
|
||||
<title>{{=response.title or request.application}}</title>
|
||||
|
||||
|
||||
{{
|
||||
response.files.insert(0,URL('static','css/web2py.css'))
|
||||
response.files.insert(1,URL('static','css/bootstrap.min.css'))
|
||||
response.files.insert(2,URL('static','css/web2py-bootstrap3-c.css'))
|
||||
}}
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
{{include 'web2py_ajax.html'}}
|
||||
<style>
|
||||
.jumbotron h1 {font-size: 58px;}
|
||||
</style>
|
||||
{{block head}}{{end}}
|
||||
{{response.subtitle="Cras justo odio, dapibus ac facilisis in, egestas \
|
||||
eget quam. Fusce dapibus, tellus ac cursus commodo, \
|
||||
tortor mauris condimentum nibh, ut fermentum massa \
|
||||
justo sit amet risus."}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
{{if response.menu:}}
|
||||
{{=bs3.menu('pills','pull-right')}}
|
||||
{{pass}}
|
||||
{{='auth' in globals() and bs3.navbar() or ''}}
|
||||
<h3><a data-w2p_disable_with="default" href="http://www.web2py.com/" id="web2py-logo"><b>web<span>2</span>py</b>™ </a></h3>
|
||||
</div>
|
||||
|
||||
<div class="jumbotron">
|
||||
{{if response.title:}}
|
||||
<h1>{{=response.title}}</h1>
|
||||
<p class="lead">{{=response.subtitle or ''}}</p>
|
||||
{{pass}}
|
||||
|
||||
<p><button id="w2padmin-btn" class="btn btn-lg btn-success ">
|
||||
<i class="glyphicon glyphicon-cog"></i> {{=T("Administrative Interface")}}
|
||||
</button></p>
|
||||
</div>
|
||||
|
||||
<div class="row marketing">
|
||||
<div class="col-lg-6">
|
||||
<h4>{{=T('You are successfully running web2py')}}</h4>
|
||||
<p>{{=T('You can modify this application and adapt it to your needs')}}</p>
|
||||
|
||||
<h4>Subheading</h4>
|
||||
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||
|
||||
<h4>Subheading</h4>
|
||||
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
<h4>{{=T("Don't know what to do?")}}</h4>
|
||||
<p>{{=A(T("Online examples"), _href=URL('examples','default','index'))}}<br>
|
||||
<a href="http://web2py.com">web2py.com</a><br>
|
||||
<a href="http://web2py.com/book">{{=T('Documentation')}}</a></p>
|
||||
|
||||
<h4>Subheading</h4>
|
||||
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||
|
||||
<h4>Subheading</h4>
|
||||
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="a_footer">
|
||||
<p class="pull-right">{{=T('Powered by')}} <a href="http://www.web2py.com/">web2py</a></p>
|
||||
<p>{{=T('Copyright')}} © {{=request.now.year}}</p>
|
||||
</div>
|
||||
|
||||
</div> <!-- /container -->
|
||||
|
||||
|
||||
<!-- The javascript =========================================================== -->
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap3.js')}}"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$(".web2py-menu-first").addClass('active');
|
||||
$("#w2p-auth-bar").parent().appendTo('.nav-pills');
|
||||
$('#w2padmin-btn').click(function() {
|
||||
window.location = "{{=URL('admin','default','index')}}";
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{{block page_js}}{{end page_js}}
|
||||
{{if response.google_analytics_id:}}
|
||||
<!-- Analytics ================================================================ -->
|
||||
<script src="{{=URL('static','js/analytics.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
analytics.initialize({
|
||||
'Google Analytics':{trackingId:'{{=response.google_analytics_id}}'}
|
||||
});
|
||||
</script>
|
||||
{{pass}}
|
||||
<!-- Share ==================================================================== -->
|
||||
<script src="{{=URL('static','js/share.js',vars=dict(static=URL('static','images')))}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user