Skip to content

Commit

Permalink
Blog 1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Awilum committed Aug 7, 2020
1 parent 42c8f13 commit cb470ba
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 95 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
<a name="1.3.0"></a>
# [1.3.0](https://github.com/flextype-themes/bootstrap-blog) (2020-08-07)

### Features

* **core** updates for new API and performance boost in 3 times!

<a name="1.2.0"></a>
# [1.2.0](https://github.com/flextype-themes/bootstrap-blog) (2020-08-05)

Expand Down
22 changes: 10 additions & 12 deletions templates/blog-post.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
{% extends 'themes/' ~ registry.get('plugins.site.settings.theme') ~ '/templates/partials/base.html' %}

{% block content %}
{% set blog = entries.fetchCollection('blog') %}
{% set blog_posts_limit = entries.fetchSingle('blog').entries_limit %}
{% if blog_posts_limit == 0 %}
{% set blog_posts_limit = 5 %}
{% endif %}

<h1>{{ entry.title }}</h1>
<div class="blog-post">
{{ entry.content|shortcode|markdown|raw}}
Expand All @@ -26,18 +32,10 @@ <h1>{{ entry.title }}</h1>

{% for tag in tags %}

{% set related_posts = related_posts|merge(entries.fetchCollection('blog', {
'where': {
'key': 'tags',
'expr': 'contains',
'value': tag
},
'and_where': [{
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
}]
})) %}
{% set related_posts = related_posts|merge(collect(blog)
.where('tags', 'contains', tag)
.andWhere('visibility', 'nin', ['draft', 'hidden'])
.limit(blog_posts_limit) ) %}
{% endfor %}

<hr>
Expand Down
110 changes: 28 additions & 82 deletions templates/blog.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

{% set page = query.page %}
{% set tag = query.tag %}
{% set blog = entries.fetchCollection('blog') %}

{% set blog_posts_limit = entries.fetchSingle('blog').entries_limit %}

Expand All @@ -14,59 +15,29 @@
{% endif %}

{% if tag %}

{# @todo get count from cache! #}
{% set blog_posts_length = entries.fetchCollection('blog', {
'where': {
'key': 'tags',
'expr': 'contains',
'value': tag
},
'and_where': [{
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
}]
})|length %}

{% set blog_posts_length = collect(blog)
.where('tags', 'contains', tag)
.andWhere('visibility', 'nin', ['draft', 'hidden'])
.count() %}
{% set blog_posts_pages = (blog_posts_length/blog_posts_limit)|round(0, 'ceil') %}

{% if page < 1 %}
{% set page = 1 %}
{% elseif page > blog_posts_pages %}
{% set page = blog_posts_pages %}
{% endif %}

{% set blog_posts_offset = (page-1)*blog_posts_limit %}
{% if blog_posts_offset < 0 %}{% set blog_posts_offset = 0 %}{% endif %}

{% set blog_posts = entries.fetchCollection('blog', {
'where': {
'key': 'tags',
'expr': 'contains',
'value': tag
},
'and_where': [{
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
}],
'order_by': {
'field': 'published_at',
'direction': 'DESC'
},
'set_max_result': blog_posts_limit,
'set_first_result': blog_posts_offset
}) %}
{% else %}

{# @todo get count from cache! #}
{% set blog_posts_length = entries.fetchCollection('blog', {
'where': {
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
}
})|length %}
{% set blog_posts = collect(blog)
.where('tags', 'contains', tag)
.andWhere('visibility', 'nin', ['draft', 'hidden'])
.orderBy('published_at', 'DESC')
.slice(blog_posts_offset, blog_posts_limit) %}

{% else %}
{% set blog_posts_length = collect(blog).where('visibility', 'nin', ['draft', 'hidden']).count() %}
{% set blog_posts_pages = (blog_posts_length/blog_posts_limit)|round(0, 'ceil') %}

{% if page < 1 %}
Expand All @@ -78,23 +49,13 @@
{% set blog_posts_offset = (page-1)*blog_posts_limit %}
{% if blog_posts_offset < 0 %}{% set blog_posts_offset = 0 %}{% endif %}

{% set blog_posts = entries.fetchCollection('blog', {
'where': {
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
},
'order_by': {
'field': 'published_at',
'direction': 'DESC'
},
'return': 'slice',
'slice_offset_value': blog_posts_offset,
'slice_limit_value': blog_posts_limit}) %}
{% set blog_posts = collect(blog)
.where('visibility', 'nin', ['draft', 'hidden'])
.orderBy('published_at', 'DESC')
.slice(blog_posts_offset, blog_posts_limit) %}

{% endif %}

{# /pagination #}

<div class="row">
<div class="col-md-9">
Expand Down Expand Up @@ -127,41 +88,25 @@ <h3 class="text-left mb-2">About Me</h3>
{{ entry.about_me|raw }}
</p>
{# /about-me #}

{# recent-posts #}
<h3 class="text-left mb-2">Recent Posts</h3>
<ul class="pl-0 list-unstyled">
{% for post in entries.fetchCollection('blog', {
'where': {
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
},
'order_by': {
'field': 'published_at',
'direction': 'DESC'
},
'return': 'limit',
'limit_value': blog_posts_limit
}) %}

{% for post in collect(blog)
.where('visibility', 'nin', ['draft', 'hidden'])
.orderBy('published_at', 'DESC')
.limit(blog_posts_limit) %}
<li class="mb-1"><a href="{{ url() }}/{{ post.slug }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{# /recent-posts #}

{# tags-cloud #}
{% set tags_cloud = [] %}
{% for post in entries.fetchCollection('blog', {
'where': {
'key': 'visibility',
'expr': 'nin',
'value': ['draft', 'hidden']
},
'order_by': {
'field': 'published_at',
'direction': 'DESC'
}
}) %}
{% for post in collect(blog)
.where('visibility', 'nin', ['draft', 'hidden'])
.orderBy('published_at', 'DESC')
.limit(blog_posts_limit) %}
{% set tags_cloud = tags_cloud|merge(post.tags|split(',')) %}
{% endfor %}

Expand All @@ -175,6 +120,7 @@ <h3 class="text-left mb-2">Tags</h3>
</div>
</div>


{# pagination navigation #}
<div class="text-center">
{% if (page - 1) > 0 %}
Expand Down
2 changes: 1 addition & 1 deletion theme.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Bootstrap Blog Theme
version: 1.2.0
version: 1.3.0
description: Twitter Bootstrap Blog theme for Flextype.
author:
name: Sergey Romanenko
Expand Down

0 comments on commit cb470ba

Please sign in to comment.