Desde nuestra serie original de tutoriales de creación de temas de Ghost se publicó a finales de 2013, un mucho De los nuevos cambios han pasado por la temática API. Hay algunos requisitos nuevos para los temas, algunas cosas que están en desuso y una gran cantidad de nuevos ayudantes, contextos, plantillas y funciones adicionales..
En este tutorial tomaremos "UberTheme", el tema que se completó en la lección seis de la serie, lo actualizaremos para cumplir con los requisitos actuales e incluiremos algunas de las últimas adiciones a Ghost.
No estaremos implementando cada Una nueva característica en nuestro tema, ya que hay demasiadas para incluir en un tutorial, sin embargo, vamos a repasar muchas de estas nuevas y excelentes características de la misma manera..
Los temas ahora requieren un archivo "package.json" para definir el nombre del tema. Este archivo también puede contener el número de versión del tema.
En la carpeta raíz de su UberTheme, cree un archivo llamado "package.json" y agregue el siguiente código dentro:
"nombre": "UberTheme", "versión": "1.0.1"
En este momento, los temas solo usan estos dos campos, pero a medida que el ecosistema de Ghost crezca, se agregarán campos adicionales para exponer la información del desarrollador y ayudar con las actualizaciones y la administración de compatibilidad..
Más información se puede encontrar en los documentos del desarrollador de Ghost.
Siempre que cargue CSS, JS o imágenes de la carpeta de "elementos" del tema, ahora debe utilizar el activo
ayudante. Esto ayuda con el almacenamiento en caché, asegurando las rutas de carga correctas y asegurándose de que los temas estén estructurados de manera uniforme para que las personas puedan contar con la búsqueda de una carpeta de "activos" adecuadamente utilizada en cualquier tema.
Abra el archivo "default.hbs" de UberTheme para editar y ubicar las líneas 12 a 14:
! Guiones
Edítalos para usar el activo
ayudante de la siguiente manera:
! Guiones
Lea más en los documentos de desarrollo de Ghost.
En realidad, no utilizamos ninguna de las siguientes opciones en UberTheme, por lo que no tendrá que realizar ninguna edición en el tema debido a la desaprobación. Sin embargo, en cualquiera de tus otros proyectos temáticos de Ghost, asegúrate de que ya no utilices estas funciones:
Este ayudante solía ser algo que podría utilizarse en las plantillas de paginación. Ahora usa URL de la página
en lugar.
Este ayudante se elimina y ahora solo genera una cadena vacía. Revisa dos veces las secciones de autor y asegúrate de que no estén en uso..
plantilla de archivo
y página
Estas clases solían ser de salida si se utiliza el body_class
ayudante, pero ya no están en su lugar.
post-plantilla
Claselos post-plantilla
clase solía ser emitida a través de la body_class
Ayudante en las páginas, pero ahora solo aparece en las publicaciones..
Ghost tiene una serie de "contextos" en los que puedes encontrarte mientras navegas por un blog. Por ejemplo, cuando lees una sola publicación, estás en el contexto de "publicación". Ahora hay varios contextos recién agregados que muestran varios tipos de contenido. A continuación, vamos a cubrir los nuevos contextos de "autor", "página", "etiqueta" y "inicio".
Además de estos nuevos contextos, también hay varias plantillas nuevas que puede agregar a su tema para niveles más finos de control sobre la presentación. Tenga en cuenta que si agrega nuevas plantillas a su tema, tendrá que reiniciar Ghost para que el sistema las recoja y sean operativas..
Ghost ahora admite páginas estáticas y publicaciones, lo que lo hace perfecto de muchas maneras para crear un sitio típico para pequeñas empresas de cinco páginas. Para crear una página estática, primero agregue una publicación regular y luego haga clic en la pequeña engranaje Icono en la esquina inferior derecha de la interfaz de edición. A continuación, marque la casilla en la barra lateral de configuración etiquetada Convierte este post en una página estática..
Agregue una plantilla "page.hbs" a su tema para controlar el estilo de la página estática, o deje que se repliegue usando la plantilla "post.hbs".
En UberTheme, duplique la plantilla "post.hbs" existente y cambie su nombre a "page.hbs". Vamos a eliminar la marca de esta plantilla que las páginas no necesitan realmente, es decir, la fecha de publicación, las etiquetas, la barra para compartir, la información del autor y la paginación..
Localiza el Elemento en la línea 7 y eliminarlo:
Ahora borre todo el camino de la línea 12:
#if tags… Hasta la línea 38, justo antes del cierre
etiqueta:
/SiLuego borre también de lo que ahora es la línea 14, a la línea 18:
#if paginaciónpaginación/SiSus páginas deberían aparecer ahora solo con el título y el contenido de la página:
Las plantillas para páginas específicas también se pueden crear con la sintaxis de nombres de archivo "page - slug. Hbs", p. Ej. "Page-contact-us.hbs".
Lee más en la documentación del desarrollador de Ghost..
Página de autor / Contexto y plantilla de autor personalizada
Ahora que Ghost es compatible con varios usuarios, es posible ver una lista de todas las publicaciones que un autor en particular ha escrito. Para poder acceder fácilmente a estas listas de publicaciones de autores, deberá agregar la atribución de autor a la visualización de publicaciones de su tema..
Primero, agregaremos una atribución de autor a UberTheme editando el archivo "index.hbs" y agregando el siguiente código justo antes de
contenido
etiqueta:Escrito por autor
También querrá hacer la misma adición en el archivo "post.hbs".
Desde la carpeta "MENOS" de su proyecto de tema, también edite el archivo "layout.less" y agregue este estilo, para poner en cursiva el texto del autor:
.autor font-style: italic;Ahora deberías tener una atribución de autor en la parte superior de tus publicaciones, como esta:
Notarás que el nombre del autor está vinculado automáticamente; ese enlace va a una pantalla de todas las publicaciones escritas por el autor en cuestión. De forma predeterminada, esta lista de publicaciones de autor utiliza la plantilla "index.hbs", pero también puede personalizar la presentación con una plantilla llamada "author.hbs".
Para plantillas específicas de autor, use la sintaxis de nombres de archivo "autor - slug. Hbs", por ejemplo. "Autor-kezz.hbs".
Una vez más, se puede encontrar más información sobre esto en los documentos del desarrollador de Ghost..
Páginas de etiquetas / Contexto de etiquetas y plantillas de etiquetas personalizadas
Al usar el
tags
para mostrar las etiquetas asociadas con las publicaciones, cada etiqueta ahora se vinculará a una página que muestra todas las publicaciones que llevan la misma etiqueta..Cree un archivo de plantilla "tag.hbs" si desea personalizar la visualización de la página de etiquetas de su tema, o alternativamente, deje que retroceda al archivo "index.hbs".
Para agregar una página de etiqueta a UberTheme, duplique la plantilla "index.hbs" y cámbiele el nombre a "tag.hbs". Directamente después de la apertura.
etiqueta agregar este código:
#etiqueta/etiquetaMensajes etiquetados: nombre
Esto agregará un encabezado a sus páginas de lista de etiquetas que muestran el nombre de la etiqueta actual.
En su archivo "layout.less", después la
.article_uber
Selector de estilo, añade este código:.tag_heading font-size: 2rem; relleno: 0 0 2rem 0; text-align: center; margen inferior: 0.25rem;Cuando vaya a una página de listado de etiquetas, ahora debería tener una sección de encabezado para esto:
Para crear diferentes plantillas para etiquetas específicas, use la sintaxis de nombres de archivo "etiqueta - slug. Hbs". Esto puede ser genial para cosas como crear galerías de imágenes a partir de las publicaciones etiquetadas como "galería", por ejemplo, usando una plantilla llamada "tag-gallery.hbs".
Home Context / Home Template
Es posible que desee tener una plantilla diferente para su página de inicio que para las listas subsiguientes de publicaciones a medida que la página de personas. Por ejemplo, puede tener una imagen de portada grande o una presentación de diapositivas en su página de inicio que no desea que los visitantes tengan que desplazarse de nuevo en la siguiente página de publicaciones..
Para personalizar la visualización de su página de inicio, cree una plantilla llamada "home.hbs".
Lee más en la documentación del desarrollador de Ghost..
Páginas de error personalizadas
Si desea controlar la presentación exacta de las páginas de error, ahora puede crear una plantilla llamada "error.hbs".
Lee más en (¿puedes adivinarlo?) Documentos de desarrolladores de Ghost!
Nuevos ayudantes
Ghost ha introducido varios nuevos ayudantes; tipo de etiquetas de plantilla que le ayudan a generar ciertos tipos de contenido en su tema.
navigation Ayudante
Ahora es posible crear menús básicos de navegación en Ghost, yendo a Ajustes> Navegación en el área de administración.
Para hacer que aparezca un menú de navegación en su UberTheme, abra el archivo "header.hbs" de la carpeta "partials" y agregue este código antes de la última etiqueta div de cierre:
Desde la carpeta “MENOS” del proyecto, abra “layout.less” y localice el
.header_uber
clase. En ella, en la línea 33, cambia elfondo acolchado
valor de:parte inferior de relleno: 3 * @golden + 0em;… a:
parte inferior de relleno: 1.5 * @golden + 0em;Luego agrega el siguiente código para darle estilo a tu nuevo menú de navegación:
ul.nav list-style-type: none; margen superior: 1.5 * @golden + 0em; relleno: 0; pantalla: flexión; justificar-contenido: centro; borde superior: 0.0625rem sólido aclarar (@ color_03, 33%); borde inferior: 0.0625 relé sólido (@ color_03, 33%); color de fondo: aclarar (@ color_03, 42%); li margen: 0 0.25em; relleno: 0.75em 1em; a texto-decoración: ninguno;Nota: Estamos usando flexbox aquí para una implementación rápida y fácil del menú, pero si necesita admitir navegadores heredados, es posible que desee utilizar un enfoque diferente.
Tu tema ahora debería tener un menú de navegación que se vea así:
Lea más sobre la navegación en el ... ya sabes.
image Ayudante
Ghost ahora ofrece la posibilidad de agregar una imagen destacada a cualquier publicación. Para agregar una imagen, haga clic en el pequeño icono de engranaje en la parte inferior derecha de la interfaz de edición posterior, luego haga clic en Añadir imagen de publicación cuadrado en la parte superior de la barra lateral que salta. Alternativamente, arrastra y suelta una imagen sobre ella.
Para dar salida a la imagen de la publicación use la
imagen
ayudante. En UberTheme, abra el archivo "index.hbs" y localice elcontenido
etiqueta en la línea 12:contenidoDirectamente encima de él, agregue un elemento de imagen usando la
imagen
ayudante en elsrc
atributo. También usaremos el título del post en elalt
atributo, y envolverlo con un#if imagen… / if
Compruebe para asegurarse de que hay una imagen para mostrar:#if imagen / if contentAhora debería poder ver cualquier imagen de publicación agregada justo debajo del título de la publicación en su tema, así:
Vamos docs.
#has Ayudante
El nuevo
#tiene
el helper le permite verificar si una publicación tiene un autor determinado como autor y / o tiene ciertas etiquetas asociadas. Esto le permite hacer cosas como crear diferentes tipos de presentación para diferentes autores o, en el caso de las etiquetas, configurar diferentes tipos de publicaciones similares a los temas de Tumblr o los formatos de publicación de WordPress.Por ejemplo, puede hacer que todas las publicaciones etiquetadas como "foto" se presenten con un diseño de foto especial, todas las publicaciones etiquetadas como "video" se presenten a su manera, y otras publicaciones vuelvan al marcado predeterminado:
#has tag = "photo" Presentación de publicación de foto especial aquí else #has tag = "video" Presentación de publicación de video especial aquí else Volver a la presentación predeterminada / tiene / hasDocs.
#is ayudante
Hasta ahora, hemos pasado por muchos de los nuevos "contextos" dentro de un sitio de Ghost, como "publicar", "autor", "página", "etiqueta" y "inicio". los
#es
el ayudante le proporciona una forma de controlar el resultado en una plantilla dependiendo del contexto en el que se utiliza la plantilla.Por ejemplo, en lugar de crear una plantilla diferente de "tag.hbs" como hicimos anteriormente, puede agregar lo siguiente a su archivo "index.hbs":
# es "tag" #tag/ tag / isMensajes etiquetados: nombre
los
# es "etiqueta"
la línea verifica si el contexto actual es "etiqueta", es decir, que el espectador está mirando una lista de publicaciones bajo una etiqueta determinada, y solo así se mostrará el encabezado de la etiqueta.Lee mas.
#prev_post y #next_post Ayudantes
Si lo desea, ahora puede agregar un Siguiente post y un Publicación anterior Enlace para permitir que los lectores pasen directamente de leer una publicación a otra. Estos enlaces deben agregarse a la plantilla "post.hbs".
Un ejemplo de cómo se pueden implementar estos enlaces, (desde la página de documentos de Ghost), es el siguiente:
#enviartítulo
contenido#prev_post title / prev_post #next_post title / next_post / postPlantillas primordiales
Todas las plantillas que hemos cubierto hasta ahora se corresponden con ciertos contextos, sin embargo, hay algunas que se pueden usar para controlar la salida de ciertos ayudantes, por ejemplo,.
navegación
ypaginación
. Por defecto, Ghost maneja la salida de estos ayudantes automáticamente, pero tiene la opción de definir su propia salida dentro de su tema.Plantilla de navegación
La salida de marcado por defecto por el
navegación
ayudante es:#para navegar por navegación
- etiqueta
/para cadaPara utilizar su propio marcado de navegación, cree un archivo llamado "navigation.hbs" y colóquelo en el directorio de parciales de su tema.
Leer más en los documentos..
Plantilla de paginación
La posibilidad de crear una plantilla personalizada para el
paginación
helper no es realmente nuevo, pero es algo que no cubrimos previamente en la serie y, por lo tanto, vale la pena mencionar aquí. El valor por defectopaginación
El código en Ghost es:Anula este código con el tuyo creando una plantilla llamada "pagination.hbs" en la carpeta "parciales" de tu tema.
Más aquí en los documentos..
Características adicionales
Además de nuevos contextos, plantillas y ayudantes, Ghost también tiene algunas cosas más agregadas a la mezcla.
Publicaciones destacadas
Si desea marcar una publicación específica como "Destacada", ahora hay dos formas en la interfaz de administración.
Desde el espacio de administración que enumera todas tus publicaciones, haz clic en la pequeña estrella en la esquina superior derecha de la ventana de vista previa de la publicación.
Desde el interior del editor de publicaciones, haga clic en el pequeño icono de engranaje en la parte inferior derecha de la pantalla, luego marque la casilla etiquetada Destacar este post.
En su tema, si desea utilizar un marcado diferente para las publicaciones destacadas, compruebe si una publicación aparece con
# si aparece
#para publicar mensajes # si aparece más / if / foreachPublicaciones destacadas también llevan la clase
destacado
Permitiéndote apuntarlas para diferentes estilos en tu CSS. Para que esta clase sea de salida, incluya elpost_class
ayudante en tus mensajes.Por ejemplo, en los archivos "index.hbs", "post.hbs" y "page.hbs" de UberTheme, cambie esta línea:
… a:
De forma predeterminada, las publicaciones destacadas no se ubican por encima de otras publicaciones, se encuentran en su posición habitual según el momento en que se publicaron. Sin embargo, si desea que las publicaciones destacadas aparezcan primero, necesitará dos bucles de publicaciones: una para las publicaciones destacadas y otra para las publicaciones regulares.
#foreach posts # si aparece ! - Muestra las publicaciones destacadas aquí - / if / foreach # # foreach posts #unless destacado ! - Muestra publicaciones regulares aquí - / menos / foreachTodo el mundo canta ahora: lee más en los documentos..
Favicons personalizados
Para configurar un favicon personalizado, coloque su archivo "favicon.ico" en la carpeta "elementos" y cárguelo en el
sección de tu tema con
asset "/favicon.ico"Lea más en Wikipedia (bromeando, pruebe los documentos de Ghost).
Terminando
Eso es un montón de nuevo poder agregado en el desarrollo del tema Ghost, con una gran cantidad de nuevas oportunidades para el desarrollo creativo del tema!
Para resumir, tenemos:
- Archivo "package.json" y
activo
se requiere uso del ayudante- Navegación agregada, con la posibilidad de personalizar su salida HTML.
- Imágenes destacadas añadidas
- Nuevos ayudantes para permitir muchas más opciones en el marcado.
- Páginas estáticas y plantillas personalizadas para ellos.
- Etiqueta páginas y plantillas personalizadas para ellos.
- Páginas de autor y plantillas personalizadas para ellos.
- Plantilla de página de inicio
- Plantilla de error personalizada
- Publicaciones destacadas
- Favicons personalizables
Incluso con todo lo que hemos cubierto aquí, hay más nuevos ayudantes y funciones disponibles en Ghost, así como más detalles sobre todo lo anterior, así que asegúrese de tener una buena lectura en themes.ghost.org para obtener todos los detalles y salidas.
Adjunto a este tutorial encontrará una descarga del archivo fuente donde puede obtener el tema actualizado, así como el archivo "layout.less" editado. Utilice UberTheme como su área de juegos de prueba para familiarizarse con todo lo nuevo en Ghost, luego salga y cree algunos temas asombrosos!
Mercado de envato
No te olvides de revisar la categoría Fantasma en Envato Market!