diff options
-rw-r--r-- | _layouts/default.html | 13 | ||||
-rw-r--r-- | _layouts/xslt.html | 7 | ||||
-rw-r--r-- | _layouts/xslt_container.html | 53 | ||||
-rw-r--r-- | feed.xslt.xml | 118 |
4 files changed, 75 insertions, 116 deletions
diff --git a/_layouts/default.html b/_layouts/default.html index 0b7245a..faf3f86 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,5 +1,6 @@ -<!DOCTYPE html> -<html lang="{{ site.lang | default: "zh-CN" }}"> +--- +layout: xslt_container +--- <head> <meta charset="UTF-8" /> @@ -34,7 +35,7 @@ <!--[if !IE]> --> {% if site.google_analytics %} <!-- Global site tag (gtag.js) - Google Analytics --> - <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script> + <script async="async" src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} @@ -101,7 +102,7 @@ <input type="checkbox" id="load_this" /> <input type="hidden" id="post_id" value="{{ page.url }}" /> <label for="load_this"> - <span style="font-size: 11px; color: #fff;"> 想问这篇文章</span> + <span style="font-size: 11px; color: #fff;"> 想问这篇文章</span> </label> </div> <div class="live_talk_input_text_body"> @@ -136,6 +137,4 @@ <script src="/Live2dHistoire/live2d/js/live2d.js"></script> <script src="/Live2dHistoire/live2d/js/message.js"></script> <!-- <![endif]--> -</body> - -</html> \ No newline at end of file +</body> \ No newline at end of file diff --git a/_layouts/xslt.html b/_layouts/xslt.html new file mode 100644 index 0000000..2bbadd6 --- /dev/null +++ b/_layouts/xslt.html @@ -0,0 +1,7 @@ +--- +layout: default +--- + +{{ content }} +<xsl:apply-templates select="atom:feed/atom:entry" /> +<xsl:apply-templates select="/rss/channel/item" /> \ No newline at end of file diff --git a/_layouts/xslt_container.html b/_layouts/xslt_container.html new file mode 100644 index 0000000..15acba4 --- /dev/null +++ b/_layouts/xslt_container.html @@ -0,0 +1,53 @@ +{% if page.layout == "xslt" %} +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet + version="3.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:atom="http://www.w3.org/2005/Atom"> + <xsl:output method="html" version="4.0" encoding="UTF-8" indent="yes"/> + <xsl:template match="/"> + <html xmlns="http://www.w3.org/1999/xhtml" lang="{{ site.lang | default: "zh-CN" }}"> + {{ content }} + </html> + </xsl:template> + <xsl:template match="atom:feed/atom:entry"> + <div class="item"> + <h2> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="atom:link/@href"/> + </xsl:attribute> + <xsl:value-of select="atom:title"/> + </a> + </h2> + <small class="gray"> + Published at <xsl:value-of select="substring(atom:published, 0, 11)" /> + </small> + <p><xsl:value-of select="atom:summary"/></p> + <hr /> + </div> + </xsl:template> + <xsl:template match="/rss/channel/item"> + <div class="item"> + <h2> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="link"/> + </xsl:attribute> + <xsl:value-of select="title"/> + </a> + </h2> + <small class="gray"> + Published at <xsl:value-of select="substring(pubDate, 0, 17)" /> + </small> + <p><xsl:value-of select="description"/></p> + <hr /> + </div> + </xsl:template> +</xsl:stylesheet> +{% else %} +<!DOCTYPE html> +<html lang="{{ site.lang | default: "zh-CN" }}"> + {{ content }} +</html> +{% endif %} \ No newline at end of file diff --git a/feed.xslt.xml b/feed.xslt.xml index 94bde65..203524c 100644 --- a/feed.xslt.xml +++ b/feed.xslt.xml @@ -1,109 +1,9 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - -# Pretty Atom Feed - -Based on "Pretty RSS Feed": https://github.com/genmon/aboutfeeds/issues/26 - -Styles an Atom feed, making it friendly for humans viewers, and adds a link -to aboutfeeds.com for new user onboarding. See it in action: - -https://nicolas-hoizey.com/feeds/all.xml - ---> -<xsl:stylesheet - version="3.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:atom="http://www.w3.org/2005/Atom"> - <xsl:output method="html" version="4.0" encoding="UTF-8" indent="yes"/> - <xsl:template match="/"> - <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> - <head> - <meta charset="utf-8"/> - <meta name="viewport" content="width=device-width, initial-scale=1"/> - <title> - Web Feed | - <xsl:value-of select="/atom:feed/atom:title"/><xsl:value-of select="/rss/channel/title"/> - </title> - <style type="text/css">*{box-sizing:border-box}body{background-color:#fff;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";line-height:1.5}a{color:#0366d6;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:40rem;margin:1rem auto;padding:1rem}nav{margin-top:2rem;margin-bottom:2rem}p{margin-top:0;margin-bottom:1rem}h1,h2,h3{margin-top:0;margin-bottom:1rem;font-weight:600;line-height:1.25}h1{padding-bottom:.3em;font-size:2em}h1 svg{padding-right:.25rem;vertical-align:text-bottom;width:1.2em;height:1.2em}h2{margin-top:1.5rem;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #eaecef}h3{font-size:1.25em;margin-bottom:0}.about{background-color:#fff5b1;margin:.25rem -.25rem;padding:.25rem}header{padding-top:2rem;padding-bottom:2rem}.item{padding-bottom:2rem}.gray{color:#586069}</style> - </head> - <body> - <nav class="container"> - <p class="about"> - <strong>This is a web feed,</strong> also known as an RSS or Atom feed.<br /><strong>Subscribe</strong> by copying the URL from the address bar into your newsreader. - </p> - <p class="gray"> - Visit <a href="https://aboutfeeds.com">About Feeds</a> to get started with newsreaders and subscribing. It’s free. - </p> - </nav> - <div class="container"> - <header> - <h1> - <svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 256 256"> - <defs> - <linearGradient x1="0.085" y1="0.085" x2="0.915" y2="0.915" id="RSSg"> - <stop offset="0.0" stop-color="#E3702D"/><stop offset="0.1071" stop-color="#EA7D31"/> - <stop offset="0.3503" stop-color="#F69537"/><stop offset="0.5" stop-color="#FB9E3A"/> - <stop offset="0.7016" stop-color="#EA7C31"/><stop offset="0.8866" stop-color="#DE642B"/> - <stop offset="1.0" stop-color="#D95B29"/> - </linearGradient> - </defs> - <rect width="256" height="256" rx="55" ry="55" x="0" y="0" fill="#CC5D15"/> - <rect width="246" height="246" rx="50" ry="50" x="5" y="5" fill="#F49C52"/> - <rect width="236" height="236" rx="47" ry="47" x="10" y="10" fill="url(#RSSg)"/> - <circle cx="68" cy="189" r="24" fill="#FFF"/> - <path d="M160 213h-34a82 82 0 0 0 -82 -82v-34a116 116 0 0 1 116 116z" fill="#FFF"/> - <path d="M184 213A140 140 0 0 0 44 73 V 38a175 175 0 0 1 175 175z" fill="#FFF"/> - </svg> - Web Feed Preview - </h1> - <h2><xsl:value-of select="atom:feed/atom:title"/><xsl:value-of select="/rss/channel/title"/></h2> - <p><xsl:value-of select="atom:feed/atom:subtitle"/><xsl:value-of select="/rss/channel/description"/></p> - <p>This preview only shows titles and summaries<xsl:if test="atom:feed">, but the actual feed contains the full content</xsl:if>.</p> - <a href="/"> - Visit Website → - </a> - </header> - <h2>Recent Items</h2> - <xsl:apply-templates select="atom:feed/atom:entry" /> - <xsl:apply-templates select="/rss/channel/item" /> - <footer> - <small><p>Made with ❤ by Mayx</p></small> - </footer> - </div> - </body> - </html> - </xsl:template> - <xsl:template match="atom:feed/atom:entry"> - <div class="item"> - <h3> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="atom:link/@href"/> - </xsl:attribute> - <xsl:value-of select="atom:title"/> - </a> - </h3> - <small class="gray"> - Published at <xsl:value-of select="substring(atom:published, 0, 11)" /> - </small> - <p><xsl:value-of select="atom:summary"/></p> - </div> - </xsl:template> - <xsl:template match="/rss/channel/item"> - <div class="item"> - <h3> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="link"/> - </xsl:attribute> - <xsl:value-of select="title"/> - </a> - </h3> - <small class="gray"> - Published at <xsl:value-of select="substring(pubDate, 0, 17)" /> - </small> - <p><xsl:value-of select="description"/></p> - </div> - </xsl:template> -</xsl:stylesheet> \ No newline at end of file +--- +layout: xslt +title: 订阅预览 +--- + +<h2>订阅预览</h2> +<p>这是一个订阅源(Feed)。 复制这个链接到任何支持 Atom/RSS 的阅读器,即可订阅本博客的最新文章。 +</p><p> +以下为其内容预览:</p> \ No newline at end of file |