X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/07eee8a42911deb4a235674dca31fe79b7ced8fc..95985386d97784ef94bcf05d797742814b070610:/rss_converter_dilbert.com.xsl?ds=sidebyside diff --git a/rss_converter_dilbert.com.xsl b/rss_converter_dilbert.com.xsl index 7394b91..f255be1 100644 --- a/rss_converter_dilbert.com.xsl +++ b/rss_converter_dilbert.com.xsl @@ -1,7 +1,7 @@ <!-- Stylesheet to convert Dilbert daily strips to RSS. - Copyright (C) 2013 Antonio Ospite <ospite@studenti.unina.it> + Copyright (C) 2013-2014 Antonio Ospite <ao2@ao2.it> This file is part of tweeper. @@ -34,54 +34,67 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" - xsl:extension-element-prefixes="php"> + xsl:extension-element-prefixes="php" + exclude-result-prefixes="php"> <xsl:output method="xml" indent="yes"/> - <xsl:variable name="BaseURL" select="concat('http://', //meta[@property='og:site_name']/@content)"/> + <xsl:variable name="BaseURL" select="//meta[@property='og:url']/@content"/> - <xsl:template match="//a[@id='strip_zoom']"> - <xsl:variable name="picture-id" select="substring-after(./@href, '#')"/> - <xsl:variable name="picture-element" select="//div[@id=$picture-id]/img"/> - <xsl:variable name="picture-print-url" select="php:functionString('str_replace', 'zoom', 'print', $picture-element/@src)"/> + <xsl:template match="//section[@class='comic-item']"> + <xsl:variable name="item-permalink" select=".//a[@class='img-comic-link']/@href"/> + <xsl:variable name="picture-url" select=".//img[@class='img-responsive img-comic']/@src"/> + <xsl:variable name="picture-title" select=".//img[@class='img-responsive img-comic']/@alt"/> <item> <title> - <xsl:value-of select="$picture-element/@title"/> + <xsl:value-of select="$picture-title"/> </title> <link> - <xsl:value-of select="concat($BaseURL, $picture-element/@src)"/> + <xsl:value-of select="$item-permalink"/> </link> + <guid> + <xsl:value-of select="$item-permalink"/> + </guid> <pubDate> - <xsl:value-of select="php:functionString('Tweeper::str_to_gmdate', substring-after($picture-id, 'strip_enlarged_'))"/> + <xsl:value-of select="php:functionString('Tweeper::str_to_gmdate', normalize-space(.//date))"/> </pubDate> <description> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text> - <img src="{$picture-print-url}" /> + <img src="{$picture-url}" /> <xsl:text disable-output-escaping="yes">]]></xsl:text> </description> </item> </xsl:template> <xsl:template match="/"> + <xsl:variable name="channel-title" select="//meta[@property='og:title']/@content"/> + <xsl:variable name="channel-link" select="$BaseURL"/> <rss version="2.0"> + <xsl:attribute name="xml:base"><xsl:value-of select="$BaseURL" /></xsl:attribute> <channel> <generator>Tweeper</generator> <title> - <xsl:value-of select="//meta[@property='og:title']/@content"/> + <xsl:value-of select="$channel-title"/> </title> <link> - <xsl:value-of select="$BaseURL"/> + <xsl:value-of select="$channel-link"/> </link> <description> <xsl:value-of select="//meta[@property='og:description']/@content"/> </description> <image> + <title> + <xsl:value-of select="$channel-title"/> + </title> + <link> + <xsl:value-of select="$channel-link"/> + </link> <url> - <xsl:value-of select="//meta[@property='og:image']/@content"/> + <xsl:value-of select="concat($BaseURL, //img[@alt='Dilbert logo']/@src)"/> </url> </image> - <xsl:apply-templates select="//a[@id='strip_zoom']"/> + <xsl:apply-templates select="//section[@class='comic-item']"/> </channel> </rss> </xsl:template>