Add category support to the Atom feed
This commit is contained in:
@ -23,8 +23,8 @@ LIST_METATAGS = [
|
|||||||
#####################
|
#####################
|
||||||
# Blog helper methods
|
# Blog helper methods
|
||||||
|
|
||||||
def get_blog_feed_items(num=0):
|
def get_blog_feed_items(num=0, category=None):
|
||||||
posts = get_blog_posts(num, True)
|
posts = get_blog_posts(num, True, category=category)
|
||||||
items = []
|
items = []
|
||||||
for post in posts:
|
for post in posts:
|
||||||
meta = post[1]
|
meta = post[1]
|
||||||
|
@ -45,10 +45,12 @@ def blog_rss():
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
@cache.cached(600)
|
@cache.cached(600)
|
||||||
def blog_atom():
|
def blog_atom(category=None):
|
||||||
# TODO: Only output beginning of each blog post
|
feed_title = 'I2P Blog'
|
||||||
feed = AtomFeed('I2P Blog', feed_url=request.url, url=request.url_root)
|
if category:
|
||||||
items = get_blog_feed_items(10)
|
feed_title = 'I2P Blog Category: %s' % category
|
||||||
|
feed = AtomFeed(feed_title, feed_url=request.url, url=request.url_root)
|
||||||
|
items = get_blog_feed_items(10, category=category)
|
||||||
for item in items:
|
for item in items:
|
||||||
feed.add(item['title'],
|
feed.add(item['title'],
|
||||||
item['content'],
|
item['content'],
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{% extends "blog/index.html" %}
|
{% extends "blog/index.html" %}
|
||||||
{% block title %}{{ _('Blog Category') }}: {{ category }}{% endblock %}
|
{% block title %}{{ _('Blog Category') }}: {{ category }}{% endblock %}
|
||||||
{% block headextra %}
|
{% block headextra %}
|
||||||
|
<link href="{{ get_url('blog_atom', category=category) }}" type="application/atom+xml" rel="alternate" title="{% trans %}I2P Blog ATOM Feed for Category: {{ category }}{% endtrans %}" />
|
||||||
{%- endblock %}
|
{%- endblock %}
|
||||||
|
@ -45,6 +45,7 @@ url('/<lang:lang>/blog/category/<string:category>/page/<int:page>', 'blog.views.
|
|||||||
url('/<lang:lang>/blog/post/<path:slug>', 'blog.views.blog_post')
|
url('/<lang:lang>/blog/post/<path:slug>', 'blog.views.blog_post')
|
||||||
url('/<lang:lang>/feed/blog/rss', 'blog.views.blog_rss')
|
url('/<lang:lang>/feed/blog/rss', 'blog.views.blog_rss')
|
||||||
url('/<lang:lang>/feed/blog/atom', 'blog.views.blog_atom')
|
url('/<lang:lang>/feed/blog/atom', 'blog.views.blog_atom')
|
||||||
|
url('/<lang:lang>/feed/blog/category/<string:category>/atom', 'blog.views.blog_atom')
|
||||||
|
|
||||||
url('/<lang:lang>/meetings/', 'meetings.views.meetings_index', defaults={'page': 1})
|
url('/<lang:lang>/meetings/', 'meetings.views.meetings_index', defaults={'page': 1})
|
||||||
url('/<lang:lang>/meetings/page/<int:page>', 'meetings.views.meetings_index')
|
url('/<lang:lang>/meetings/page/<int:page>', 'meetings.views.meetings_index')
|
||||||
|
Reference in New Issue
Block a user