| #** |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. The ASF licenses this file to You |
| under the Apache License, Version 2.0 (the "License"); you may not |
| use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. For additional information regarding |
| copyright in this work, please see the NOTICE file in the top level |
| directory of this distribution. |
| *# |
| |
| #** macros for use by Roller's built-in feed templates |
| |
| Contents |
| #showEntriesAtom10() |
| #showEntriesRSS20() |
| #showCommentsAtom10() |
| #showCommentsRSS20() |
| #showFilesAtom10() |
| *# |
| |
| #macro(showEntriesAtom10 $entries) |
| #foreach($entry in $entries) |
| <entry> |
| <id>$entry.permalink</id> |
| <title type="html">$utils.escapeXML($entry.title)</title> |
| <author><name>$entry.creator.screenName</name></author> |
| <link rel="alternate" type="text/html" href="$entry.permalink"/> |
| <published>$utils.formatIso8601Date($entry.pubTime)</published> |
| <updated>$utils.formatIso8601Date($entry.updateTime)</updated> |
| <category term="$utils.escapeXML($entry.category.name)" label="$utils.escapeXML($entry.category.name)" /> |
| #foreach($tag in $entry.tags) |
| <category term="$utils.escapeXML($tag.name)" scheme="http://roller.apache.org/ns/tags/" /> |
| #end |
| #if( $utils.isNotEmpty($entry.summary)) |
| <summary type="html">$utils.escapeXML($entry.transformedSummary)</summary> |
| #end |
| #if( $utils.isNotEmpty($entry.text) ) |
| <content type="html">$utils.escapeXML($entry.transformedText)</content> |
| #end |
| #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") ) |
| #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") ) |
| #set( $mc_length = $entry.findEntryAttribute("att_mediacast_length") ) |
| #if( $mc_url && $mc_length && $mc_type ) |
| <link rel="enclosure" type="$mc_type" length="$mc_length" href="$utils.escapeXML($mc_url)"/> |
| #set($mc_url = false) #set($mc_type = false) #set($mc_length = false)#end |
| </entry> |
| #end |
| #end |
| |
| #macro(showEntriesRSS20 $entries) |
| #foreach($entry in $entries) |
| <item> |
| <guid isPermaLink="true">$entry.permalink</guid> |
| <title>$utils.escapeXML($utils.removeHTML($entry.title))</title> |
| <dc:creator>$utils.escapeXML($entry.creator.screenName)</dc:creator> |
| <link>$entry.permalink</link> |
| #if( $entry.link && !$entry.link.trim().equals("") ) |
| <source url="$utils.escapeXML($entry.link)">$utils.escapeXML($entry.link)</source> |
| #end |
| <pubDate>$utils.formatRfc822Date($entry.pubTime)</pubDate> |
| <category>$utils.escapeXML($entry.category.name)</category> |
| #foreach($tag in $entry.tags) |
| <category>$utils.escapeXML($tag.name)</category> |
| #end |
| #if( $utils.isNotEmpty($entry.summary) && $utils.isNotEmpty($entry.text))<atom:summary type="html">$utils.escapeXML($entry.transformedSummary)</atom:summary>#end |
| #if( $utils.isNotEmpty($entry.summary) && $utils.isEmpty($entry.text))<description>$utils.escapeXML($entry.transformedText)</description>#end |
| #if( $utils.isNotEmpty($entry.text) )<description>$utils.escapeXML($entry.transformedText)</description>#end |
| #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") ) |
| #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") ) |
| #set( $mc_length = $entry.findEntryAttribute("att_mediacast_length") ) |
| #if( $mc_url && $mc_length && $mc_type ) |
| <enclosure url="$utils.escapeXML($mc_url)" type="$mc_type" length="$mc_length" /> |
| #set($mc_url = false) #set($mc_type = false) #set($mc_length = false) |
| #end |
| #if( $website.allowComments ) |
| <comments>$url.comments($entry.anchor)</comments> |
| #end |
| </item> |
| #end |
| #end |
| |
| #macro(showCommentsAtom10 $comments) |
| #foreach($comment in $comments) |
| <entry> |
| <id>${comment.weblogEntry.permalink}#comment-${comment.timestamp}</id> |
| <title type="html">Re: $utils.escapeXML($comment.weblogEntry.title)</title> |
| <author><name>$utils.escapeXML($utils.removeHTML($comment.name))</name></author> |
| <link rel="alternate" type="text/html" href="${comment.weblogEntry.permalink}#comment-${comment.timestamp}"/> |
| <published>$utils.formatIso8601Date($comment.postTime)</published> |
| <updated>$utils.formatIso8601Date($comment.postTime)</updated> |
| <content type="html">$utils.escapeXML($comment.content)</content> |
| </entry> |
| #end |
| #end |
| |
| #macro(showCommentsRSS20 $comments) |
| #foreach($comment in $comments) |
| <item> |
| <guid isPermaLink="true">${comment.weblogEntry.permalink}#comment-${comment.timestamp}</guid> |
| <title>Re: $utils.escapeXML($comment.weblogEntry.title)</title> |
| <dc:creator>$utils.escapeXML($utils.removeHTML($comment.name))</dc:creator> |
| <pubDate>$utils.formatRfc822Date($comment.postTime)</pubDate> |
| <description>$utils.escapeXML($comment.content)</description> |
| </item> |
| #end |
| #end |
| |
| #macro(showFilesAtom10 $mediaFiles) |
| #foreach($file in $mediaFiles) |
| <entry> |
| <id>$file.permalink</id> |
| <title type="html">$utils.escapeXML($file.name)</title> |
| <author><name>$utils.escapeXML($utils.removeHTML($file.creator.screenName))</name></author> |
| <link rel="alternate" type="text/html" href="$file.permalink"/> |
| <published>$utils.formatIso8601Date($file.dateUploaded)</published> |
| <updated>$utils.formatIso8601Date($file.lastUpdated)</updated> |
| #foreach($tag in $file.tags) |
| <category term="$utils.escapeXML($tag.name)" scheme="http://roller.apache.org/ns/tags/" /> |
| #end |
| #if( $utils.isNotEmpty($file.description)) |
| <summary type="html">$utils.escapeXML($file.description)</summary> |
| #end |
| <link rel="enclosure" type="$file.contentType" href="$utils.escapeXML($file.permalink)"/> |
| </entry> |
| #end |
| #end |
| |
| #macro(showFeedHistory $pager) |
| <link rel="first" type="application/atom+xml" href="$utils.escapeXML($pager.url)" /> |
| #if($pager.hasMoreItems()) |
| <link rel="next" type="application/atom+xml" href="$utils.escapeXML($pager.nextLink)" /> |
| #end |
| #if($pager.prevLink && $pager.items.size() > 0) |
| <link rel="previous" type="application/atom+xml" href="$utils.escapeXML($pager.prevLink)" /> |
| #end |
| #end |
| |
| #macro(showFirefoxFeedWorkaround) |
| <!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
| --> |
| #end |