Introducing Pillar Framework
Refactor of pillar-server and pillar-web into a single python package. This simplifies the overall architecture of pillar applications. Special thanks @sybren and @venomgfx
This commit is contained in:
4
src/templates/errors/403.jade
Normal file
4
src/templates/errors/403.jade
Normal file
@@ -0,0 +1,4 @@
|
||||
| {% extends "errors/layout.html" %}
|
||||
| {% block body %}
|
||||
| {% include "errors/403_embed.html" %}
|
||||
| {% endblock %}
|
25
src/templates/errors/403_embed.jade
Normal file
25
src/templates/errors/403_embed.jade
Normal file
@@ -0,0 +1,25 @@
|
||||
#error_container.403
|
||||
#error_box
|
||||
.error-top-container
|
||||
.error-title Sorry to bother you, but...
|
||||
|
||||
.error-lead.
|
||||
This content is only available to Cloud subscribers.<br/>
|
||||
Get full access to the Blender Cloud for only $9.90 per month.
|
||||
|
||||
.buttons
|
||||
a.sign-up.btn.btn-outline(href="https://store.blender.org/product/membership/")
|
||||
i.pi-check
|
||||
| Subscribe Now
|
||||
|
||||
| {% if not current_user.is_authenticated %}
|
||||
a.sign-in.btn.btn-empty(href="{{ url_for('users.login') }}")
|
||||
i.pi-log-in
|
||||
| Log in
|
||||
| {% endif %}
|
||||
|
||||
hr
|
||||
|
||||
.error-lead.extra.
|
||||
If you have just subscribed, please <a href="{{ url_for('users.logout') }}">log out</a> and in again.<br/>
|
||||
For any other issue get in touch with <a href="mailto:cloudsupport@blender.org">cloudsupport@blender.org</a>
|
17
src/templates/errors/404.jade
Normal file
17
src/templates/errors/404.jade
Normal file
@@ -0,0 +1,17 @@
|
||||
| {% extends "errors/layout.html" %}
|
||||
| {% block body %}
|
||||
#error_container.404.standalone
|
||||
#error_box
|
||||
.error-top-container
|
||||
.error-title Not found.
|
||||
.error-lead
|
||||
p.
|
||||
The error has been logged and we're working on getting it fixed.
|
||||
hr
|
||||
p.
|
||||
Looking for the Open Movies? Check out <a href="https://www.youtube.com/BlenderFoundation">Blender Foundation's YouTube</a> channel. <br/> Were you looking for tutorials instead? <a href="http://www.blender.org/support/tutorials/">blender.org</a> has a good selection.
|
||||
|
||||
|
||||
.error-lead.extra.
|
||||
We'll be back soon, in the meantime follow <a href="https://twitter.com/Blender_Cloud">@Blender_Cloud</a> for updates.
|
||||
| {% endblock %}
|
12
src/templates/errors/404_embed.jade
Normal file
12
src/templates/errors/404_embed.jade
Normal file
@@ -0,0 +1,12 @@
|
||||
#error_container.404
|
||||
#error_box
|
||||
.error-title 404. Not Found.
|
||||
|
||||
.error-lead.
|
||||
Whatever you're looking for, it's not here.
|
||||
|
||||
hr
|
||||
|
||||
.error-lead.extra.
|
||||
Is this content missing? Let us know on <a href="https://twitter.com/Blender_Cloud">Twitter</a>
|
||||
or email <a href="mailto:cloudsupport@blender.org">cloudsupport@blender.org</a>
|
42
src/templates/errors/500.jade
Normal file
42
src/templates/errors/500.jade
Normal file
@@ -0,0 +1,42 @@
|
||||
doctype
|
||||
html(lang="en")
|
||||
head
|
||||
meta(charset="utf-8")
|
||||
title Blender Cloud
|
||||
meta(name="viewport", content="width=device-width, initial-scale=1.0")
|
||||
meta(name="description", content="Blender Cloud is a web based service developed by Blender Institute that allows people to access the training videos and all the data from the past open projects.")
|
||||
meta(name="author", content="Blender Institute")
|
||||
meta(name="theme-color", content="#3e92aa")
|
||||
|
||||
script.
|
||||
!function(e){"use strict";e.loadCSS=function(t,n,o){var r,i=e.document,l=i.createElement("link");if(n)r=n;else{var d=(i.body||i.getElementsByTagName("head")[0]).childNodes;r=d[d.length-1]}var a=i.styleSheets;l.rel="stylesheet",l.href=t,l.media="only x",r.parentNode.insertBefore(l,n?r:r.nextSibling);var f=function(e){for(var t=l.href,n=a.length;n--;)if(a[n].href===t)return e();setTimeout(function(){f(e)})};return l.onloadcssdefined=f,f(function(){l.media=o||"all"}),l},"undefined"!=typeof module&&(module.exports=e.loadCSS)}(this);
|
||||
|
||||
loadCSS( "//fonts.googleapis.com/css?family=Roboto:300,400,500" );
|
||||
loadCSS( "//fonts.googleapis.com/css?family=Lato:300,400" );
|
||||
|
||||
link(href="{{ url_for('static_pillar', filename='assets/ico/favicon.png') }}", rel="shortcut icon")
|
||||
link(href="{{ url_for('static_pillar', filename='assets/ico/apple-touch-icon-precomposed.png') }}", rel="icon apple-touch-icon-precomposed", sizes="192x192")
|
||||
|
||||
link(href="{{ url_for('static_pillar', filename='assets/css/main.css') }}", rel="stylesheet")
|
||||
|
||||
body.error
|
||||
|
||||
#error_container.500.standalone
|
||||
#error_box
|
||||
.error-top-container
|
||||
.error-title Something went wrong.
|
||||
.error-lead
|
||||
p.
|
||||
The error has been logged and we're working on getting it fixed.
|
||||
hr
|
||||
p.
|
||||
Looking for the Open Movies? Check out <a href="https://www.youtube.com/BlenderFoundation">Blender Foundation's YouTube</a> channel. <br/> Were you looking for tutorials instead? <a href="http://www.blender.org/support/tutorials/">blender.org</a> has a good selection.
|
||||
|
||||
|
||||
.error-lead.extra.
|
||||
We'll be back soon, in the meantime follow <a href="https://twitter.com/Blender_Cloud">@Blender_Cloud</a> for updates.
|
||||
|
||||
|
||||
noscript
|
||||
link(href='//fonts.googleapis.com/css?family=Roboto:300,400,500', rel='stylesheet', type='text/css')
|
||||
link(href='//fonts.googleapis.com/css?family=Lato:300,400', rel='stylesheet', type='text/css')
|
27
src/templates/errors/layout.jade
Normal file
27
src/templates/errors/layout.jade
Normal file
@@ -0,0 +1,27 @@
|
||||
doctype
|
||||
html(lang="en")
|
||||
head
|
||||
meta(charset="utf-8")
|
||||
title Blender Cloud
|
||||
meta(name="viewport", content="width=device-width, initial-scale=1.0")
|
||||
meta(name="description", content="Blender Cloud is a web based service developed by Blender Institute that allows people to access the training videos and all the data from the past open projects.")
|
||||
meta(name="author", content="Blender Institute")
|
||||
meta(name="theme-color", content="#3e92aa")
|
||||
|
||||
script.
|
||||
!function(e){"use strict";e.loadCSS=function(t,n,o){var r,i=e.document,l=i.createElement("link");if(n)r=n;else{var d=(i.body||i.getElementsByTagName("head")[0]).childNodes;r=d[d.length-1]}var a=i.styleSheets;l.rel="stylesheet",l.href=t,l.media="only x",r.parentNode.insertBefore(l,n?r:r.nextSibling);var f=function(e){for(var t=l.href,n=a.length;n--;)if(a[n].href===t)return e();setTimeout(function(){f(e)})};return l.onloadcssdefined=f,f(function(){l.media=o||"all"}),l},"undefined"!=typeof module&&(module.exports=e.loadCSS)}(this);
|
||||
|
||||
loadCSS( "//fonts.googleapis.com/css?family=Roboto:300,400,500" );
|
||||
loadCSS( "//fonts.googleapis.com/css?family=Lato:300,400" );
|
||||
|
||||
link(href="{{ url_for('static_pillar', filename='assets/ico/favicon.png') }}", rel="shortcut icon")
|
||||
link(href="{{ url_for('static_pillar', filename='assets/ico/apple-touch-icon-precomposed.png') }}", rel="icon apple-touch-icon-precomposed", sizes="192x192")
|
||||
|
||||
link(href="{{ url_for('static_pillar', filename='assets/css/main.css') }}", rel="stylesheet")
|
||||
|
||||
body.error
|
||||
| {% block body %}{% endblock %}
|
||||
|
||||
noscript
|
||||
link(href='//fonts.googleapis.com/css?family=Roboto:300,400,500', rel='stylesheet', type='text/css')
|
||||
link(href='//fonts.googleapis.com/css?family=Lato:300,400', rel='stylesheet', type='text/css')
|
Reference in New Issue
Block a user