feeds.naml

<macro name="feeds" requires="servlet">
	<n.node_page.>
		<n.html>
			<head>
				<n.title.><t>Atom feeds for <t.location.page_node.subject/></t></n.title.>
			</head>
			<body>
				<h1><t>Atom feeds for <t.location.page_node.subject/></t></h1>
				<div style="margin-top:1.5em">
					<div class="big-title second-font">
						<img src="/images/feeds.png" width="16" height="16" align="absmiddle" alt="feeds"/>
						<t>Topics only</t>
					</div>
					<a href="[n.page_node.feeds_topics_path/]"><n.request_base_url/><n.page_node.feeds_topics_path/></a>
				</div>
				<div style="margin-top:1.5em">
					<div class="big-title second-font">
						<img src="/images/feeds.png" width="16" height="16" align="absmiddle" alt="feeds"/>
						<t>Topics and replies</t>
					</div>
					<a href="[n.page_node.feeds_posts_path/]"><n.request_base_url/><n.page_node.feeds_posts_path/></a>
				</div>
			</body>
		</n.html>
	</n.node_page.>
</macro>

<macro name="feeds_topics_path" requires="node">
	<n.encode_url.>
		/<n.url_encoded_subject/>-ft<n.id/>.xml
	</n.encode_url.>
</macro>

<macro name="feeds_posts_path" requires="node">
	<n.encode_url.>
		/<n.url_encoded_subject/>-f<n.id/>.xml
	</n.encode_url.>
</macro>

<static>
	feed
	id
	subtitle
	entry
	published
	updated
	author
	name
	content
	thr:in-reply-to
</static>

<macro name="as_atom_feeds" dot_parameter="do" requires="node">
<n.use_html_encoder.>
<![CDATA[<?xml version="1.0" encoding="utf-8"?>]]>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
	<n.xml_response/>
	<id>tag:<n.server_name/>,2006:forum-<n.id/></id>
	<title>Nabble - <n.subject/></title>
	<updated><n.now.as_atom_date_format/></updated>
	<link rel="self" type="application/atom+xml" href="[n.current_url/]" />
	<link rel="alternate" type="text/html" href="[n.url/]" />
	<subtitle type="html"><n.encode.message.message_as_html/></subtitle>
	<n.do/>
</feed>
</n.use_html_encoder.>
</macro>

<macro name="as_atom_entry" requires="node, node_page">
	<n.nop/>
	<entry>
		<id>tag:<n.server_name/>,2006:post-<n.id/></id>
		<title><n.subject/></title>
		<published><n.when_created.as_atom_date_format/></published>
		<updated><n.atom_entry_updated_value/></updated>
		<author>
			<name><n.owner.name/></name>
		</author>
		<content type="html">
			<n.encode.message_with_signature/>
			<n.if.not.this_node.get_app_node.equals.page_node>
				<then.encode.>
					<p>Posted in <n.get_app_node.node_link/></p>
				</then.encode.>
			</n.if.not.this_node.get_app_node.equals.page_node>
		</content>
		<link rel="alternate" type="text/html" href="[n.url/]" />
		<n.if.parent_node.is_post>
			<then><thr:in-reply-to ref="tag:[n.server_name/],2006:post-[n.parent_node.id/]"/></then>
		</n.if.parent_node.is_post>
	</entry>
</macro>

<macro name="atom_entry_updated_value" requires="node">
	<n.if.was_updated>
		<then.when_updated.as_atom_date_format/>
		<else.when_created.as_atom_date_format/>
	</n.if.was_updated>
</macro>

<macro name="as_atom_date_format" requires="date">
	<n.custom_format format="yyyy-MM-dd'T'HH:mm:ss'Z'"/>
</macro>

<macro name="atom_topics_by_date" requires="servlet" unindent="true">
	<n.node_page.>
		<n.app_caching/>
		<n.page_node.as_atom_feeds.>
			<n.page_node.topics_list.
				start="0"
				length="[n.atom_length/]"
				sort="last-node-date"
			>
				<n.loop.current_node.as_atom_entry/>
			</n.page_node.topics_list.>
		</n.page_node.as_atom_feeds.>
	</n.node_page.>
</macro>

<macro name="atom_posts_by_date" requires="servlet" unindent="true">
	<n.node_page.>
		<n.app_caching/>
		<n.page_node.as_atom_feeds.>
			<n.page_node.post_list.
				start="0"
				length="[n.atom_length/]"
				sort="date-descending"
			>
				<n.loop.current_node.as_atom_entry/>
			</n.page_node.post_list.>
		</n.page_node.as_atom_feeds.>
	</n.node_page.>
</macro>

<macro name="atom_length">
	<n.default. to="35">
		<n.get_parameter name="length"/>
	</n.default.>
</macro>