1.1 --- a/vstup/js/skript.js Thu Feb 09 12:54:49 2012 +0100
1.2 +++ b/vstup/js/skript.js Thu Feb 09 14:52:20 2012 +0100
1.3 @@ -27,7 +27,31 @@
1.4 rot13: function(id) {
1.5 var e = document.getElementById(id);
1.6 e.textContent = e.textContent.rot13();
1.7 - }
1.8 + },
1.9 +
1.10 + /**
1.11 + * Vloží klikatelný odkaz.
1.12 + * @param id ID span elementu obsahujícího data
1.13 + */
1.14 + odkazNaElektronickouPoštu: function(id) {
1.15 + var spanČesky = document.getElementById(id);
1.16 + var spanObsah = document.getElementById(id + "b");
1.17 + var česky = spanČesky.innerHTML;
1.18 + var adresa = česky.replace(" zavináč ", "@").replace(" tečka ",".");
1.19 +
1.20 + var odkaz = document.createElement("a");
1.21 + odkaz.href = "mailto:" + adresa;
1.22 + if (spanObsah.innerHTML.length > 0) {
1.23 + odkaz.innerHTML = spanObsah.innerHTML;
1.24 + } else {
1.25 + odkaz.innerHTML = adresa;
1.26 + }
1.27 +
1.28 + spanČesky.parentNode.insertBefore(odkaz, spanČesky);
1.29 + spanČesky.parentNode.removeChild(spanČesky);
1.30 + spanObsah.parentNode.removeChild(spanObsah);
1.31 + },
1.32 +
1.33 };
1.34
1.35 /**
2.1 --- a/vstup/odkazy.xml Thu Feb 09 12:54:49 2012 +0100
2.2 +++ b/vstup/odkazy.xml Thu Feb 09 14:52:20 2012 +0100
2.3 @@ -11,6 +11,7 @@
2.4
2.5 <ul>
2.6 <li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li>
2.7 + <li><m:a href="anonym@example.com" typ="email">Pan <em>Anonym</em></m:a> – obfuskovaný e-mail</li>
2.8 <li>
2.9 <m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a> – vyhledávání pomocí Seznamu
2.10 <m:podČarou>Byl založen roku 1996 <m:a href="Ivo Lukačovič" typ="wiki">Ivem Lukačovičem</m:a>, a stal se prvním českým internetovým vyhledávačem v České republice.
2.11 @@ -29,6 +30,7 @@
2.12
2.13 <m:pre jazyk="xml"><![CDATA[
2.14 <m:a href="kontakt">Kontakt</m:a>
2.15 +<m:a href="anonym@example.com" typ="email">Pan Anonym</m:a>
2.16 <m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a>
2.17 <m:a href="GNU/Linux a tučňák Tux" typ="google">GNU/Linux a tučňák Tux</m:a>
2.18 <m:a href="1855" typ="rfc">Netiketa</m:a>
3.1 --- a/šablona/makra/odkazy.xsl Thu Feb 09 12:54:49 2012 +0100
3.2 +++ b/šablona/makra/odkazy.xsl Thu Feb 09 14:52:20 2012 +0100
3.3 @@ -19,9 +19,10 @@
3.4 <xsl:stylesheet version="2.0"
3.5 xmlns="http://www.w3.org/1999/xhtml"
3.6 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
3.7 + xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
3.8 xmlns:xs="http://www.w3.org/2001/XMLSchema"
3.9 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3.10 - exclude-result-prefixes="m xs">
3.11 + exclude-result-prefixes="m k xs">
3.12
3.13 <!--
3.14 Interní odkazy
3.15 @@ -96,7 +97,7 @@
3.16 )"/>
3.17 </xsl:call-template>
3.18 </xsl:template>
3.19 -
3.20 +
3.21 <!--
3.22 Wikipedia
3.23 *********
3.24 @@ -114,7 +115,7 @@
3.25 )"/>
3.26 </xsl:call-template>
3.27 </xsl:template>
3.28 -
3.29 +
3.30 <!--
3.31 Javadoc
3.32 *******
3.33 @@ -133,7 +134,7 @@
3.34 )"/>
3.35 </xsl:call-template>
3.36 </xsl:template>
3.37 -
3.38 +
3.39 <!--
3.40 Seznam.cz
3.41 *********
3.42 @@ -167,7 +168,7 @@
3.43 )"/>
3.44 </xsl:call-template>
3.45 </xsl:template>
3.46 -
3.47 +
3.48 <!--
3.49 Request for comments
3.50 ********************
3.51 @@ -184,8 +185,34 @@
3.52 )"/>
3.53 </xsl:call-template>
3.54 </xsl:template>
3.55 -
3.56 -
3.57 +
3.58 + <!--
3.59 + E-mail
3.60 + ******
3.61 + Odkaz na e-mail v „obfuskovaném“ tvaru,
3.62 + aby spamovací roboti nemohli tak snadno sbírat e-mailové adresy z webů.
3.63 + Ale zároveň klikatelný, aby ho uživatel nemusel opisovat (vyžaduje JavaScript).
3.64 + Obsah elementu je nepovinný – pokud chybí, vloží se e-mailová adresa.
3.65 + *
3.66 + @href e-mailová adresa (bez „mailto:“)
3.67 + -->
3.68 + <xsl:template match="m:a[@typ='email']">
3.69 + <xsl:variable name="česky" select="replace(replace(@href, '@', ' zavináč '), '\.', ' tečka ')"/>
3.70 + <xsl:variable name="klíč" select="concat(tokenize($konfigurace/k:web/k:uuid/text(), '-')[1], '9df1')"/>
3.71 + <xsl:variable name="pořadí"><xsl:number level="any"/></xsl:variable>
3.72 + <xsl:variable name="idSpanu" select="concat('c', $klíč, $pořadí)"/>
3.73 + <span title="{text()}" id="{$idSpanu}">
3.74 + <xsl:value-of select="$česky"/>
3.75 + </span>
3.76 + <span id="{$idSpanu}b" style="display: none">
3.77 + <xsl:apply-templates/>
3.78 + </span>
3.79 + <script type="text/javascript">
3.80 + xwg.odkazNaElektronickouPoštu("<xsl:value-of select="$idSpanu"/>");
3.81 + </script>
3.82 + </xsl:template>
3.83 +
3.84 +
3.85 <xsl:template name="vložOdkaz">
3.86 <xsl:param name="url"/>
3.87 <a>