Fork of Chiri for Astro for my blog
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 107 lines 4.4 kB view raw
1<?xml version="1.0" encoding="utf-8"?> 2<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3 <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" /> 4 <xsl:template match="/"> 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head> 7 <title><xsl:value-of select="/rss/channel/title" /> - RSS Feed</title> 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> 10 <style type="text/css"> 11 body { 12 font-family: 'Inter', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 13 Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 14 margin: 0 auto; 15 margin-top: 6em; 16 background-color: #fff; 17 font-size: 0.9375rem; 18 line-height: 1.45; 19 color: rgba(0, 0, 0, 0.85); 20 max-width: 22.5rem; 21 } 22 .header { 23 display: flex; 24 justify-content: space-between; 25 align-items: center; 26 } 27 .divider { 28 margin: 2em 0; 29 width: 100%; 30 height: 1px; 31 background: repeating-linear-gradient( 32 to right, 33 currentColor 0, 34 currentColor 3px, 35 transparent 3px, 36 transparent 6px 37 ); 38 opacity: 0.12; 39 } 40 .title { 41 font-size: 1.0625rem; 42 font-weight: 600; 43 } 44 .description { 45 margin-bottom: 1.45em; 46 } 47 .footer { 48 font-size: 0.8125rem; 49 opacity: 0.475; 50 } 51 @media (prefers-color-scheme: dark) { 52 body { 53 background-color: #1c1c1c; 54 color: #fff; 55 } 56 } 57 </style> 58 </head> 59 <body> 60 <div class="channel-meta"> 61 <div class="header"> 62 <span class="title"> 63 <xsl:value-of select="/rss/channel/title" /> 64 </span> 65 <span class="rss-icon"> 66 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"> 67 <path fill="#F18F48" 68 d="M5 21q-.825 0-1.412-.587T3 19t.588-1.412T5 17t1.413.588T7 19t-.587 1.413T5 21m13.5 0q-.65 0-1.088-.475T16.9 19.4q-.275-2.425-1.312-4.537T12.9 11.1T9.138 8.413T4.6 7.1q-.65-.075-1.125-.512T3 5.5t.45-1.062t1.075-.363q3.075.275 5.763 1.563t4.737 3.337t3.338 4.738t1.562 5.762q.05.625-.363 1.075T18.5 21m-6 0q-.625 0-1.075-.437T10.85 19.5q-.225-1.225-.787-2.262T8.65 15.35t-1.888-1.412T4.5 13.15q-.625-.125-1.062-.575T3 11.5q0-.65.45-1.075t1.075-.325q1.825.25 3.413 1.063t2.837 2.062t2.063 2.838t1.062 3.412q.1.625-.325 1.075T12.5 21" /> 69 </svg> 70 </span> 71 </div> 72 <div class="divider"></div> 73 <div class="description"> 74 To subscribe, copy the URL from the address bar and add it to your feed reader. 75 </div> 76 77 <div class="footer"> 78 <span>Last Updated: </span> 79 <xsl:variable name="dateStr" select="/rss/channel/lastBuildDate" /> 80 <xsl:variable name="year" select="substring($dateStr, 13, 4)" /> 81 <xsl:variable name="month" select="substring($dateStr, 9, 3)" /> 82 <xsl:variable name="day" select="substring($dateStr, 6, 2)" /> 83 <xsl:variable name="monthNum"> 84 <xsl:choose> 85 <xsl:when test="$month='Jan'">01</xsl:when> 86 <xsl:when test="$month='Feb'">02</xsl:when> 87 <xsl:when test="$month='Mar'">03</xsl:when> 88 <xsl:when test="$month='Apr'">04</xsl:when> 89 <xsl:when test="$month='May'">05</xsl:when> 90 <xsl:when test="$month='Jun'">06</xsl:when> 91 <xsl:when test="$month='Jul'">07</xsl:when> 92 <xsl:when test="$month='Aug'">08</xsl:when> 93 <xsl:when test="$month='Sep'">09</xsl:when> 94 <xsl:when test="$month='Oct'">10</xsl:when> 95 <xsl:when test="$month='Nov'">11</xsl:when> 96 <xsl:when test="$month='Dec'">12</xsl:when> 97 </xsl:choose> 98 </xsl:variable> 99 <xsl:value-of select="concat($year, '.', $monthNum, '.', $day)" /> 100 </div> 101 102 </div> 103 104 </body> 105 </html> 106 </xsl:template> 107</xsl:stylesheet>