mirror of
https://github.com/welpo/tabi.git
synced 2025-11-05 18:40:24 +01:00
164 lines
No EOL
68 KiB
HTML
164 lines
No EOL
68 KiB
HTML
<!doctype html><html lang=es><head><meta charset=UTF-8><meta content="default-src 'self';font-src 'self' data: 'self';img-src 'self' https://* data:;media-src 'self' https://cdn.jsdelivr.net/;style-src 'self' 'unsafe-inline';frame-src player.vimeo.com https://www.youtube-nocookie.com;connect-src 'self' https://tabi-stats.osc.garden vhiweeypifbwacashxjz.supabase.co;script-src 'self' https://tabi-stats.osc.garden cdn.jsdelivr.net 'self'" http-equiv=Content-Security-Policy><meta content="width=device-width,initial-scale=1.0" name=viewport><meta content=https://welpo.github.io/tabi name=base><title>
|
||
~/tabi • Guía completa sobre series</title><link href=https://welpo.github.io/tabi/img/seedling.png rel=icon type=image/png><link href='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y="50%" x="50%" dominant-baseline="central" text-anchor="middle" font-size="88">🌱</text></svg>' rel=icon><link title="~/tabi - Atom Feed" href=https://welpo.github.io/tabi/atom.xml rel=alternate type=application/atom+xml><link href="https://welpo.github.io/tabi/custom_subset.css?h=0b9535a28bc3d5bf2321" rel=stylesheet><link href="https://welpo.github.io/tabi/main.css?h=3716ab3457d2dd050b3c" rel=stylesheet><meta content="light dark" name=color-scheme><meta content=#087e96 name=theme-color><meta content="Aprende a organizar tus publicaciones en series secuenciales, perfectas para tutoriales, cursos e historias de varias partes." name=description><meta content="Aprende a organizar tus publicaciones en series secuenciales, perfectas para tutoriales, cursos e historias de varias partes." property=og:description><meta content="Guía completa sobre series" property=og:title><meta content=article property=og:type><meta content="https://welpo.github.io/tabi/blog/series/social_cards/es_blog_series.jpg?h=d4b64d21ea2e4633bb8c" property=og:image><meta content=1400 property=og:image:width><meta content=800 property=og:image:height><meta content="https://welpo.github.io/tabi/blog/series/social_cards/es_blog_series.jpg?h=d4b64d21ea2e4633bb8c" name=twitter:image><meta content=summary_large_image name=twitter:card><meta content=ca_ES property=og:locale:alternate><link href=https://welpo.github.io/tabi/ca/blog/series/ hreflang=ca rel=alternate><meta content=es_ES property=og:locale:alternate><link href=https://welpo.github.io/tabi/es/blog/series/ hreflang=es rel=alternate><meta content=en_GB property=og:locale:alternate><link href=https://welpo.github.io/tabi/blog/series/ hreflang=en rel=alternate><meta content=https://welpo.github.io/tabi/es/blog/series/ property=og:url><meta content=~/tabi property=og:site_name><noscript><link href=https://welpo.github.io/tabi/no_js.css rel=stylesheet></noscript><script src=https://welpo.github.io/tabi/js/initializeTheme.min.js></script><script defer src=https://welpo.github.io/tabi/js/themeSwitcher.min.js></script><script async data-goatcounter=https://tabi-stats.osc.garden/count src=https://tabi-stats.osc.garden/count.js></script><script src="https://welpo.github.io/tabi/js/searchElasticlunr.min.js?h=3626c0ef99daa745b31e" defer></script><script defer src=https://welpo.github.io/tabi/js/lunr/lunrStemmerSupport.min.js></script><script defer src=https://welpo.github.io/tabi/js/lunr/lunr.es.min.js></script><body><a href=#main-content id=skip-link>Saltar al contenido</a><header><nav class=navbar><div class=nav-title><a class=home-title href=https://welpo.github.io/tabi/es/>~/tabi</a></div><div class=nav-navs><ul><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/blog/>blog </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/archive/>archivo </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/tags/>etiquetas </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/projects/>proyectos </a><li class=menu-icons-container><ul class=menu-icons-group><li class="js menu-icon"><div aria-label="Haz clic o usa $SHORTCUT para abrir la búsqueda" class="search-icon interactive-icon" title="Haz clic o usa $SHORTCUT para abrir la búsqueda" id=search-button role=button tabindex=0><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg></div><li class=language-switcher><details class=dropdown><summary aria-label="Selección de idioma" title="Selección de idioma" aria-haspopup=true role=button><div class=language-switcher-icon></div></summary> <div class=dropdown-content role=menu>Español<a aria-label=Català href=https://welpo.github.io/tabi/ca/blog/series/ lang=ca role=menuitem>Català</a><a aria-label=English href=https://welpo.github.io/tabi/blog/series/ lang=en role=menuitem>English</a><a aria-label=العربية href=https://welpo.github.io/tabi/ar/blog/series/ lang=ar role=menuitem>العربية</a></div></details><li class="theme-switcher-wrapper js"><div aria-label="Cambiar a modo oscuro" title="Cambiar a modo oscuro/claro" aria-pressed=false class=theme-switcher role=button tabindex=0></div><div aria-label="Restablecer modo a configuración predeterminada" class="theme-resetter arrow" title="Restablecer modo a configuración predeterminada" aria-hidden=true role=button tabindex=0></div></ul></ul></div></nav></header><div class=content id=main-content><main><article class=h-entry><h1 class="p-name article-title">Guía completa sobre series</h1><a class="u-url u-uid" href=https://welpo.github.io/tabi/es/blog/series/></a><ul class=meta><li><time class=dt-published datetime=2024-11-08>8 nov 2024</time><li title="1725 palabras"><span aria-hidden=true class=separator>•</span>9 mins de lectura<li class=tag><span aria-hidden=true class=separator>•</span>Etiquetas: <li class=tag><a class=p-category href=https://welpo.github.io/tabi/es/tags/funcionalidad/>funcionalidad</a>, <li class=tag><a class=p-category href=https://welpo.github.io/tabi/es/tags/tutorial/>tutorial</a>, <li class=tag><a class=p-category href=https://welpo.github.io/tabi/es/tags/preguntas-frecuentes/>preguntas frecuentes</a>, <li class=tag><a class=p-category href=https://welpo.github.io/tabi/es/tags/series/>series</a></ul><ul class="meta last-updated"><li><time class=dt-updated datetime=2025-02-21>Actualizado el 21 feb 2025</time><li><span aria-hidden=true class=separator>•</span><a class=external href=https://github.com/welpo/tabi/commits/main/content/blog/series/index.es.md>Ver cambios</a></ul><div class=toc-container><h3>Tabla de contenido</h3><ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#inicio-rapido>Inicio rápido</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#como-funcionan-las-series>¿Cómo funcionan las series?</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#saltar-a-las-publicaciones>Saltar a las publicaciones</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#paginas-de-series-y-orden>Páginas de series y orden</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#opciones-de-orden>Opciones de orden</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#indexacion-de-paginas>Indexación de páginas</a></ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#plantillas-de-introduccion-y-conclusion>Plantillas de introducción y conclusión</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#tipos-de-plantillas>Tipos de plantillas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ubicacion-en-el-contenido>Ubicación en el contenido</a></ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables>Variables</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-basicas-de-serie>Variables básicas de serie</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-de-navegacion>Variables de navegación</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#referencia-al-primer-articulo>Referencia al primer artículo</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ejemplo-de-plantilla>Ejemplo de plantilla</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-personalizadas>Variables personalizadas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#uso-de-variables-personalizadas>Uso de variables personalizadas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ejemplo-con-variables-personalizadas>Ejemplo con variables personalizadas</a></ul></ul></div><p class=p-summary hidden>Aprende a organizar tus publicaciones en series secuenciales, perfectas para tutoriales, cursos e historias de varias partes.<section class="e-content body"><p>Una serie organiza publicaciones relacionadas en orden secuencial, similar a los capítulos de un libro. A diferencia de las etiquetas, que simplemente agrupan contenido relacionado, las series sugieren un orden específico de lectura de principio a fin.<p>Las publicaciones dentro de una serie no necesitan publicarse de forma consecutiva; la función de series reúne publicaciones temáticamente vinculadas en una secuencia coherente.<p>El siguiente diagrama ilustra cómo las publicaciones de la serie (3, 5 y 8) existen dentro del flujo principal del blog mientras mantienen su propia secuencia ordenada dentro de Serie 1.</p><noscript><strong>⚠️ JavaScript is required to render the diagram.</strong></noscript><pre class="mermaid invertible-image full-width">
|
||
flowchart
|
||
subgraph main[BLOG]
|
||
P1[Post 1]
|
||
P2[P2]
|
||
P3[P3]
|
||
P4[P4]
|
||
P5[P5]
|
||
P6[P6]
|
||
P7[P7]
|
||
P8[P8]
|
||
P9[P9]
|
||
end
|
||
subgraph series1[SERIE 1]
|
||
PS1["Post Serie 1 (=P3)"]
|
||
PS2["Post Serie 2 (=P5)"]
|
||
PS3["Post Serie 3 (=P8)"]
|
||
end
|
||
P3 o-.-o PS1
|
||
P5 o-.-o PS2
|
||
P8 o-.-o PS3
|
||
</pre><h2 id=inicio-rapido><a aria-label="Anchor link for: inicio-rapido" class="header-anchor no-hover-padding" href=#inicio-rapido><span aria-hidden=true class=link-icon></span></a> Inicio rápido</h2><ol><li><p>Crea un directorio para tu serie</p><li><p>Crea <code>_index.md</code> en el directorio de la serie</p><li><p>Configura el front matter de <code>_index.md</code>:</p> <pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">title</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Aprendiendo Rust<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">template</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>series.html<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">sort_by</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>slug<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">transparent</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-constant z-language z-toml">true</span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-constant z-language z-toml">true</span>
|
||
</span></code></pre><li><p>Crea tus artículos de la serie en este directorio</p></ol><p>¿Quieres saber más? ¡Sigue leyendo!<h2 id=como-funcionan-las-series><a aria-label="Anchor link for: como-funcionan-las-series" class="header-anchor no-hover-padding" href=#como-funcionan-las-series><span aria-hidden=true class=link-icon></span></a> ¿Cómo funcionan las series?</h2><p>Una serie es simplemente una sección que tabi maneja de manera especial. Para más detalles sobre secciones, consulta la <a class=external href=https://www.getzola.org/documentation/content/section/>documentación de Zola</a>.<p>Tomando el ejemplo del diagrama anterior, la estructura de directorios sería así:<pre class="language-txt z-code" data-lang=txt><code class=language-txt data-lang=txt><span class="z-text z-plain">content/
|
||
</span><span class="z-text z-plain"> _index.md
|
||
</span><span class="z-text z-plain"> blog/
|
||
</span><span class="z-text z-plain"> _index.md
|
||
</span><span class="z-text z-plain"> post1/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post2/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post4/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post6/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post7/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post9/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> serie1/
|
||
</span><span class="z-text z-plain"> _index.md
|
||
</span><span class="z-text z-plain"> post3/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post5/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span><span class="z-text z-plain"> post8/
|
||
</span><span class="z-text z-plain"> index.md
|
||
</span></code></pre><p>Para crear una serie, necesitas:<ol><li>Usar la plantilla <code>series.html</code><li>Establecer <code>series = true</code> en la configuración <code>[extra]</code> de la sección<li>Activar <code>transparent = true</code> para integrar las publicaciones de la serie con la sección del blog principal</ol><p>La página principal de la serie muestra un resumen seguido de una lista de todas las publicaciones en la serie:<div class=full-width><img alt="una serie" src="https://welpo.github.io/tabi/blog/series/img/series_light.webp?h=b263f660f586e7a0978f" class=img-light loading=lazy><img alt="una serie" src="https://welpo.github.io/tabi/blog/series/img/series_dark.webp?h=33e658ae352f1e6cb809" class=img-dark loading=lazy></div><h2 id=saltar-a-las-publicaciones><a aria-label="Anchor link for: saltar-a-las-publicaciones" class="header-anchor no-hover-padding" href=#saltar-a-las-publicaciones><span aria-hidden=true class=link-icon></span></a> Saltar a las publicaciones</h2><p>Si el contenido de una serie (el Markdown después del frontmatter en <code>_index.md</code>) supera los 2000 caracteres, aparece un enlace “Saltar a publicaciones” junto al título de la serie.<div class=full-width><img alt="enlace para saltar a las publicaciones de la serie" src="https://welpo.github.io/tabi/blog/series/img/jump_to_series_posts_light.webp?h=36a55aa8486a48dcad54" class=img-light loading=lazy><img alt="enlace para saltar a las publicaciones de la serie" src="https://welpo.github.io/tabi/blog/series/img/jump_to_series_posts_dark.webp?h=b2050110d2b4ad3f8768" class=img-dark loading=lazy></div><p>Para forzar la activación o desactivación de esta función, configura <code>show_jump_to_posts</code> en la sección <code>[extra]</code> de tu sección de series o en <code>config.toml</code>. Esta configuración sigue <a href=https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#jerarquia-de-configuracion>la jerarquía</a>.<h2 id=paginas-de-series-y-orden><a aria-label="Anchor link for: paginas-de-series-y-orden" class="header-anchor no-hover-padding" href=#paginas-de-series-y-orden><span aria-hidden=true class=link-icon></span></a> Páginas de series y orden</h2><p>Todas las páginas en la sección de series serán páginas de serie. Las páginas se ordenarán según el <code>sort_by</code> de la sección.<p>Aunque las series mantienen su propio orden interno, permanecen independientes del flujo cronológico de la sección principal (por ejemplo, <code>blog/</code>) gracias a la configuración <code>transparent</code>.<h3 id=opciones-de-orden><a aria-label="Anchor link for: opciones-de-orden" class="header-anchor no-hover-padding" href=#opciones-de-orden><span aria-hidden=true class=link-icon></span></a> Opciones de orden</h3><p>Elige entre estos métodos de orden, cada uno con sus ventajas:<div class=full-width><table><thead><tr><th><code>sort_by</code><th>ventajas<th>desventajas<tbody><tr><td><code>slug</code><td>El orden de las páginas es explícito en la ruta (por ejemplo, <code>example.com/blog/series1/01-series-post-uno</code>).<td>Cada página de la serie debe tener el prefijo correspondiente.<tr><td><code>weight</code><td>El orden de las páginas es fácil de configurar de forma transparente.<br>La primera publicación tiene peso <code>1</code>, la segunda peso <code>2</code> y así sucesivamente.<td>Cada página de la serie debe tener su peso configurado.<tr><td><code>date</code><td>El orden de las páginas se puede configurar una sola vez en la configuración de la sección. No hay que hacer nada en cada página.<td>El orden de las páginas debe invertirse porque la primera página suele ser la más antigua. Esto solo se puede lograr paginando la sección (<code>paginate_by = 9999</code>) e invirtiendo su orden (<code>paginate_reversed = true</code>).</table></div><div class="admonition danger"><div class="admonition-icon admonition-icon-danger"></div><div class=admonition-content><strong class=admonition-title>Versión de Zola para ordenar por fecha</strong><p>Para invertir correctamente las fechas, se requiere Zola v0.19.3+ (no publicada) para que la información de paginación esté disponible a través de la función <code>get_section</code>. De lo contrario, cualquier cosa que dependa del orden de las páginas de la serie no será correcta (por ejemplo, página anterior/siguiente, listas ordenadas y no ordenadas…) Ver <a class=external href=https://github.com/getzola/zola/pull/2653>Zola PR #2653</a>.</div></div><h3 id=indexacion-de-paginas><a aria-label="Anchor link for: indexacion-de-paginas" class="header-anchor no-hover-padding" href=#indexacion-de-paginas><span aria-hidden=true class=link-icon></span></a> Indexación de páginas</h3><p>Las páginas en una serie se indexan empezando desde 1, siguiendo su orden <code>sort_by</code>. Para invertir la indexación (haciendo que la primera página tenga el índice más alto), añade esta configuración a <code>_index.md</code> o <code>config.toml</code>:<pre class="language-toml z-code" data-lang=toml><code class=language-toml data-lang=toml><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">post_listing_index_reversed</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-constant z-language z-toml">true</span> <span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> Por defecto es false si no se configura</span>
|
||
</span></code></pre><div class=full-width><img alt="una serie con índices invertidos" src="https://welpo.github.io/tabi/blog/series/img/series_reversed_light.webp?h=c87548ebd6afb4dc6f53" class=img-light loading=lazy><img alt="una serie con índices invertidos" src="https://welpo.github.io/tabi/blog/series/img/series_reversed_dark.webp?h=2a7db8e8e3808c5925fd" class=img-dark loading=lazy></div><p>Esta configuración sigue <a href=https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#jerarquia-de-configuracion>la jerarquía</a>.<h2 id=plantillas-de-introduccion-y-conclusion><a aria-label="Anchor link for: plantillas-de-introduccion-y-conclusion" class="header-anchor no-hover-padding" href=#plantillas-de-introduccion-y-conclusion><span aria-hidden=true class=link-icon></span></a> Plantillas de introducción y conclusión</h2><p>Los artículos de una serie pueden tener secciones automáticas de introducción y conclusión. Estas se configuran en el <code>_index.md</code> de tu serie. Un ejemplo básico:<pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_intro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Este artículo es parte de la serie $SERIES_HTML_LINK.<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_outro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>¡Gracias por leer la parte $SERIES_PAGE_INDEX de $SERIES_HTML_LINK!<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span></code></pre><p>Las secciones de introducción y conclusión tienen sus propias clases CSS (<code>series-page-intro</code> y <code>series-page-outro</code>), lo que te permite personalizar su apariencia mediante <a href=https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#estilos-css-personalizados>CSS personalizado</a>.<h3 id=tipos-de-plantillas><a aria-label="Anchor link for: tipos-de-plantillas" class="header-anchor no-hover-padding" href=#tipos-de-plantillas><span aria-hidden=true class=link-icon></span></a> Tipos de plantillas</h3><p>El sistema de series usa diferentes plantillas según la posición del artículo en la serie:<ul><li><code>next_only</code> - Usado para el primer artículo (tiene artículo siguiente pero no anterior)<li><code>middle</code> - Usado para artículos con artículos anterior y siguiente<li><code>prev_only</code> - Usado para el último artículo (tiene artículo anterior pero no siguiente)<li><code>default</code> - Plantilla por defecto usada cuando no existe una plantilla específica para la posición</ul><p>El sistema determina automáticamente qué plantilla usar según la posición del artículo. Las plantillas se definen en la configuración de la serie (<code>_index.md</code>), como <code>extra.series_intro_templates</code> y <code>extra.series_outro_templates</code>:<pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_intro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">next_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>¡Bienvenido a la parte 1! Siguiente: $NEXT_HTML_LINK<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">middle</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Anterior: $PREV_HTML_LINK | Siguiente: $NEXT_HTML_LINK<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">prev_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>¡El capítulo final! Anteriormente: $PREV_HTML_LINK<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Parte $SERIES_PAGE_INDEX de $SERIES_PAGES_NUMBER<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span></code></pre><p>Todas las plantillas son opcionales. La selección de plantillas sigue un sistema de prioridad:<ol><li>Si existe una plantilla específica para la posición (<code>next_only</code>, <code>middle</code>, o <code>prev_only</code>), se usará esa<li>Si no, se usa la plantilla <code>default</code><li>Si no se define ninguna plantilla, no se mostrará información de la serie</ol><p>Mira el <a href=https://welpo.github.io/tabi/es/blog/series/#ejemplo-de-plantilla>ejemplo de plantilla</a> para ver un ejemplo más elaborado.<h3 id=ubicacion-en-el-contenido><a aria-label="Anchor link for: ubicacion-en-el-contenido" class="header-anchor no-hover-padding" href=#ubicacion-en-el-contenido><span aria-hidden=true class=link-icon></span></a> Ubicación en el contenido</h3><p>Por defecto:<ul><li>Las introducciones de serie aparecen al inicio de tu artículo<li>La conclusión aparece al final (antes de las notas al pie, si las hay)</ul><p>Puedes controlar exactamente dónde aparecen usando <code><!-- series_intro --></code> y <code><!-- series_outro --></code> en tu Markdown:<pre class="language-markdown z-code" data-lang=markdown><code class=language-markdown data-lang=markdown><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">Este párrafo aparece antes de la introducción de la serie.
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-disable-markdown"><span class="z-comment z-block z-html"><span class="z-punctuation z-definition z-comment z-begin z-html"><!--</span> series_intro <span class="z-punctuation z-definition z-comment z-end z-html">--></span></span></span><span class="z-meta z-disable-markdown">
|
||
</span></span><span class="z-text z-html z-markdown">
|
||
</span><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">Contenido principal del artículo.
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-disable-markdown"><span class="z-comment z-block z-html"><span class="z-punctuation z-definition z-comment z-begin z-html"><!--</span> series_outro <span class="z-punctuation z-definition z-comment z-end z-html">--></span></span></span><span class="z-meta z-disable-markdown">
|
||
</span></span><span class="z-text z-html z-markdown">
|
||
</span><span class="z-text z-html z-markdown"><span class="z-meta z-block-level z-markdown"><span class="z-markup z-heading z-2 z-markdown"><span class="z-punctuation z-definition z-heading z-begin z-markdown">##</span> </span><span class="z-markup z-heading z-2 z-markdown"><span class="z-entity z-name z-section z-markdown">Recursos de aprendizaje</span><span class="z-meta z-whitespace z-newline z-markdown">
|
||
</span></span></span></span><span class="z-text z-html z-markdown">
|
||
</span><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">Contenido adicional...
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-paragraph z-markdown">
|
||
</span></span><span class="z-text z-html z-markdown"><span class="z-meta z-link z-reference z-def z-footnote z-markdown-extra"><span class="z-punctuation z-definition z-constant z-begin z-markdown">[</span><span class="z-entity z-name z-reference z-link z-markdown">^1</span><span class="z-punctuation z-definition z-constant z-end z-markdown">]</span><span class="z-punctuation z-separator z-key-value z-markdown">:</span> Las notas al pie siempre aparecerán al final.
|
||
</span></span></code></pre><h2 id=variables><a aria-label="Anchor link for: variables" class="header-anchor no-hover-padding" href=#variables><span aria-hidden=true class=link-icon></span></a> Variables</h2><p>Las plantillas de series usan un sistema flexible de variables que te permite:<ol><li>Hacer referencia a información de la serie (título, enlaces)<li>Añadir navegación entre artículos<li>Mostrar indicadores de progreso<li>Incluir información personalizada usando tus propias variables</ol><p>Las variables son marcadores que comienzan con <code>$</code> y se reemplazan con contenido real cuando se construye tu sitio. Por ejemplo, <code>$SERIES_HTML_LINK</code> se convierte en un enlace clicable a la página índice de tu serie.<p>Hay tres tipos de variables:<ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-basicas-de-serie>Variables básicas de serie</a>: Información general sobre la serie<li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-de-navegacion>Variables de navegación</a>: Enlaces a artículos anterior/siguiente<li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-personalizadas>Variables personalizadas</a>: Tus propios marcadores para información adicional</ul><h3 id=variables-basicas-de-serie><a aria-label="Anchor link for: variables-basicas-de-serie" class="header-anchor no-hover-padding" href=#variables-basicas-de-serie><span aria-hidden=true class=link-icon></span></a> Variables básicas de serie</h3><div class=full-width><table><thead><tr><th>Variable<th>Disponibilidad<th>Devuelve<th>Descripción<th>Ejemplo de uso<th>Ejemplo de salida<tbody><tr><td><code>$SERIES_TITLE</code><td>Siempre<td>Texto<td>Título de la serie en texto plano<td><code>Parte de $SERIES_TITLE</code><td>Parte de Aprendiendo Rust<tr><td><code>$SERIES_PERMALINK</code><td>Siempre<td>Texto<td>URL al índice de la serie<td><code>[Ver todas las publicaciones]($SERIES_PERMALINK)</code><td><a href=/series/learn-rust>Ver todas las publicaciones</a><tr><td><code>$SERIES_HTML_LINK</code><td>Siempre<td>HTML<td>Enlace listo para usar a la serie<td><code>¡Bienvenido a $SERIES_HTML_LINK!</code><td>¡Bienvenido a <a href=/series/learn-rust>Aprendiendo Rust</a>!<tr><td><code>$SERIES_PAGES_NUMBER</code><td>Siempre<td>Número<td>Total de artículos en la serie<td><code>Una serie de $SERIES_PAGES_NUMBER partes</code><td>Una serie de 5 partes<tr><td><code>$SERIES_PAGE_INDEX</code><td>Siempre<td>Número<td>Posición del artículo actual<td><code>Parte $SERIES_PAGE_INDEX de $SERIES_PAGES_NUMBER</code><td>Parte 3 de 5<tr><td><code>$SERIES_PAGES_OLIST</code><td>Siempre<td>HTML<td>Lista ordenada de todos los artículos<td><code>Artículos en la serie: $SERIES_PAGES_OLIST</code><td>Artículos en la serie: <ol><li>Artículo actual<li><a href=...>Otros artículos</a></ol><tr><td><code>$SERIES_PAGES_ULIST</code><td>Siempre<td>HTML<td>Lista desordenada de todos los artículos<td><code>Artículos en la serie: $SERIES_PAGES_ULIST</code><td>Artículos en la serie: <ul><li>Artículo actual<li><a href=...>Otros artículos</a></ul></table></div><div class="admonition tip"><div class="admonition-icon admonition-icon-tip"></div><div class=admonition-content><strong class=admonition-title>CONSEJO: Texto personalizado con permalinks</strong><p>Los enlaces markdown como <code>[texto]($SERIES_PERMALINK)</code> serán marcados (y <a href=https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/#indicador-enlaces-externos>estilizados</a>) como externos. Si necesitas texto personalizado y quieres evitar el estilo externo, usa HTML: <code><a href=\"$SERIES_PERMALINK\">tu texto</a></code>.</div></div><h3 id=variables-de-navegacion><a aria-label="Anchor link for: variables-de-navegacion" class="header-anchor no-hover-padding" href=#variables-de-navegacion><span aria-hidden=true class=link-icon></span></a> Variables de navegación</h3><div class=full-width><table><thead><tr><th>Variable<th>Disponibilidad<th>Devuelve<th>Descripción<th>Ejemplo de uso<th>Ejemplo de salida<tbody><tr><td><code>$PREV_TITLE</code><td>Existe anterior<td>Texto<td>Título del artículo anterior<td><code>Anteriormente: $PREV_TITLE</code><td>Anteriormente: Configurando tu entorno<tr><td><code>$PREV_PERMALINK</code><td>Existe anterior<td>Texto<td>URL al artículo anterior<td><code>[← Atrás]($PREV_PERMALINK)</code><td><a href=/series/learn-rust/setup>← Atrás</a><tr><td><code>$PREV_HTML_LINK</code><td>Existe anterior<td>HTML<td>Enlace listo para usar al anterior<td><code>Lee primero $PREV_HTML_LINK</code><td>Lee primero <a href=/series/learn-rust/setup>Configurando tu entorno</a><tr><td><code>$PREV_DESCRIPTION</code><td>Existe anterior<td>Texto<td>Descripción del artículo anterior<td><code>Resumen: $PREV_DESCRIPTION</code><td>Resumen: Configurando Rust<tr><td><code>$NEXT_TITLE</code><td>Existe siguiente<td>Texto<td>Título del siguiente artículo<td><code>Siguiente: $NEXT_TITLE</code><td>Siguiente: Patrones avanzados<tr><td><code>$NEXT_PERMALINK</code><td>Existe siguiente<td>Texto<td>URL al siguiente artículo<td><code>[Continuar →]($NEXT_PERMALINK)</code><td><a href=/series/learn-rust/patterns>Continuar →</a><tr><td><code>$NEXT_HTML_LINK</code><td>Existe siguiente<td>HTML<td>Enlace listo para usar al siguiente<td><code>Continúa con $NEXT_HTML_LINK</code><td>Continúa con <a href=/series/learn-rust/patterns>Patrones avanzados</a><tr><td><code>$NEXT_DESCRIPTION</code><td>Existe siguiente<td>Texto<td>Descripción del siguiente artículo<td><code>Próximamente: $NEXT_DESCRIPTION</code><td>Próximamente: Aprende sobre las características avanzadas de pattern matching en Rust</table></div><h3 id=referencia-al-primer-articulo><a aria-label="Anchor link for: referencia-al-primer-articulo" class="header-anchor no-hover-padding" href=#referencia-al-primer-articulo><span aria-hidden=true class=link-icon></span></a> Referencia al primer artículo</h3><div class=full-width><table><thead><tr><th>Variable<th>Disponibilidad<th>Devuelve<th>Descripción<th>Ejemplo de uso<th>Ejemplo de salida<tbody><tr><td><code>$FIRST_TITLE</code><td>Siempre<td>Texto<td>Título del primer artículo<td><code>Comienza con $FIRST_TITLE</code><td>Comienza con Introducción a Rust<tr><td><code>$FIRST_HTML_LINK</code><td>Siempre<td>HTML<td>Enlace listo para usar al primer artículo<td><code>Empieza en $FIRST_HTML_LINK</code><td>Empieza en <a href=/series/learn-rust/intro>Introducción a Rust</a></table></div><h3 id=ejemplo-de-plantilla><a aria-label="Anchor link for: ejemplo-de-plantilla" class="header-anchor no-hover-padding" href=#ejemplo-de-plantilla><span aria-hidden=true class=link-icon></span></a> Ejemplo de plantilla</h3><div class="admonition tip"><div class="admonition-icon admonition-icon-tip"></div><div class=admonition-content><strong class=admonition-title>Variables HTML vs texto</strong><p>Usa variables HTML (que terminan en <code>_HTML_LINK</code>) cuando quieras enlaces listos para usar. Usa variables de texto (que terminan en <code>_TITLE</code> o <code>_PERMALINK</code>) cuando quieras más control sobre el formato.</div></div><pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> Introducción.</span>
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_intro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">next_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">¡Bienvenido a $SERIES_HTML_LINK! Esta serie de $SERIES_PAGES_NUMBER partes te enseñará Rust desde cero.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Siguiente: $NEXT_HTML_LINK - $NEXT_DESCRIPTION
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">middle</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">📚 Parte $SERIES_PAGE_INDEX de $SERIES_PAGES_NUMBER en $SERIES_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Anterior: $PREV_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Siguiente: $NEXT_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">prev_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">¡Bienvenido a la última parte de $SERIES_HTML_LINK!
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">¿Eres nuevo? Comienza con $FIRST_HTML_LINK para construir una base sólida.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Anterior: $PREV_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> Plantilla de respaldo.</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Este artículo es parte de la serie $SERIES_HTML_LINK.<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> Conclusión.</span>
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_outro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">next_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">¡Gracias por leer! 🙌
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Continúa tu viaje con $NEXT_HTML_LINK, donde $NEXT_DESCRIPTION
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">O revisa el esquema completo de la serie [$SERIES_TITLE]($SERIES_PERMALINK).
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">middle</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">---
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">📝 Navegación de la serie
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">- Anterior: $PREV_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">- Siguiente: $NEXT_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">- [Resumen de la serie]($SERIES_PERMALINK)
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">prev_only</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">🎉 ¡Felicidades! Has completado $SERIES_HTML_LINK.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">¿Quieres repasar? Aquí comenzamos: $FIRST_HTML_LINK
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">O revisa lo que acabamos de ver en $PREV_HTML_LINK.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> Respaldo.</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">---
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Este artículo es la parte $SERIES_PAGE_INDEX de $SERIES_PAGES_NUMBER en $SERIES_HTML_LINK.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span></code></pre><h3 id=variables-personalizadas><a aria-label="Anchor link for: variables-personalizadas" class="header-anchor no-hover-padding" href=#variables-personalizadas><span aria-hidden=true class=link-icon></span></a> Variables personalizadas</h3><p>Las plantillas de series admiten variables personalizadas para incluir información adicional en toda tu serie. El proceso tiene dos pasos:<ol><li>Primero, define tus <strong>marcadores</strong> en la configuración de tu serie (<code>_index.md</code>):</ol><pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-constant z-language z-toml">true</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series_template_placeholders</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-punctuation z-definition z-array z-begin z-toml">[</span><span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>$POSITION<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span><span class="z-punctuation z-separator z-array z-toml">,</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>$TOPIC<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span><span class="z-punctuation z-separator z-array z-toml">,</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>$DIFFICULTY<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span><span class="z-punctuation z-definition z-array z-end z-toml">]</span>
|
||
</span></code></pre><ol start=2><li>Luego, en cada artículo de la serie, proporciona los valores para estos marcadores en <code>series_template_variables</code>:</ol><pre class="language-toml z-code" data-lang=toml data-name=series/article.md><code class=language-toml data-lang=toml data-name=series/article.md><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_template_variables</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">position</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>primero<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">topic</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Variables y tipos<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">difficulty</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Principiante<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span></code></pre><h3 id=uso-de-variables-personalizadas><a aria-label="Anchor link for: uso-de-variables-personalizadas" class="header-anchor no-hover-padding" href=#uso-de-variables-personalizadas><span aria-hidden=true class=link-icon></span></a> Uso de variables personalizadas</h3><p>Puedes usar tus variables personalizadas en cualquier plantilla, junto con las variables integradas:<pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_intro_templates</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Este es el artículo $POSITION en $SERIES_HTML_LINK.
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Tema de hoy: $TOPIC
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">Nivel de dificultad: $DIFFICULTY
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span></code></pre><div class="admonition warning"><div class="admonition-icon admonition-icon-warning"></div><div class=admonition-content><strong class=admonition-title>WARNING</strong><p>Aunque los marcadores se definen en mayúsculas (<code>$POSITION</code>), los nombres de variables en <code>series_template_variables</code> deben estar en minúsculas (<code>position</code>).</div></div><h3 id=ejemplo-con-variables-personalizadas><a aria-label="Anchor link for: ejemplo-con-variables-personalizadas" class="header-anchor no-hover-padding" href=#ejemplo-con-variables-personalizadas><span aria-hidden=true class=link-icon></span></a> Ejemplo con variables personalizadas</h3><pre class="language-toml z-code" data-lang=toml data-name=series/_index.md><code class=language-toml data-lang=toml data-name=series/_index.md><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> En la configuración de la serie.</span>
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-constant z-language z-toml">true</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series_template_placeholders</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-punctuation z-definition z-array z-begin z-toml">[</span><span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>$LEARNING_TIME<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span><span class="z-punctuation z-separator z-array z-toml">,</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>$KEY_CONCEPTS<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span><span class="z-punctuation z-definition z-array z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml">
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">series_intro_templates</span><span class="z-punctuation z-separator z-key z-toml">.</span><span class="z-entity z-name z-tag z-toml">default</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"""</span>
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">📚 Parte $SERIES_PAGE_INDEX de $SERIES_PAGES_NUMBER
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">⏱️ Tiempo estimado: $LEARNING_TIME
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml">🔑 Conceptos clave: $KEY_CONCEPTS
|
||
</span></span><span class="z-source z-toml"><span class="z-string z-quoted z-triple z-basic z-block z-toml"><span class="z-punctuation z-definition z-string z-end z-toml">"""</span></span>
|
||
</span></code></pre><pre class="language-toml z-code" data-lang=toml data-name=series/02-learning-rust/index.md><code class=language-toml data-lang=toml data-name=series/02-learning-rust/index.md><span class="z-source z-toml"><span class="z-comment z-line z-number-sign z-toml"><span class="z-punctuation z-definition z-comment z-toml">#</span> En un artículo de la serie.</span>
|
||
</span><span class="z-source z-toml"><span class="z-punctuation z-definition z-table z-begin z-toml">[</span><span class="z-meta z-tag z-table z-toml"><span class="z-entity z-name z-table z-toml">extra</span><span class="z-punctuation z-separator z-table z-toml">.</span><span class="z-entity z-name z-table z-toml">series_template_variables</span></span><span class="z-punctuation z-definition z-table z-end z-toml">]</span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">learning_time</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>30 minutos<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span><span class="z-source z-toml"><span class="z-meta z-tag z-key z-toml"><span class="z-entity z-name z-tag z-toml">key_concepts</span></span> <span class="z-punctuation z-definition z-key-value z-toml">=</span> <span class="z-string z-quoted z-double z-basic z-toml"><span class="z-punctuation z-definition z-string z-begin z-toml">"</span>Funciones, manejo de errores, coincidencia de patrones<span class="z-punctuation z-definition z-string z-end z-toml">"</span></span>
|
||
</span></code></pre><p>Esto generará:<pre class="language-txt z-code" data-lang=txt><code class=language-txt data-lang=txt><span class="z-text z-plain">📚 Parte 2 de 5
|
||
</span><span class="z-text z-plain">⏱️ Tiempo estimado: 30 minutos
|
||
</span><span class="z-text z-plain">🔑 Conceptos clave: Funciones, manejo de errores, coincidencia de patrones
|
||
</span></code></pre><div class="admonition warning"><div class="admonition-icon admonition-icon-warning"></div><div class=admonition-content><strong class=admonition-title>Variables faltantes</strong><p>Si usas un marcador en tus plantillas pero no proporcionas su valor en <code>series_template_variables</code>, la compilación fallará con un error que lista las variables faltantes.</div></div></section><form action="https://vhiweeypifbwacashxjz.supabase.co/rest/v1/rpc/increment_hits?apikey=sb_publishable_EoB7MFJhCmb6PiAk-GPJ4w_PGhQ44Ru" class=iine-form method=post><input name=page_slug type=hidden value=/blog/series/><button aria-label="Me gusta esta publicación" title="Me gusta esta publicación" class=iine-button data-icon=thumbs_up data-slug=/blog/series/>👍</button></form><nav class="full-width article-navigation"><div></div><div><a aria-describedby=right_title aria-label=Anterior href=https://welpo.github.io/tabi/es/blog/mastering-tabi-settings/>Anterior <span class=arrow>→</span></a><p aria-hidden=true id=right_title>Domina la configuración de tabi: guía completa</div></nav></article></main><div id=button-container><div id=toc-floating-container><input class=toggle id=toc-toggle type=checkbox><label class=overlay for=toc-toggle></label><label title="Mostrar/ocultar la tabla de contenidos" class=button for=toc-toggle id=toc-button><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="M414.82-193.094q-18.044 0-30.497-12.32-12.453-12.319-12.453-30.036t12.453-30.086q12.453-12.37 30.497-12.37h392.767q17.237 0 29.927 12.487 12.69 12.486 12.69 30.203 0 17.716-12.69 29.919t-29.927 12.203H414.82Zm0-244.833q-18.044 0-30.497-12.487Q371.87-462.9 371.87-480.45t12.453-29.92q12.453-12.369 30.497-12.369h392.767q17.237 0 29.927 12.511 12.69 12.512 12.69 29.845 0 17.716-12.69 30.086-12.69 12.37-29.927 12.37H414.82Zm0-245.167q-18.044 0-30.497-12.32t-12.453-30.037q0-17.716 12.453-30.086 12.453-12.369 30.497-12.369h392.767q17.237 0 29.927 12.486 12.69 12.487 12.69 30.203 0 17.717-12.69 29.92-12.69 12.203-29.927 12.203H414.82ZM189.379-156.681q-32.652 0-55.878-22.829t-23.226-55.731q0-32.549 23.15-55.647 23.151-23.097 55.95-23.097 32.799 0 55.313 23.484 22.515 23.484 22.515 56.246 0 32.212-22.861 54.893-22.861 22.681-54.963 22.681Zm0-245.167q-32.652 0-55.878-23.134-23.226-23.135-23.226-55.623 0-32.487 23.467-55.517t56.12-23.03q32.102 0 54.721 23.288 22.62 23.288 22.62 55.775 0 32.488-22.861 55.364-22.861 22.877-54.963 22.877Zm-.82-244.833q-32.224 0-55.254-23.288-23.03-23.289-23.03-55.623 0-32.333 23.271-55.364 23.272-23.03 55.495-23.03 32.224 0 55.193 23.288 22.969 23.289 22.969 55.622 0 32.334-23.21 55.364-23.21 23.031-55.434 23.031Z"/></svg></label><div class=toc-content><div class=toc-container><ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#inicio-rapido>Inicio rápido</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#como-funcionan-las-series>¿Cómo funcionan las series?</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#saltar-a-las-publicaciones>Saltar a las publicaciones</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#paginas-de-series-y-orden>Páginas de series y orden</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#opciones-de-orden>Opciones de orden</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#indexacion-de-paginas>Indexación de páginas</a></ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#plantillas-de-introduccion-y-conclusion>Plantillas de introducción y conclusión</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#tipos-de-plantillas>Tipos de plantillas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ubicacion-en-el-contenido>Ubicación en el contenido</a></ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables>Variables</a> <ul><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-basicas-de-serie>Variables básicas de serie</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-de-navegacion>Variables de navegación</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#referencia-al-primer-articulo>Referencia al primer artículo</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ejemplo-de-plantilla>Ejemplo de plantilla</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#variables-personalizadas>Variables personalizadas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#uso-de-variables-personalizadas>Uso de variables personalizadas</a><li><a href=https://welpo.github.io/tabi/es/blog/series/#ejemplo-con-variables-personalizadas>Ejemplo con variables personalizadas</a></ul></ul></div></div></div><a title="Ir al inicio de la página" class=no-hover-padding href=# id=top-button> <svg viewbox="0 0 20 20" fill=currentColor><path d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z"/></svg> </a></div><script defer src=https://welpo.github.io/tabi/js/mermaid.min.js></script><span class=hidden id=copy-success> Copiado! </span><span class=hidden id=copy-init> Copiar código al portapapeles </span><script defer src=https://welpo.github.io/tabi/js/copyCodeToClipboard.min.js></script><script defer src=https://cdn.jsdelivr.net/gh/welpo/iine@main/iine.mini.js></script></div><footer><section><nav class="socials nav-navs"><ul><li><a class="nav-links no-hover-padding social" href=https://welpo.github.io/tabi/es/atom.xml> <img alt=feed loading=lazy src=https://welpo.github.io/tabi/social_icons/rss.svg title=feed> </a><li class=js><a class="nav-links no-hover-padding social" data-encoded-email=dGFiaUBvc2MuZ2FyZGVu href=#><img alt=email loading=lazy src=https://welpo.github.io/tabi/social_icons/email.svg title=email> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://github.com/welpo/> <img alt=github loading=lazy src=https://welpo.github.io/tabi/social_icons/github.svg title=github> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://soundcloud.com/oskerwyld> <img alt=soundcloud loading=lazy src=https://welpo.github.io/tabi/social_icons/soundcloud.svg title=soundcloud> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://instagram.com/oskerwyld> <img alt=instagram loading=lazy src=https://welpo.github.io/tabi/social_icons/instagram.svg title=instagram> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://youtube.com/@oskerwyld> <img alt=youtube loading=lazy src=https://welpo.github.io/tabi/social_icons/youtube.svg title=youtube> </a><li><a class="nav-links no-hover-padding social" rel=" me" href=https://open.spotify.com/artist/5Hv2bYBhMp1lUHFri06xkE> <img alt=spotify loading=lazy src=https://welpo.github.io/tabi/social_icons/spotify.svg title=spotify> </a></ul></nav><nav class=nav-navs><small> <ul><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/about/> sobre mí </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/es/privacy/> política de privacidad </a><li><a class="nav-links no-hover-padding" href=https://tabi-stats.osc.garden/> estadísticas del sitio </a><li><a class="nav-links no-hover-padding" href=https://welpo.github.io/tabi/sitemap.xml> mapa del sitio </a></ul> </small></nav><div class=credits><small> Impulsado por <a href=https://www.getzola.org>Zola</a> y <a href=https://github.com/welpo/tabi>tabi</a> • <a href=https://github.com/welpo/tabi> Código del sitio </a></small></div></section><script async src=https://welpo.github.io/tabi/js/decodeMail.min.js></script><div class="search-modal js" aria-labelledby=modalTitle id=searchModal role=dialog><h1 class=visually-hidden id=modalTitle>Buscar</h1><div id=modal-content><div id=searchBar><div aria-hidden=true class=search-icon><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg></div><input aria-controls=results-container aria-expanded=false autocomplete=off id=searchInput placeholder=Buscar… role=combobox spellcheck=false><div class="close-icon interactive-icon" title="Borrar búsqueda" id=clear-search role=button tabindex=0><svg viewbox="0 -960 960 960" xmlns=http://www.w3.org/2000/svg><path d="m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"/></svg></div></div><div id=results-container><div id=results-info><span id=zero_results> No hay resultados</span><span id=one_results> $NUMBER resultado</span><span id=many_results> $NUMBER resultados</span><span id=two_results> $NUMBER resultados</span><span id=few_results> $NUMBER resultados</span></div><div id=results role=listbox></div></div></div></div></footer> |