diff --git a/pillar/web/nodes/custom/posts.py b/pillar/web/nodes/custom/posts.py
index 37d8c921..4b909ccd 100644
--- a/pillar/web/nodes/custom/posts.py
+++ b/pillar/web/nodes/custom/posts.py
@@ -2,6 +2,7 @@ from pillarsdk import Node
from pillarsdk import Project
from pillarsdk.exceptions import ResourceNotFound
from flask import abort
+from flask import current_app
from flask import render_template
from flask import redirect
from flask_login import login_required, current_user
@@ -40,6 +41,22 @@ def posts_view(project_id=None, project_url=None, url=None):
'where': {'node_type': 'blog', 'project': project_id},
}, api=api)
+ status_query = "" if blog.has_method('PUT') else ', "properties.status": "published"'
+ posts = Node.all({
+ 'where': '{"parent": "%s" %s}' % (blog._id, status_query),
+ 'embedded': '{"user": 1}',
+ 'sort': '-_created'
+ }, api=api)
+
+ for post in posts._items:
+ post.picture = get_file(post.picture, api=api)
+
+ post['properties']['content'] = pillar.web.nodes.attachments.render_attachments(
+ post, post['properties']['content'])
+
+ # Use the *_main_project.html template for the main blog
+ main_project_template = '_main_project' if project_id == current_app.config['MAIN_PROJECT_ID'] else ''
+
if url:
post = Node.find_one({
'where': {'parent': blog._id, 'properties.url': url},
@@ -58,29 +75,19 @@ def posts_view(project_id=None, project_url=None, url=None):
post, post['properties']['content'])
return render_template(
- 'nodes/custom/post/view.html',
+ 'nodes/custom/post/view{0}.html'.format(main_project_template),
blog=blog,
node=post,
+ posts=posts._items,
project=project,
title='blog',
api=api)
else:
node_type_post = project.get_node_type('post')
- status_query = "" if blog.has_method('PUT') else ', "properties.status": "published"'
- posts = Node.all({
- 'where': '{"parent": "%s" %s}' % (blog._id, status_query),
- 'embedded': '{"user": 1}',
- 'sort': '-_created'
- }, api=api)
-
- for post in posts._items:
- post.picture = get_file(post.picture, api=api)
-
- post['properties']['content'] = pillar.web.nodes.attachments.render_attachments(
- post, post['properties']['content'])
+ template_path = 'nodes/custom/blog/index.html'
return render_template(
- 'nodes/custom/blog/index.html',
+ 'nodes/custom/blog/index{0}.html'.format(main_project_template),
node_type_post=node_type_post,
posts=posts._items,
project=project,
diff --git a/src/styles/_project.sass b/src/styles/_project.sass
index 3205dfe2..624169bc 100644
--- a/src/styles/_project.sass
+++ b/src/styles/_project.sass
@@ -169,8 +169,6 @@ $project-sidebar-background: lighten($color-background, 5%)
width: $project_nav-width
position: relative
background-color: $project-sidebar-background
-
- color: white
left: 0
&.about
@@ -2663,3 +2661,17 @@ section.node-children
.file_delete, .file_original
display: block
+
+/* Project blog overrides */
+#project_context
+ #blog_container
+ padding: 0
+ #blog_index-container,
+ #blog_post-container
+ width: 100%
+ padding: 0
+ border: none
+ border-radius: 0
+
+ .blog_index-header
+ border-radius: 0
diff --git a/src/styles/blog.sass b/src/styles/blog.sass
index 9152adaa..b2dba30c 100644
--- a/src/styles/blog.sass
+++ b/src/styles/blog.sass
@@ -8,7 +8,6 @@
#blog_container
- margin: 0
padding:
top: 15px
bottom: 15px
@@ -362,8 +361,6 @@
weight: 300
margin: 0 20px 15px 0
-
-
#blog_index-sidebar
width: 25%
padding: 0 15px
@@ -437,8 +434,6 @@
img.background
width: 100%
- // We can't have nice things because of Edge
- // filter: blur(5px)
transform: scale(1.4)
.card-thumbnail
diff --git a/src/styles/plugins/_jstree.sass b/src/styles/plugins/_jstree.sass
index 10220654..b0897343 100644
--- a/src/styles/plugins/_jstree.sass
+++ b/src/styles/plugins/_jstree.sass
@@ -52,9 +52,14 @@ $tree-color-highlight-background-text: white
color: darken($tree-color-highlight, 5%)
border-bottom: 2px solid $tree-color-highlight
+ &:hover
+ border-bottom-color: lighten($tree-color-highlight, 5%)
+
.jstree-anchor
- padding: 3px 8px
- .jstree-icon.jstree-themeicon
+ padding: 5px 8px 1px 8px
+ &:after
+ top: 3px !important
+ .jstree-icon
display: none
/* Brief moment when a node is being loaded */
@@ -63,7 +68,7 @@ $tree-color-highlight-background-text: white
/* Items at top level */
&.jstree-leaf
- .jstree-icon.jstree-themeicon
+ .jstree-icon
opacity: 1
width: 24px !important
@@ -120,7 +125,7 @@ $tree-color-highlight-background-text: white
width: 98%
padding: 0 !important
- .jstree-themeicon
+ .jstree-icon
margin: 0 !important
font-size: 95% !important
color: $color-text-dark-secondary
@@ -130,7 +135,7 @@ $tree-color-highlight-background-text: white
background-color: $tree-color-highlight-background !important
color: $tree-color-highlight-background-text !important
- .jstree-ocl, .jstree-themeicon
+ .jstree-ocl, .jstree-icon
color: $tree-color-highlight-background-text !important
&:after
@@ -147,7 +152,7 @@ $tree-color-highlight-background-text: white
/* hover an active item */
&.jstree-hovered,
- &.jstree-hovered .jstree-icon.jstree-themeicon
+ &.jstree-hovered .jstree-icon
color: $tree-color-highlight-background-text !important
box-shadow: none
@@ -198,6 +203,11 @@ $tree-color-highlight-background-text: white
&:after
display: none
+ &.blog
+ .jstree-anchor
+ &:hover, &:hover i
+ color: $tree-color-highlight
+
.jstree-loading
padding: 5px
color: $color-text-light-secondary
@@ -219,7 +229,7 @@ $tree-color-highlight-background-text: white
/* hovered text */
.jstree-default .jstree-hovered,
.jstree-default .jstree-open .jstree-hovered,
-.jstree-default .jstree-hovered .jstree-icon.jstree-themeicon
+.jstree-default .jstree-hovered .jstree-icon
color: $tree-color-highlight !important
diff --git a/src/templates/join_agent.jade b/src/templates/join_agent.jade
index 478d192b..2c0d01a1 100644
--- a/src/templates/join_agent.jade
+++ b/src/templates/join_agent.jade
@@ -1,5 +1,5 @@
| {% set title = 'join' %}
-link(href="{{ url_for('static_pillar', filename='assets/css/main.css', v=291120162) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/main.css', v=11220161) }}", rel="stylesheet")
| {% block body %}
#page-container.join
diff --git a/src/templates/layout.jade b/src/templates/layout.jade
index 14a10354..65405971 100644
--- a/src/templates/layout.jade
+++ b/src/templates/layout.jade
@@ -37,8 +37,8 @@ html(lang="en")
loadCSS( "//fonts.googleapis.com/css?family=Roboto:300,400" );
- script(src="{{ url_for('static_pillar', filename='assets/js/markdown.min.js', v=291120162) }}")
- script(src="{{ url_for('static_pillar', filename='assets/js/tutti.min.js', v=291120162) }}")
+ script(src="{{ url_for('static_pillar', filename='assets/js/markdown.min.js', v=11220161) }}")
+ script(src="{{ url_for('static_pillar', filename='assets/js/tutti.min.js', v=11220161) }}")
link(href="{{ url_for('static', filename='assets/img/favicon.png') }}", rel="shortcut icon")
link(href="{{ url_for('static', filename='assets/img/apple-touch-icon-precomposed.png') }}", rel="icon apple-touch-icon-precomposed", sizes="192x192")
@@ -48,12 +48,12 @@ html(lang="en")
| {% block head %}{% endblock %}
| {% block css %}
- link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=291120162) }}", rel="stylesheet")
- link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=291120162) }}", rel="stylesheet")
+ link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=11220161) }}", rel="stylesheet")
+ link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=11220161) }}", rel="stylesheet")
| {% if title == 'blog' %}
- link(href="{{ url_for('static_pillar', filename='assets/css/blog.css', v=291120162) }}", rel="stylesheet")
+ link(href="{{ url_for('static_pillar', filename='assets/css/blog.css', v=11220161) }}", rel="stylesheet")
| {% else %}
- link(href="{{ url_for('static_pillar', filename='assets/css/main.css', v=291120162) }}", rel="stylesheet")
+ link(href="{{ url_for('static_pillar', filename='assets/css/main.css', v=11220161) }}", rel="stylesheet")
| {% endif %}
| {% endblock %}
@@ -407,7 +407,7 @@ html(lang="en")
noscript
link(href='//fonts.googleapis.com/css?family=Roboto:300,400', rel='stylesheet', type='text/css')
- script(src="{{ url_for('static_pillar', filename='assets/js/vendor/jquery.bootstrap-3.3.7.min.js') }}")
+ script(src="{{ url_for('static_pillar', filename='assets/js/vendor/jquery.bootstrap-3.3.7.min.js', v=11220161) }}")
script.
$(document).ready(function() {
diff --git a/src/templates/nodes/custom/blog/index.jade b/src/templates/nodes/custom/blog/index.jade
index 245e333a..a61cec14 100644
--- a/src/templates/nodes/custom/blog/index.jade
+++ b/src/templates/nodes/custom/blog/index.jade
@@ -1,130 +1,118 @@
-| {% extends 'layout.html' %}
-
+| {% extends 'projects/view.html' %}
| {% set title = 'blog' %}
-
| {% block page_title %}Blog{% endblock%}
-| {% block body %}
+| {% block css %}
+link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/blog.css', v=11220161) }}", rel="stylesheet")
+| {% endblock %}
-.container
- #blog_container(class="{% if project._id == config.MAIN_PROJECT_ID %}cloud-blog{% endif %}")
+| {% block project_context %}
- #blog_index-container
+#blog_container
- | {% if project._id == config.MAIN_PROJECT_ID and project.node_type_has_method('post', 'POST', api=api) %}
- a.btn.btn-default.button-create(href="{{url_for('nodes.posts_create', project_id=project._id)}}")
- i.pi-plus
- | Create New Post
- | {% endif %}
+ #blog_index-container
- | {% if posts %}
-
- | {% for node in posts %}
-
- | {% if loop.first %}
- | {% if node.picture %}
- .blog_index-header
- img(src="{{ node.picture.thumbnail('l', api=api) }}")
- | {% endif %}
- .blog_index-item
- a.item-title(
- href="{{ url_for_node(node=node) }}")
- | {{node.name}}
-
- .item-info.
- {{node._created | pretty_date }}
- {% if node._created != node._updated %}
- (updated {{node._updated | pretty_date }})
- {% endif %}
- {% if node.properties.category %}| {{node.properties.category}}{% endif %}
- | by {{node.user.full_name}}
- | Leave a comment
- {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
-
- .item-content
- | {{node.properties.content}}
-
- .item-meta
- a(href="{{ url_for_node(node=node) }}#comments") Leave a comment
-
- | {% else %}
-
- | {% if loop.index == 2 %}
- h4.blog_index-title Blasts from the past
- | {% endif %}
-
- .blog_index-item.list
- | {% if node.picture %}
- .item-header
- img.image(src="{{ node.picture.thumbnail('s', api=api) }}")
- | {% else %}
- .item-header.nothumb
- i.pi-document-text
- | {% endif %}
- a.item-title(
- href="{{ url_for_node(node=node) }}")
- | {{node.name}}
-
- .item-info.
- {{node._created | pretty_date }}
- {% if node._created != node._updated %}
- (updated {{node._updated | pretty_date }})
- {% endif %}
- {% if node.properties.category %}| {{node.properties.category}}{% endif %}
- | by {{node.user.full_name}}
- {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
-
- | {% endif %} {# loop #}
-
- | {% endfor %} {# posts #}
-
- | {% else %}
-
- .blog_index-item
- .item-content No posts yet.
-
- | {% endif %} {# posts #}
-
- | {% if project._id != config.MAIN_PROJECT_ID %}
- #blog_index-sidebar
- .blog_project-card
- a.item-header(
- href="{{ url_for('projects.view', project_url=project.url) }}")
-
- .overlay
- | {% if project.picture_header %}
- img.background(src="{{ project.picture_header.thumbnail('m', api=api) }}")
- | {% endif %}
-
- a.card-thumbnail(
- href="{{ url_for('projects.view', project_url=project.url) }}")
- | {% if project.picture_square %}
- img.thumb(src="{{ project.picture_square.thumbnail('m', api=api) }}")
- | {% endif %}
-
- .item-info
-
- a.item-title(
- href="{{ url_for('projects.view', project_url=project.url) }}")
- | {{ project.name }}
-
- | {% if project.summary %}
- p.item-description
- | {{project.summary|safe}}
- | {% endif %}
-
- | {% if project.node_type_has_method('post', 'POST', api=api) %}
- .blog_project-sidebar
- a.btn.btn-default.button-create(href="{{url_for('nodes.posts_create', project_id=project._id)}}")
- | Create New Post
- | {% endif %}
+ | {% if project.node_type_has_method('post', 'POST', api=api) %}
+ a.btn.btn-default.button-create(href="{{url_for('nodes.posts_create', project_id=project._id)}}")
+ i.pi-plus
+ | Create New Post
| {% endif %}
+ | {% if posts %}
+
+ | {% for node in posts %}
+
+ | {% if loop.first %}
+ | {% if node.picture %}
+ .blog_index-header
+ img(src="{{ node.picture.thumbnail('l', api=api) }}")
+ | {% endif %}
+ .blog_index-item
+ a.item-title(
+ href="{{ url_for_node(node=node) }}")
+ | {{node.name}}
+
+ .item-info.
+ {{node._created | pretty_date }}
+ {% if node._created != node._updated %}
+ (updated {{node._updated | pretty_date }})
+ {% endif %}
+ {% if node.properties.category %}| {{node.properties.category}}{% endif %}
+ | by {{node.user.full_name}}
+ | Leave a comment
+ {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
+
+ .item-content
+ | {{node.properties.content}}
+
+ .item-meta
+ a(href="{{ url_for_node(node=node) }}#comments") Leave a comment
+
+ | {% else %}
+
+ | {% if loop.index == 2 %}
+ h4.blog_index-title Blasts from the past
+ | {% endif %}
+
+ .blog_index-item.list
+ | {% if node.picture %}
+ .item-header
+ img.image(src="{{ node.picture.thumbnail('s', api=api) }}")
+ | {% else %}
+ .item-header.nothumb
+ i.pi-document-text
+ | {% endif %}
+ a.item-title(
+ href="{{ url_for_node(node=node) }}")
+ | {{node.name}}
+
+ .item-info.
+ {{node._created | pretty_date }}
+ {% if node._created != node._updated %}
+ (updated {{node._updated | pretty_date }})
+ {% endif %}
+ {% if node.properties.category %}| {{node.properties.category}}{% endif %}
+ | by {{node.user.full_name}}
+ {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
+
+ | {% endif %} {# loop #}
+
+ | {% endfor %} {# posts #}
+
+ | {% else %}
+
+ .blog_index-item
+ .item-content No posts yet.
+
+ | {% endif %} {# posts #}
+
+| {% endblock %}
+
+| {% block project_tree %}
+#project_tree.jstree.jstree-default.blog
+ ul.jstree-container-ul.jstree-children
+ li.jstree-node.jstree-leaf(data-node-type="page")
+ a.jstree-anchor.jstree-clicked(
+ href="{{ url_for('main.project_blog', project_url=project.url) }}") Blog
+
+ | {% for post in posts %}
+ li.jstree-node
+ a.jstree-anchor(
+ href="{{ url_for_node(node=post) }}")
+ i.jstree-icon.pi-document-text
+ | {{ post.name }}
+ | {% endfor %}
+
+ li.jstree-node(data-node-type="page")
+ a.jstree-anchor(
+ href="{{ url_for('projects.view', project_url=project.url) }}")
+ i.jstree-icon.pi-folder
+ | Browse Project
| {% endblock %}
| {% block footer_scripts %}
-
include ../_scripts
-script hopToTop(); // Display jump to top button
-
| {% endblock %}
diff --git a/src/templates/nodes/custom/blog/index_main_project.jade b/src/templates/nodes/custom/blog/index_main_project.jade
new file mode 100644
index 00000000..2726897f
--- /dev/null
+++ b/src/templates/nodes/custom/blog/index_main_project.jade
@@ -0,0 +1,95 @@
+| {% extends 'layout.html' %}
+
+| {% set title = 'blog' %}
+
+| {% block page_title %}Blog{% endblock%}
+
+| {% block body %}
+
+.container
+ #blog_container.cloud-blog
+
+ #blog_index-container
+
+ | {% if project.node_type_has_method('post', 'POST', api=api) %}
+ a.btn.btn-default.button-create(href="{{url_for('nodes.posts_create', project_id=project._id)}}")
+ i.pi-plus
+ | Create New Post
+ | {% endif %}
+
+ | {% if posts %}
+
+ | {% for node in posts %}
+
+ | {% if loop.first %}
+ | {% if node.picture %}
+ .blog_index-header
+ img(src="{{ node.picture.thumbnail('l', api=api) }}")
+ | {% endif %}
+ .blog_index-item
+ a.item-title(
+ href="{{ url_for_node(node=node) }}")
+ | {{node.name}}
+
+ .item-info.
+ {{node._created | pretty_date }}
+ {% if node._created != node._updated %}
+ (updated {{node._updated | pretty_date }})
+ {% endif %}
+ {% if node.properties.category %}| {{node.properties.category}}{% endif %}
+ | by {{node.user.full_name}}
+ | Leave a comment
+ {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
+
+ .item-content
+ | {{node.properties.content}}
+
+ .item-meta
+ a(href="{{ url_for_node(node=node) }}#comments") Leave a comment
+
+ | {% else %}
+
+ | {% if loop.index == 2 %}
+ h4.blog_index-title Blasts from the past
+ | {% endif %}
+
+ .blog_index-item.list
+ | {% if node.picture %}
+ .item-header
+ img.image(src="{{ node.picture.thumbnail('s', api=api) }}")
+ | {% else %}
+ .item-header.nothumb
+ i.pi-document-text
+ | {% endif %}
+ a.item-title(
+ href="{{ url_for_node(node=node) }}")
+ | {{node.name}}
+
+ .item-info.
+ {{node._created | pretty_date }}
+ {% if node._created != node._updated %}
+ (updated {{node._updated | pretty_date }})
+ {% endif %}
+ {% if node.properties.category %}| {{node.properties.category}}{% endif %}
+ | by {{node.user.full_name}}
+ {% if node.properties.status != 'published' %} | {{ node.properties.status}} {% endif %}
+
+ | {% endif %} {# loop #}
+
+ | {% endfor %} {# posts #}
+
+ | {% else %}
+
+ .blog_index-item
+ .item-content No posts yet.
+
+ | {% endif %} {# posts #}
+
+| {% endblock %}
+
+| {% block footer_scripts %}
+
+include ../_scripts
+script hopToTop(); // Display jump to top button
+
+| {% endblock %}
diff --git a/src/templates/nodes/custom/post/view.jade b/src/templates/nodes/custom/post/view.jade
index b77c8871..ab4ef764 100644
--- a/src/templates/nodes/custom/post/view.jade
+++ b/src/templates/nodes/custom/post/view.jade
@@ -1,4 +1,90 @@
-| {% extends 'layout.html' %}
+| {% extends 'projects/view.html' %}
+| {% set title = 'blog' %}
| {% block page_title %}{{node.name}} - Blog{% endblock%}
-include view_embed
+| {% block css %}
+link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/blog.css', v=11220161) }}", rel="stylesheet")
+| {% endblock %}
+
+| {% block project_context %}
+#blog_container(class="{% if project._id == config.MAIN_PROJECT_ID %}cloud-blog{% endif %}")
+
+ #blog_post-container
+ | {% if project._id == config.MAIN_PROJECT_ID %}
+ a.btn.btn-default.button-back(href="{{ url_for('projects.view', project_url=project.url) }}blog")
+ | Back to Blog
+
+ | {% if node.has_method('PUT') %}
+ a.btn.btn-default.button-edit(href="{{url_for('nodes.posts_edit', post_id=node._id)}}")
+ i.pi-edit
+ | Edit Post
+ | {% endif %}
+
+ .clearfix
+ | {% endif %}
+
+ | {% if node.picture %}
+ .blog_index-header
+ img(src="{{ node.picture.thumbnail('l', api=api) }}")
+ | {% endif %}
+ .blog_index-item
+
+ .item-title
+ | {{node.name}}
+
+ .item-info.
+ {{node._created | pretty_date }}
+ {% if node._created != node._updated %}
+ (updated {{node._updated | pretty_date }})
+ {% endif %}
+ {% if node.properties.category %}| {{node.properties.category}}{% endif %}
+ | by {{node.user.full_name}}
+
+ .item-content
+ | {{ node.properties.content }}
+
+
+ #comments-embed
+ #comments-list-items-loading
+ i.pi-spin
+| {% endblock %}
+
+| {% block project_tree %}
+#project_tree.jstree.jstree-default.blog
+ ul.jstree-container-ul.jstree-children
+ li.jstree-node.jstree-leaf(data-node-type="page")
+ a.jstree-anchor(
+ href="{{ url_for('main.project_blog', project_url=project.url) }}") Blog
+
+ | {% for post in posts %}
+ li.jstree-node
+ a.jstree-anchor(
+ href="{{ url_for_node(node=post) }}",
+ class="{% if post._id == node._id %}jstree-clicked{% endif %}")
+ i.jstree-icon.pi-document-text
+ | {{ post.name }}
+ | {% endfor %}
+
+ li.jstree-node(data-node-type="page")
+ a.jstree-anchor(
+ href="{{ url_for('projects.view', project_url=project.url) }}")
+ i.jstree-icon.pi-folder
+ | Browse Project
+| {% endblock %}
+
+| {% block footer_scripts %}
+
+include ../_scripts
+script.
+ {% if project.has_method('PUT') %}
+ /* Edit Button */
+ $('#item_edit').click(function(e){
+ e.preventDefault();
+ $('.button-edit-icon').addClass('pi-spin spin').removeClass('pi-edit');
+ window.location.replace("{{url_for('nodes.posts_edit', post_id=node._id)}}");
+ });
+ {% endif %}
+| {% endblock %}
diff --git a/src/templates/nodes/custom/post/view_main_project.jade b/src/templates/nodes/custom/post/view_main_project.jade
new file mode 100644
index 00000000..b77c8871
--- /dev/null
+++ b/src/templates/nodes/custom/post/view_main_project.jade
@@ -0,0 +1,4 @@
+| {% extends 'layout.html' %}
+| {% block page_title %}{{node.name}} - Blog{% endblock%}
+
+include view_embed
diff --git a/src/templates/projects/view.jade b/src/templates/projects/view.jade
index 89ad6d52..5108f821 100644
--- a/src/templates/projects/view.jade
+++ b/src/templates/projects/view.jade
@@ -13,10 +13,12 @@ meta(property="og:title", content="{{project.name}} - Blender Cloud")
meta(property="og:url", content="{{url_for('projects.view', project_url=project.url, _external=True)}}")
meta(property="og:description", content="{{project.summary}}")
| {% else %}
+| {% if node %}
meta(property="og:title", content="{{node.name}} - Blender Cloud")
meta(property="og:url", content="{{url_for('projects.view_node', project_url=project.url, node_id=node._id)}}")
meta(property="og:description", content="{{node.description}}")
| {% endif %}
+| {% endif %}
| {% endblock %}
| {% block tw %}
@@ -27,9 +29,11 @@ meta(property="twitter:image", content="{{ og_picture.thumbnail('l', api=api) }}
meta(name="twitter:title", content="{{project.name}} on Blender Cloud")
meta(name="twitter:description", content="{{project.summary}}")
| {% else %}
+| {% if node %}
meta(name="twitter:title", content="{{node.name}} on Blender Cloud")
meta(name="twitter:description", content="{{node.description}}")
| {% endif %}
+| {% endif %}
| {% endblock %}
| {% block head %}
@@ -37,9 +41,9 @@ link(href="//cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/themes/default/style.mi
| {% endblock %}
| {% block css %}
-link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=291120162) }}", rel="stylesheet")
-link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=291120162) }}", rel="stylesheet")
-link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v=291120163) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/font-pillar.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/base.css', v=11220161) }}", rel="stylesheet")
+link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v=11220161) }}", rel="stylesheet")
| {% endblock %}
| {% block body %}
@@ -91,12 +95,13 @@ link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v
a(href="{{url_for('projects.view', project_url=project.url, _external=True)}}")
| {{ project.name }}
+ | {% block project_tree %}
#project_tree
+ | {% endblock %}
| {% endif %}
.project_split(title="Toggle Navigation [T]")
-
#project_context-container
| {% if project.has_method('PUT') %}
#project_context-header
@@ -197,9 +202,11 @@ link(href="{{ url_for('static_pillar', filename='assets/css/project-main.css', v
| {% endif %}
#project_context
+ | {% block project_context %}
| {% if show_project %}
| {% include "projects/view_embed.html" %}
| {% endif %}
+ | {% endblock %}
#overlay-mode-move-container
.overlay-container
@@ -224,15 +231,17 @@ script(src="//releases.flowplayer.org/6.0.5/flowplayer.min.js")
| {% if project.has_method('PUT') %}
| {# JS containing the Edit, Add, Featured, and Move functions #}
-script(type="text/javascript", src="{{ url_for('static_pillar', filename='assets/js/project-edit.min.js', v=291120162) }}")
+script(type="text/javascript", src="{{ url_for('static_pillar', filename='assets/js/project-edit.min.js', v=11220161) }}")
| {% endif %}
script.
{% if show_project %}
ProjectUtils.setProjectAttributes({projectId: "{{project._id}}", isProject: true, nodeId: ''});
{% else %}
+ {% if node %}
ProjectUtils.setProjectAttributes({projectId: "{{project._id}}", isProject: false, nodeId: '{{node._id}}'});
{% endif %}
+ {% endif %}
var projectTree = document.getElementById('project_tree');