diff options
-rw-r--r-- | blog/urls.py | 1 | ||||
-rw-r--r-- | blog/views.py | 8 | ||||
-rw-r--r-- | templates/blog/base.html | 14 | ||||
-rw-r--r-- | templates/blog/rss.xml | 25 |
4 files changed, 48 insertions, 0 deletions
diff --git a/blog/urls.py b/blog/urls.py index c4137ed..a21c56a 100644 --- a/blog/urls.py +++ b/blog/urls.py @@ -6,4 +6,5 @@ urlpatterns = patterns('blog.views', (r'^post/(?P<post_id>\d+)/$', 'post'), (r'^tags/$', 'tags'), (r'^tag/(?P<tag_name>[\w_]+)/$', 'tag'), + (r'^atom/$', 'atom'), ) diff --git a/blog/views.py b/blog/views.py index 06a4aba..92ac55e 100644 --- a/blog/views.py +++ b/blog/views.py @@ -27,6 +27,14 @@ def index(request, page=0): return direct_to_template(request, "blog/posts.html", c) +def atom(request): + post_list = Post.objects.all().order_by("-postdate")[0:15] + c = { + 'postlist': post_list, + } + + return direct_to_template(request, "blog/rss.xml", c) + def post(request, post_id): post = Post.objects.filter(pk=post_id) t = loader.get_template("blog/posts.html") diff --git a/templates/blog/base.html b/templates/blog/base.html index 2eadc88..e5caf88 100644 --- a/templates/blog/base.html +++ b/templates/blog/base.html @@ -3,3 +3,17 @@ {% block subtitle %} blog {% endblock %} + +{% block extrastyle %} +<link href="/blog/atom/" type="application/atom+xml" rel="alternate" + title="Blog ATOM feed" /> +{% endblock %} + +{% block submenu %} +<div class="container"> + <div class="header"> + blog + </div> + <a href="/blog/atom/">feed</a> +</div> +{% endblock %} diff --git a/templates/blog/rss.xml b/templates/blog/rss.xml new file mode 100644 index 0000000..9cc6df3 --- /dev/null +++ b/templates/blog/rss.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <title>ryuslash.org</title> + <link href="http://ryuslash.org/feed/rss/" rel="self" /> + <link href="http://ryuslash.org/" /> + <id>http://ryuslash.org/blog/</id> + <author> + <name>Tom Willemsen</name> + </author> + <updated>2011-10-29T23:16:00+01:00</updated> + + {% for post in postlist %} + <entry> + <title>{{ post.subject }}</title> + <link href="http://ryuslash.org/blog/post/{{ post.pk }}/" /> + <id>http://ryuslash.org/blog/post/{{ post.pk }}/</id> + <updated>{{ post.postdate|date:"c" }}</updated> + <content type="xhtml" xml:base="http://ryuslash.org/"> + <div xmlns="http://www.w3.org/1999/xhtml"> + {{ post.body|linebreaksbr }} + </div> + </content> + </entry> + {% endfor %} +</feed> |