Start staticly generating the themes.xml file
Google, and other search engine bots, cannot normally parse XSLT.
Google, and other search engine bots, cannot normally parse XSLT.
by steve0greatness, Wednesday, 2 April 2025, 05:26:59 (1743571619), pushed by steve0greatness, Wednesday, 2 April 2025, 05:28:42 (1743571722)
Author identity: Steve0Greatness <steve0greatnessiscool@gmail.com>
00096da3f6e3ade84c050bad04ded1be4c766bb2
lxml>=5.3.1
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="3.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:t="https://steve0greatness.roundabout-host.com/ThemeIndex/themes.xsd"
>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>Themes List</title>
<link rel="stylesheet" href="required.css" />
<link rel="stylesheet" href="style.css" defer="defer" />
<link rel="stylesheet" href="breadcrumbs.css" defer="defer" />
<link rel="stylesheet" href="code.css" defer="defer" />
<link rel="stylesheet" href="fonts.css" defer="defer" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="icon" href="favicon.ico" />
</head>
<body>
<nav aria-label="breadcrumbs">
<ol>
<li><a href="index.html">index</a></li>
<li><a href="submit.html" aria-current="location">Theme List</a></li>
</ol>
</nav>
<h1>Theme List</h1>
<ul id="ThemeList">
<xsl:for-each select="/t:themes/t:theme">
<li>
<table>
<tr>
<th
class="theme-name" colspan="2"
>
<xsl:value-of select="t:title"/>
</th>
</tr>
<tr>
<th>
Author
</th>
<td>
<a rel="external">
<xsl:attribute name="href">
<xsl:value-of select="t:author/@uri"/>
</xsl:attribute>
<xsl:value-of select="t:author"/>
</a>
</td>
</tr>
<tr>
<td colspan="2">
<a rel="nofollow">
<xsl:attribute name="href">
themes/<xsl:value-of select="t:uri"/>
</xsl:attribute>
Theme CSS
</a>
</td>
</tr>
</table>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:t="https://steve0greatness.roundabout-host.com/ThemeIndex/themes.xsd" lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Themes List</title><link rel="stylesheet" href="required.css"></link><link rel="stylesheet" href="style.css" defer></link><link rel="stylesheet" href="breadcrumbs.css" defer></link><link rel="stylesheet" href="code.css" defer></link><link rel="stylesheet" href="fonts.css" defer></link><meta charset="UTF-8"></meta><meta name="viewport" content="width=device-width, initial-scale=1.0"></meta><meta http-equiv="X-UA-Compatible" content="ie=edge"></meta><link rel="icon" href="favicon.ico"></link></head><body><nav aria-label="breadcrumbs"><ol><li><a href="index.html">index</a></li><li><a href="submit.html" aria-current="location">Theme List</a></li></ol></nav><h1>Theme List</h1><ul id="ThemeList"></ul></body></html>
import lxml.etree as ET
dom = ET.parse("themes.xml")
xslt = ET.parse("themes.xsl")
transform = ET.XSLT(xslt)
newdom = transform(dom)
with open("themes.html", "w") as file:
file.write(str(newdom))
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="theme-list.xsl" type="text/xsl"?>
<themes xmlns="https://steve0greatness.roundabout-host.com/ThemeIndex/themes.xsd">
<themes
xmlns="https://theme.roundabout-host.com/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://theme.roundabout-host.com/ https://theme.roundabout-host.com/themes.xsd"
>
<!--
Usage of XML Schema Instace is required for any IDE to be able to recognize the location of
theme themes namespace
-->
<theme>
<title>Dusk</title>
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://steve0greatness.roundabout-host.com/themes.xsd">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://theme.roundabout-host.com/">
<xs:element name="themes">
<xs:complexType>
<xs:sequence>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="3.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:t="https://steve0greatness.roundabout-host.com/ThemeIndex/themes.xsd"
>
<xsl:output method="html" version="5" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>Themes List</title>
<link rel="stylesheet" href="required.css" />
<link rel="stylesheet" href="style.css" defer="defer" />
<link rel="stylesheet" href="breadcrumbs.css" defer="defer" />
<link rel="stylesheet" href="code.css" defer="defer" />
<link rel="stylesheet" href="fonts.css" defer="defer" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="icon" href="favicon.ico" />
</head>
<body>
<nav aria-label="breadcrumbs">
<ol>
<li><a href="index.html">index</a></li>
<li><a href="submit.html" aria-current="location">Theme List</a></li>
</ol>
</nav>
<h1>Theme List</h1>
<ul id="ThemeList">
<xsl:for-each select="/t:themes/t:theme">
<li>
<table>
<tr>
<th
class="theme-name" colspan="2"
>
<xsl:value-of select="t:title"/>
</th>
</tr>
<tr>
<th>
Author
</th>
<td>
<a rel="external">
<xsl:attribute name="href">
<xsl:value-of select="t:author/@uri"/>
</xsl:attribute>
<xsl:value-of select="t:author"/>
</a>
</td>
</tr>
<tr>
<td colspan="2">
<a rel="nofollow">
<xsl:attribute name="href">
themes/<xsl:value-of select="t:uri"/>
</xsl:attribute>
Theme CSS
</a>
</td>
</tr>
</table>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>