Estructura del tema Publii
Cada tema de Publii debe contener algunos archivos obligatorios, pero también se pueden incluir algunos archivos de forma opcional en el tema.
Se requieren los siguientes archivos:
- config.json - archivo de configuración del tema principal,
- index.hbs - plantilla de página de inicio,
- post.hbs - plantilla de publicación única,
- miniatura.png - que se mostrará en la configuración de la aplicación (dimensiones requeridas: 400x300px),
- assets/css/main.css : archivo CSS principal que se utiliza para generar el archivo styles.css (que se fusiona con el archivo override.css generado opcionalmente ).
Se recomiendan estos archivos:
- tag.hbs - plantilla de página de etiqueta única,
- tags.hbs - plantilla de página de etiquetas individuales,
- author.hbs - plantilla de página de autor único,
- partials/ - ubicación de los archivos que se cargarán con el uso del
{{> fileName}}código, - partials/footer.hbs - pie de página utilizado en todas las páginas,
- partials/header.hbs - encabezado utilizado en todas las páginas
Y estos archivos son opcionales:
- visual-override.js : archivo que contiene una función utilizada para generar el archivo override.css,
- feed-xml.hbs : la estructura del archivo XML del feed, generado como feed.xml (el archivo feed-xml.hbs se reemplazará con el predeterminado de la aplicación si no existe uno en el tema),
- feed-json.hbs : la estructura del archivo JSON del feed, generado como feed.json (el archivo feed-json.hbs se reemplazará con el predeterminado de la aplicación si no existe uno en el tema),
- search.hbs : plantilla de página de resultados de búsqueda dedicada. Esta plantilla es necesaria para los temas que pretenden ofrecer capacidades de búsqueda mejoradas o integrarse con complementos de búsqueda específicos, como un complemento de búsqueda de Google.
- partials/pagination.hbs - paginación para todas las páginas (la paginación parcial será reemplazada con la predeterminada de la aplicación si no existe en el tema),
- partials/menu.hbs - estructura del menú para todas las páginas (el menú parcial será reemplazado por el predeterminado de la aplicación si no existe uno en el tema).
- post-template.hbs : un archivo de plantilla de publicación alternativa que se puede seleccionar para publicaciones individuales y que ofrece un diseño personalizado distinto de la
post.hbsplantilla predeterminada. - tag-template.hbs : un archivo de plantilla personalizado para páginas de etiquetas individuales. Esta plantilla permite un diseño o disposición únicos para páginas que incluyen publicaciones asociadas con una etiqueta en particular.
- author-template.hbs : un archivo de plantilla alternativo dedicado a la página de cada autor. Esta plantilla le permite aplicar un diseño o disposición únicos para las páginas que muestran publicaciones escritas por un autor específico.
- helpers.js : un archivo JavaScript que contiene definiciones de ayudantes Handlebars personalizados adaptados a las necesidades específicas del tema.
- dynamic-assets-mapping.js : un archivo JavaScript que genera una lista de rutas de recursos que se deben cargar de forma dinámica según la configuración del tema. El uso principal de este archivo es administrar recursos como fuentes, imágenes u otros medios que pueden variar según las opciones de personalización del usuario o las opciones del tema.
- theme-variables.js : un archivo JavaScript que genera dinámicamente propiedades CSS personalizadas (variables) en función de la configuración del tema. El resultado
theme-variables.jses crucial para definir parámetros de estilo fundamentales, como colores, familias de fuentes, tamaños y más. El aspecto clave de este archivo es que su resultado se inyecta normalmente al principio delstyle.cssarchivo. Esta posición garantiza que las variables CSS definidas estén disponibles y se puedan utilizar en el resto del archivo CSS, lo que proporciona una base de estilo coherente y fácilmente personalizable para el tema. - visual-override.js : el propósito de este archivo JavaScript es generar estilos CSS personalizados que permitan modificaciones específicas de los estilos predeterminados del tema en función de los parámetros configurados por el usuario. A diferencia de
theme-variables.js, la salida devisual-override.jsse agrega al final delstyle.cssarchivo. Esta ubicación es estratégica, ya que garantiza que las modificaciones personalizadas precedan a los estilos definidos previamente, lo que permite una personalización y ajustes efectivos de la apariencia del tema.