Fork of Chiri for Astro for my blog
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>