diff --git a/i2p2www/blog/views.py b/i2p2www/blog/views.py
index cdef7765..c7a890d8 100644
--- a/i2p2www/blog/views.py
+++ b/i2p2www/blog/views.py
@@ -10,22 +10,16 @@ from i2p2www.helpers import Pagination, get_for_page
# Blog views
@cache.memoize(600)
-def blog_index(page):
- all_posts = get_blog_posts()
+def blog_index(page, category=None):
+ all_posts = get_blog_posts(category=category)
posts = get_for_page(all_posts, page, BLOG_POSTS_PER_PAGE)
if not posts and page != 1:
abort(404)
pagination = Pagination(page, BLOG_POSTS_PER_PAGE, len(all_posts))
- return render_template('blog/index.html', pagination=pagination, posts=posts)
-
-@cache.memoize(600)
-def blog_category(category, page):
- category_posts = get_blog_posts(category=category)
- posts = get_for_page(category_posts, page, BLOG_POSTS_PER_PAGE)
- if not posts and page != 1:
- abort(404)
- pagination = Pagination(page, BLOG_POSTS_PER_PAGE, len(category_posts))
- return render_template('blog/category.html', pagination=pagination, posts=posts, category=category)
+ if category:
+ return render_template('blog/category.html', pagination=pagination, posts=posts, category=category)
+ else:
+ return render_template('blog/index.html', pagination=pagination, posts=posts)
@cache.memoize(600)
def blog_post(slug):
diff --git a/i2p2www/pages/global/macros b/i2p2www/pages/global/macros
index aea4273b..49642f19 100644
--- a/i2p2www/pages/global/macros
+++ b/i2p2www/pages/global/macros
@@ -1,6 +1,9 @@
{%- macro change_lang(lang) -%}
{%- if request.endpoint == 'site_show' -%}{{ url_for('site_show', lang=lang, page=page) }}
-{%- elif request.endpoint == 'blog_category' -%}{{ url_for('blog_category', lang=lang, category=category) }}
+{%- elif request.endpoint == 'blog_index' -%}
+ {%- if category -%}{{ url_for('blog_index', lang=lang, category=category) }}
+ {%- else -%}{{ url_for('blog_index', lang=lang) }}
+ {%- endif -%}
{%- elif request.endpoint == 'blog_post' -%}{{ url_for('blog_post', lang=lang, slug=slug) }}
{%- elif request.endpoint == 'meetings_show' -%}{{ url_for('meetings_show', lang=lang, id=id) }}
{%- elif request.endpoint == 'downloads_select' -%}{{ url_for('downloads_select', lang=lang, file=file) }}
@@ -35,7 +38,7 @@
{%- macro render_categories(categories) -%}
{%- if categories and categories|length %}
-{%- for category in categories %}{{ category }}{% if not loop.last %}, {% endif %}{% endfor %}
+{%- for category in categories %}{{ category }}{% if not loop.last %}, {% endif %}{% endfor %}
{%- else %}{{ _('None') }}
{%- endif %}
{%- endmacro %}
diff --git a/i2p2www/urls.py b/i2p2www/urls.py
index 9008d09b..e9127f33 100644
--- a/i2p2www/urls.py
+++ b/i2p2www/urls.py
@@ -40,8 +40,8 @@ url('//', 'views.site_show')
url('//blog/', 'blog.views.blog_index', defaults={'page': 1})
url('//blog/page/', 'blog.views.blog_index')
-url('//blog/category/', 'blog.views.blog_category', defaults={'page': 1})
-url('//blog/category//page/', 'blog.views.blog_category')
+url('//blog/category/', 'blog.views.blog_index', defaults={'page': 1})
+url('//blog/category//page/', 'blog.views.blog_index')
url('//blog/post/', 'blog.views.blog_post')
url('//feed/blog/rss', 'blog.views.blog_rss')
url('//feed/blog/atom', 'blog.views.blog_atom')