From 3319a578b9faaf6dc5c764b86b132a01db92589e Mon Sep 17 00:00:00 2001 From: Francesco Siddi Date: Mon, 16 Apr 2018 16:23:19 +0200 Subject: [PATCH] Move secondary navigation rendering to a macro --- src/templates/nodes/custom/blog/_macros.pug | 30 +++------------- .../nodes/custom/blog/index_main_project.pug | 2 +- src/templates/projects/_macros.pug | 36 +++++++++++++++++++ 3 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 src/templates/projects/_macros.pug diff --git a/src/templates/nodes/custom/blog/_macros.pug b/src/templates/nodes/custom/blog/_macros.pug index 81207735..1874e221 100644 --- a/src/templates/nodes/custom/blog/_macros.pug +++ b/src/templates/nodes/custom/blog/_macros.pug @@ -1,32 +1,12 @@ //- ******************************************************* -// -| {% macro render_blog_post(node, project=None) %} +| {% import 'projects/_macros.html' as projectmacros %} +| {% macro render_blog_post(node, project=None, pages=None) %} | {% if node.picture %} a.blog_index-header(href="{{ node.url }}") img(src="{{ node.picture.thumbnail('l', api=api) }}") | {% endif %} | {% if project and project._id != config.MAIN_PROJECT_ID %} -nav.navbar-secondary - .navbar-container - nav.collapse.navbar-collapse - ul.nav.navbar-nav.navbar-right - li - a.navbar-item( - href="{{ url_for('projects.view', project_url='hero') }}", - title="Hero Homepage") - span - b Hero - li - a.navbar-item.active( - href="{{ url_for('main.project_blog', project_url=project.url) }}", - title="Project Blog", - class="{% if category == 'blog' %}active{% endif %}") - span Blog - li - a.navbar-item( - href="{{ url_for('main.project_blog', project_url=project.url) }}", - title="Project Blog", - class="{% if category == 'blog' %}active{% endif %}") - span Explore +| {{ projectmacros.render_secondary_navigation(project, pages=pages) }} | {% endif %} .blog_index-item a.item-title( @@ -83,7 +63,7 @@ nav.navbar-secondary //- ******************************************************* -// -| {% macro render_blog_index(project, posts, can_create_blog_posts, api, more_posts_available, posts_meta) %} +| {% macro render_blog_index(project, posts, can_create_blog_posts, api, more_posts_available, posts_meta, pages=None) %} | {% if can_create_blog_posts %} .blog-action a.btn.btn-default.button-create(href="{{url_for('nodes.posts_create', project_id=project._id)}}") @@ -92,7 +72,7 @@ nav.navbar-secondary | {% endif %} | {% if posts %} -| {{ render_blog_post(posts[0], project=project) }} +| {{ render_blog_post(posts[0], project=project, pages=pages) }} | {% for node in posts[1:] %} | {% if loop.first %} diff --git a/src/templates/nodes/custom/blog/index_main_project.pug b/src/templates/nodes/custom/blog/index_main_project.pug index 3d27d2cd..64b239fc 100644 --- a/src/templates/nodes/custom/blog/index_main_project.pug +++ b/src/templates/nodes/custom/blog/index_main_project.pug @@ -13,7 +13,7 @@ link(href="{{ url_for('static_cloud', filename='assets/css/project-landing.css') .container-fluid.blog #blog_container.cloud-blog #blog_index-container.expand-image-links - | {{ blogmacros.render_blog_index(project, posts, can_create_blog_posts, api, more_posts_available, posts_meta) }} + | {{ blogmacros.render_blog_index(project, posts, can_create_blog_posts, api, more_posts_available, posts_meta, pages=pages) }} | {% endblock %} | {% block footer_scripts %} diff --git a/src/templates/projects/_macros.pug b/src/templates/projects/_macros.pug new file mode 100644 index 00000000..93a6b51d --- /dev/null +++ b/src/templates/projects/_macros.pug @@ -0,0 +1,36 @@ +| {% macro render_secondary_navigation(project, pages=None) %} +nav.navbar-secondary + .navbar-container + nav.collapse.navbar-collapse + ul.nav.navbar-nav.navbar-right + li + a.navbar-item( + href="{{ url_for('projects.view', project_url=project.url) }}", + title="{{ project.name }} Homepage") + span + b {{ project.name }} + li + a.navbar-item( + href="{{ url_for('main.project_blog', project_url=project.url) }}", + title="Project Blog", + class="{% if category == 'blog' %}active{% endif %}") + span Blog + | {% if pages %} + | {% for p in pages %} + li + a.navbar-item( + href="{{ url_for('projects.view_node', project_url=project.url, node_id=p._id) }}", + title="{{ p.name }}", + class="{% if category == 'page' %}active{% endif %}") + span {{ p.name }} + | {% endfor %} + | {% endif %} + | {% if project.nodes_featured %} + li + a.navbar-item( + href="{{ url_for('projects.view_node', project_url=project.url, node_id=project.nodes_featured[0]) }}", + title="Explore {{ project.name }}", + class="{% if category == 'blog' %}active{% endif %}") + span Explore + | {% endif %} +| {% endmacro %}