Browse Source

[feat] rss: add xsl style to view rss in browser

Bnyro 6 months ago
parent
commit
eb59b4604a

+ 59 - 0
searx/static/themes/simple/xsl/rss.xsl

@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:output method="html" version="5" encoding="UTF-8" indent="yes" />
+
+  <xsl:template match="rss">
+	<html xmlns="http://www.w3.org/1999/xhtml">
+        <head>
+            <title><xsl:value-of select="channel/title" /> RSS Feed</title>
+            <meta charset="UTF-8" />
+            <meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1" />
+            <meta name="viewport" content="width=device-width,initial-scale=1" />
+            <style type="text/css">
+				html {
+					background: #fff;
+					color: #444;
+				}
+			
+                a {
+					color: #334999;
+					text-decoration: none;
+				}
+
+				a:hover {
+					text-decoration: underline;
+				}
+            </style>
+        </head>
+        <body>
+            <header>
+                <h2>
+                    <xsl:value-of select="channel/description" />
+                </h2>
+            </header>
+			<hr />
+            <main>
+                <xsl:for-each select="channel/item">
+                    <article>
+                        <h3>
+                            <a hreflang="en" target="_blank">
+                                <xsl:attribute name="href">
+                                    <xsl:value-of select="link" />
+                                </xsl:attribute>
+                                <xsl:value-of select="title" />
+                            </a>
+                        </h3>
+                        <time>
+                            <xsl:value-of select="pubDate" />
+                        </time>
+						<p><xsl:value-of select="description" /></p>
+						<hr />
+                    </article>
+                </xsl:for-each>
+            </main>
+        </body>
+    </html>    
+  </xsl:template>
+
+</xsl:stylesheet>

+ 1 - 0
searx/templates/simple/opensearch_response_rss.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="{{ url_for('static', filename='xsl/rss.xsl') }}" type="text/xsl"?>
 <rss version="2.0"
      xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
      xmlns:atom="http://www.w3.org/2005/Atom">