X-Git-Url: https://git.ao2.it/tweeper.git/blobdiff_plain/efe782e0c9829336f31843a9d0bf9af570776ffb..95985386d97784ef94bcf05d797742814b070610:/rss_converter_twitter.com.xsl?ds=inline diff --git a/rss_converter_twitter.com.xsl b/rss_converter_twitter.com.xsl index 82a16a7..15507f0 100644 --- a/rss_converter_twitter.com.xsl +++ b/rss_converter_twitter.com.xsl @@ -38,19 +38,19 @@ <xsl:variable name="screen-name" select="//div[@class='user-actions btn-group not-following ']/@data-screen-name"/> - <xsl:template match="//*[@data-item-type='tweet']"> + <xsl:template match="//li[@data-item-id and @data-item-type='tweet']"> <xsl:variable name="user-name" select=".//div[contains(@class, 'js-stream-tweet')]/@data-screen-name"/> - <xsl:variable name="tweet-text" select=".//p[contains(@class, 'js-tweet-text')]"/> - <xsl:variable name="tweet-permalink" select="concat($BaseURL, .//a[contains(@class, 'js-permalink')]/@href)"/> + <xsl:variable name="item-content" select=".//p[contains(@class, 'js-tweet-text')]"/> + <xsl:variable name="item-permalink" select="concat($BaseURL, .//div[@data-permalink-path]/@data-permalink-path)"/> <item> <title> - <xsl:value-of select="concat($user-name, ': ', $tweet-text)"/> + <xsl:value-of select="concat($user-name, ': ', $item-content)"/> </title> <link> - <xsl:value-of select="$tweet-permalink"/> + <xsl:value-of select="$item-permalink"/> </link> <guid> - <xsl:value-of select="$tweet-permalink"/> + <xsl:value-of select="$item-permalink"/> </guid> <pubDate> <xsl:variable name="timestamp" select=".//span[contains(@class, 'js-short-timestamp')]/@data-time"/> @@ -59,17 +59,26 @@ <description> <xsl:value-of select="concat($user-name, ': ')"/> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text> - <xsl:copy-of select="$tweet-text/node()"/> + <xsl:copy-of select="$item-content/node()"/> <xsl:text disable-output-escaping="yes">]]></xsl:text> </description> <xsl:if test="$generateEnclosure = 1"> - <xsl:apply-templates select="$tweet-text//a[@data-expanded-url]"/> + <xsl:apply-templates select="$item-content//a[@data-expanded-url]"/> </xsl:if> </item> </xsl:template> <xsl:template match="/"> - <xsl:variable name="channel-title" select="concat('Twitter / ', $screen-name)"/> + <xsl:variable name="channel-title"> + <xsl:choose> + <xsl:when test="$screen-name != ''"> + <xsl:value-of select="concat('Twitter / ', $screen-name)"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="concat('Twitter / ', normalize-space(//h1[1]))"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> <xsl:variable name="channel-link" select="//link[@rel='canonical']/@href"/> <rss version="2.0"> @@ -83,7 +92,7 @@ <xsl:value-of select="$channel-link"/> </link> <description> - <xsl:value-of select="//meta[@name='description']/@content"/> + <xsl:value-of select="normalize-space(//div[@class='ProfileHeaderCard'])"/> </description> <image> <title> @@ -96,7 +105,7 @@ <xsl:value-of select="//a[contains(@class, 'profile-picture media-thumbnail')]/@href"/> </url> </image> - <xsl:apply-templates select="//*[@data-item-type='tweet']"/> + <xsl:apply-templates select="//ol[@id='stream-items-id']/li[@data-item-id and @data-item-type='tweet']"/> </channel> </rss> </xsl:template>