Introducción - etiquetas
Cada tipo de archivo de plantilla *.hbs disponible tiene acceso a una lista específica de etiquetas Handlebars.
Los hemos dividido en dos grupos: etiquetas relacionadas con plantillas y etiquetas comunes.
Las etiquetas relacionadas con la plantilla solo están disponibles en un archivo de plantilla específico cuando las etiquetas comunes están disponibles en el mismo formato para otras plantillas.
Publii utiliza algunos archivos de plantilla Handlebars para representar su sitio web:
- index.hbs - para la página de inicio y su paginación,
- post.hbs - para páginas de publicaciones individuales,
- page.hbs - para páginas individuales,
- tag.hbs - para listar publicaciones etiquetadas y su paginación,
- tags.hbs - para lista de etiquetas,
- author.hbs - para listar las publicaciones del autor y su paginación
- feed-xml.hbs y feed-json.hbs : para la salida de archivos feed.xml y feed.json,
- search.hbs (opcional) - para la página de búsqueda,
- 404.hbs (opcional) - para la página de error 404
Además, para las publicaciones, las etiquetas y las páginas de autores, puedes crear y usar plantillas. En este caso, los nombres de los archivos contendrán un slug relacionado con la plantilla específica. Puedes leer más sobre esto aquí .
Etiquetas de publicación
Los elementos de la publicación representan publicaciones escritas en Publii:
- {{id}} - ID de la publicación
- {{title}} - título de la publicación
- {{featuredImage}} - elemento de imagen destacado
- {{tags}} - matriz de elementos de etiqueta
- {{hiddenTags}} - matriz de elementos de etiqueta que están marcados como ocultos
- {{author}} - autor del artículo
- {{slug}} - slug de publicación utilizado en la URL
- {{url}} - URL de la página de publicación
- {{text}} - publicar texto completo
- {{excerpt}} - texto del extracto de la publicación
- {{createdAt}} - fecha de creación de la publicación
- {{modifiedAt}} - fecha de modificación posterior
- {{status}} - estado de la publicación (oculta, borrador, destacada)
- {{template}} - nombre de la plantilla utilizada en la publicación
- {{isFeatured}} - verdadero si la publicación está destacada
- {{isHidden}} - verdadero si la publicación está oculta
- {{hasGallery}} - verdadero si la publicación contiene una galería
- {{hasCustomExcerpt}} : verdadero si la publicación contiene un contenido de extracto personalizado
- {{mainTag}} : elemento de etiqueta seleccionado como etiqueta principal de una publicación específica. Si no hay una etiqueta principal, este campo devuelve la primera etiqueta (usando orden alfabético). Este elemento estará vacío solo si la publicación no tiene etiquetas
- {{postViewConfig}} - objeto con configuración adicional relacionada con la vista de publicación (si está disponible en el tema)
Etiquetas de página
El elemento de página representa páginas creadas en Publii:
- {{id}} - ID de la página
- {{title}} - título de la página
- {{featuredImage}} - elemento de imagen destacado
- {{author}} - elemento del autor de la página
- {{slug}} - slug de página utilizado en la URL
- {{url}} - URL de la página
- {{text}} - texto completo de la página
- {{excerpt}} - texto de un extracto de la página
- {{createdAt}} - fecha de creación de la página
- {{modifiedAt}} - fecha de modificación de la página
- {{status}} - estado de la página (borrador)
- {{template}} - nombre de la plantilla utilizada en la página
- {{hasGallery}} - verdadero si la página contiene una galería
- {{hasCustomExcerpt}} : verdadero si la página contiene un contenido de extracto personalizado
- {{pageViewConfig}} : objeto con configuración adicional relacionada con la vista de página (si está disponible en el tema)
Etiquetas de etiquetas
El elemento de etiqueta representa las etiquetas conectadas con las publicaciones:
- {{id}} - ID de etiqueta
- {{name}} - nombre de la etiqueta
- {{featuredImage}} - elemento de imagen destacado
- {{slug}} - etiqueta slug utilizada en la URL
- {{{description}}} - descripción de la etiqueta
- {{additionalData}} : datos adicionales sobre la etiqueta como objeto JSON (plantilla, meta título, meta descripción, etc.)
- {{postsNumber}} - número de publicaciones relacionadas con la etiqueta
- {{url}} - URL de la página de la etiqueta
Etiquetas de autor
El elemento de autor representa datos relacionados con el autor de la publicación:
- {{id}} - ID del autor
- {{name}} - nombre del autor
- {{username}} - nombre de usuario del autor
- {{featuredImage}} - elemento de imagen destacado
- {{avatar}} - URL del avatar del autor
- {{avatarImage}} - datos del avatar del autor
- {{alt}} - texto alternativo del avatar (nombre del autor)
- {{height}} - altura del avatar en píxeles
- {{url}} - URL de la imagen del avatar
- {{width}} - ancho del avatar en píxeles
- {{email}} - correo electrónico del autor
- {{{description}}} - descripción del autor
- {{postsNumber}} - número de publicaciones escritas por el autor
- {{url}} - URL de la página del autor
Etiquetas de imágenes destacadas
El elemento de imagen destacada representa datos relacionados con las imágenes destacadas de la publicación:
- {{id}} - ID de imagen destacada
- {{url}} - URL de la imagen destacada
- {{urlDIMENSION_NAME}} - URL de la versión redimensionada (especificada por la variable DIMENSION_NAME , por ejemplo, urlLarge )
- {{alt}} - texto alternativo de la imagen destacada
- {{caption}} - texto del título de la imagen destacada
- {{credits}} - texto de créditos de la imagen destacada
- {{height}} - altura de la imagen destacada en píxeles
- {{width}} - ancho de la imagen destacada en píxeles
- {{srcset}} - valor del atributo srcset de la imagen destacada
- {{sizes}} - valor del atributo de tamaños de imágenes destacadas
Etiquetas de la página de inicio
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en el archivo index.hbs .
Etiquetas específicas de la plantilla
- {{#posts}} - matriz de los últimos elementos de la publicación
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de la página de publicación
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en los archivos post.hbs y post-TEMPLATE_NAME.hbs .
Etiquetas específicas de la plantilla
- {{#post}} - elemento de publicación mostrado
- {{#nextPost}} - el elemento de publicación está disponible solo en las publicaciones que no están ocultas
- {{#nextSimilarPost}} : el elemento de publicación está disponible solo en las publicaciones que no están ocultas y están en las mismas etiquetas
- {{#previousPost}} - el elemento de publicación está disponible solo en las publicaciones que no están ocultas
- {{#previousSimilarPost}} : el elemento de publicación está disponible solo en las publicaciones que no están ocultas y están en las mismas etiquetas
- {{#relatedPosts}} - matriz de elementos de publicaciones con un título similar o de las mismas etiquetas
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{canonicalUrl}} - URL canónica para la página de publicación
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de plantilla de página
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en los archivos page.hbs y page-TEMPLATE_NAME.hbs .
Etiquetas específicas de la plantilla
- {{#page}} - elemento de la página mostrada
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{canonicalUrl}} - URL canónica para la página de publicación
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de la página de etiquetas
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en los archivos tag.hbs y tag-TEMPLATE_NAME.hbs .
Etiquetas específicas de la plantilla
- {{#tag}} - elemento de etiqueta mostrado
- {{#posts}} - matriz de elementos de la publicación conectados con la etiqueta que se muestra actualmente
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de la página Etiquetas
A continuación, encontrará una lista de todas las etiquetas handlebars disponibles en el archivo tags.hbs que se utiliza para enumerar todas las etiquetas dentro de su sitio web. Recuerde que el archivo tags.hbs es opcional y se utilizará únicamente en los temas que declaren su compatibilidad con él .
Etiquetas específicas de la plantilla
- {{#tags}} - matriz de elementos de etiqueta disponibles en el sitio web
- {{tagsNumber}} - número total de etiquetas en la colección {{#tags}}
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{#hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de la página del autor
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en los archivos author.hbs y author-TEMPLATE_NAME.hbs .
Etiquetas específicas de la plantilla
- {{#author}} - elemento de autor que se muestra actualmente
- {{#posts}} - matriz de elementos de publicaciones conectados con un autor actual
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Buscar etiquetas de la página
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en el archivo search.hbs .
La página de búsqueda se genera solo si el indicador: " createSearchPage" está establecido en verdadero en el archivo config.json (sección del renderizador).
Etiquetas específicas de la plantilla
Esta plantilla no utiliza ninguna etiqueta específica de plantilla.
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de página de error 404
A continuación encontrará una lista de todas las etiquetas de manillar disponibles en el archivo 404.hbs .
La página de error 404 se genera solo si el indicador: " create404page" está establecido en verdadero en el archivo config.json (sección del renderizador).
Etiquetas específicas de la plantilla
Esta plantilla no utiliza ninguna etiqueta específica de plantilla.
Etiquetas comunes
- {{title}} - título de la página
- {{metaTitleRaw}} - metatítulo en formato original
- {{metaDescriptionRaw}} - meta descripción en formato original
- {{metaRobotsRaw}} : valor de los meta robots en formato sin procesar
- {{#featuredPosts}} - matriz de elementos de publicaciones destacadas
- {{hiddenPosts}} - matriz de elementos de publicaciones ocultas
- {{pages}} - matriz de elementos de página
- {{#tags}} - matriz de todos los elementos de etiqueta disponibles en el sitio web
- {{#siteOwner}} - información sobre el autor principal como autor del artículo
- {{#authors}} - matriz de todos los elementos de autor en el sitio web (si está habilitada la visualización de autores sin publicaciones, también contendrá autores sin publicaciones)
- {{menus}} - matriz de menús asignados (la clave es el nombre de una posición del menú)
- {{unassignedMenus}} - matriz de menús no asignados (la clave es un fragmento del nombre del menú)
Etiquetas de feed
A continuación encontrará una lista de todas las etiquetas de manillar disponibles para los archivos feed-xml.hbs y feed-json.hbs
Etiquetas específicas de la plantilla
- {{siteName}} - nombre del sitio web
- {{siteDomain}} - dominio del sitio web
- {{siteLastUpdate}} - fecha de la última actualización
- {{siteAuthor}} - nombre del autor principal
- {{#posts}} - lista de las publicaciones
- {{title}} - título de la publicación
- {{url}} - URL de la publicación
- {{excerpt}} - texto de introducción de la publicación
- {{text}} - publicar texto completo
- {{author}} - nombre del autor de la publicación
- {{modifiedAt}} - fecha de modificación posterior
- {{#categories}} - lista de categorías de publicaciones
- {{name}} - nombre de la categoría
- {{thumbnail}} - URL de la miniatura de la publicación
Etiquetas comunes
Esta plantilla no utiliza ninguna etiqueta común.
introducción - variables globales
Durante la representación del sitio web, tiene acceso a algunas variables globales que almacenan objetos con datos útiles adicionales.
- @config : le brinda acceso a la configuración de temas y publicaciones.
- @customCommentsCode : le permite admitir complementos de comentarios de Publii .
- @customSearchInput y @customSearchContent : le permiten admitir complementos de búsqueda de Publii
- @customHTML : le brinda acceso al código HTML personalizado desde la sección Herramientas -> HTML personalizado .
- @pagination : se puede utilizar para crear paginación en etiquetas, autores y página de inicio.
- @renderer : contiene datos adicionales para el proceso de renderizado,
- @utils - contiene valores útiles adicionales,
- @website : almacena información útil sobre su sitio
Variable global @config
Los valores de las opciones de tema están disponibles en la variable global @config . Hay tres grupos de configuraciones:
- @config.basic. * - configuración básica del tema (la misma para todos los temas)
- @config.custom. * - configuraciones del tema definidas por el autor del tema,
- @config.site.* - configuración del sitio web definida en la pestaña "Configuración del sitio" en Publii,
- @config.post. * - configuración del tema de vista de publicación (disponible solo en las páginas de publicación individuales para temas que lo admiten)
Variable global @customHTML
La variable global @customHTML contiene un objeto con código HTML personalizado definido por el autor del tema. Para crear áreas HTML personalizadas en su tema, debe agregar la sección customHTML en la sección de renderizador del archivo config.json del tema:
El código anterior creará dos nuevas secciones HTML personalizadas: beforePost y afterPost ; están disponibles a través de las variables @customHTML.beforePost y @customHTML.afterPost .
El código HTML personalizado para estas secciones se puede definir en la sección Herramientas -> HTML personalizado de Publii.
Variable global @customCommentsCode
Cuando desee agregar soporte para complementos de comentarios de Publii , es necesario agregar soporte para las características customCommentsmenos compatibles del tema.
Para agregar soporte para complementos de comentarios, debe agregar el siguiente fragmento de código en el lugar donde deben mostrarse los comentarios:
Por ejemplo, nuestro tema Simple implementa esta función en el archivo post.hbs de la siguiente manera:
Esto significa que los comentarios se muestran solo si están habilitados para la publicación determinada o globalmente en la configuración del tema (si la publicación usa un valor de configuración global).
Variable global @customSearchContent
Algunos de los complementos de búsqueda de Publii pueden generar resultados de búsqueda como un área separada. Para gestionar correctamente esta función, debe implementar dos cambios en su tema:
1. Agregar soporte para búsqueda personalizada
Simplemente agregue customSearchdebajo de su tema la sección Características compatibles .
2. Implementar la variable global @customSearchContent
En la forma más sencilla, solo debes agregar el siguiente código en tu tema al archivo search.hbs :
Luego, los complementos que usan esta variable global mostrarán sus resultados de búsqueda.
Variable global @customSearchInput
Algunos de los complementos de búsqueda de Publii generan un campo de entrada de búsqueda. Para gestionar correctamente esta función, debes implementar dos cambios en tu tema:
1. Agregar soporte para búsqueda personalizada
Simplemente agregue customSearchdebajo de su tema la sección Características compatibles .
2. Implementar la variable global @customSearchInput
En la forma más sencilla solo debes agregar el siguiente código en tu tema:
Por ejemplo, nuestro tema Simple implementa esta función de la siguiente manera:
Utiliza una interfaz de usuario adicional que se puede manejar con algunos de los complementos de búsqueda.
Variable global @pagination
Las páginas de inicio, de etiquetas y de autor admiten la paginación. Se basa en algunas variables globales y ayudantes. Puede utilizar la paginación no solo para crear enlaces de paginación, sino también para un enlace con rel="prev"o rel="next"atributos.
- @pagination : variable que se utiliza para detectar si la paginación está disponible en la vista específica. Si es falso, no hay paginación en la vista actual.
- @pagination.context - contexto de la paginación. Cadena vacía para la página de inicio, slug de etiqueta para las páginas de etiqueta, slug de autor para las páginas de autor,
- @pagination.pages - matriz con números para cada página disponible,
- @pagination.totalPosts - número total de publicaciones,
- @pagination.totalPages - número total de páginas de paginación,
- @pagination.currentPage - número de la página actual,
- @pagination.postsPerPage - número de publicaciones por página,
- @pagination.nextPage - número de la siguiente página (o falso si no existe),
- @pagination.previousPage - número de la página anterior (o falso si no existe),
- @pagination.nextPageUrl - URL a la siguiente página (o falso si no existe ninguna),
- @pagination.previousPageUrl - URL a la página anterior (o falso si no existe ninguna).
Un ejemplo de paginación para motores de búsqueda con uso de las variables de paginación globales:
Un ejemplo de un enlace de paginación está disponible en Partials -> pagination.hbs
Variable global @renderer
El motor de renderizado ofrece variables globales adicionales que pueden ser útiles en algunos casos, por ejemplo, si desea mostrar algunas secciones solo en la primera o última página de los listados de publicaciones.
- @renderer.isFirstPage : verdadero si la página mostrada es la primera página del listado, falso en caso contrario.
- @renderer.isLastPage : verdadero si la página mostrada es la última página del listado, falso en caso contrario.
- @renderer.previewMode : verdadero si la página se muestra en la vista previa
- @renderer.ampMode : verdadero si la página mostrada está en modo amplificador
@utils variable global
La variable global @utils se ha creado para almacenar valores útiles.
En este momento @utils contiene solo dos campos:
currentYear que se puede utilizar para crear pies de página que contendrán el valor del año adecuado después de la sincronización del sitio web:
buildDate : devuelve la marca de tiempo de compilación, que se puede utilizar para generar la fecha legible por humanos junto con el asistente de fecha :