- site vitrine + fingerprint test + zmap + z-panel - remplacement duckdns -> riricdev.tail5ea5cd.ts.net (canonical/og/alternates/docs) - suppression du token DuckDNS (plus utilisé)
57 lines
3.2 KiB
XML
57 lines
3.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:s="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
|
<xsl:output method="html" encoding="UTF-8" indent="yes"/>
|
|
<xsl:template match="/">
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Plan du site — Zektyc</title>
|
|
<style>
|
|
:root { --bg: #0f1117; --card: #181b24; --border: #282c36; --text: #e4e4e7; --muted: #6b7280; --accent: #4ecdc4; }
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; padding: 2rem 1.5rem; max-width: 800px; margin: 0 auto; }
|
|
h1 { font-size: 1.8rem; font-weight: 800; margin-bottom: .5rem; }
|
|
.sub { color: var(--muted); font-size: .9rem; margin-bottom: 2rem; }
|
|
.url-list { list-style: none; }
|
|
.url-item { background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: .5rem; }
|
|
.url-item a { color: var(--accent); text-decoration: none; font-weight: 600; font-size: .95rem; }
|
|
.url-item a:hover { text-decoration: underline; }
|
|
.url-meta { display: flex; gap: 1.5rem; margin-top: .35rem; font-size: .78rem; color: var(--muted); }
|
|
.badge { display: inline-block; font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: .1rem .4rem; border-radius: 4px; margin-left: .5rem; }
|
|
.badge-fr { background: rgba(78,205,196,.15); color: var(--accent); }
|
|
.badge-en { background: rgba(124,92,255,.15); color: #7c5cff; }
|
|
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .78rem; color: var(--muted); text-align: center; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Plan du site</h1>
|
|
<p class="sub">sitemap.xml — <xsl:value-of select="count(//s:url)"/> pages indexées</p>
|
|
<ul class="url-list">
|
|
<xsl:for-each select="//s:url">
|
|
<xsl:sort select="s:loc"/>
|
|
<li class="url-item">
|
|
<a href="{s:loc}"><xsl:value-of select="s:loc"/></a>
|
|
<div class="url-meta">
|
|
<span>Modifié : <xsl:value-of select="s:lastmod"/></span>
|
|
<xsl:if test="s:changefreq">
|
|
<span>Fréquence : <xsl:value-of select="s:changefreq"/></span>
|
|
</xsl:if>
|
|
<xsl:if test="s:priority">
|
|
<span>Priorité : <xsl:value-of select="s:priority"/></span>
|
|
</xsl:if>
|
|
<xsl:if test="xhtml:link[@hreflang='fr']">
|
|
<span class="badge badge-fr">FR</span>
|
|
</xsl:if>
|
|
<xsl:if test="xhtml:link[@hreflang='en']">
|
|
<span class="badge badge-en">EN</span>
|
|
</xsl:if>
|
|
</div>
|
|
</li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
<footer>Zektyc — <xsl:value-of select="count(//s:url)"/> URLs · Généré le <xsl:value-of select="s:sitemapindex/s:sitemap[1]/s:loc"/></footer>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|