Secciones principales
El parámetro mainSections se utiliza para filtrar páginas; el valor predeterminado es ["posts", "docs"].
1mainSections = ["blog", "posts", "docs", "notes"]
Asunto frontal
Front Matter es el lugar donde colocamos los metadatos y parámetros de la página, como el título, la fecha, etc.
Formatos
Hugo admite tres formatos de portada: YAML, TOML y JSON.
TOML: identificado abriendo y cerrando+++.YAML: identificado abriendo y cerrando---.JSON: un único objeto JSON rodeado por{y}, seguido de una nueva línea.
Tomemos TOML como ejemplo:
1+++
2title = 'Hello world!'
3+++
Véase también Parámetros de página y Materia frontal de Hugo.
Tipos de contenido
Es posible que desee utilizar el diseño docs en otras secciones en lugar de /docs, como /notes.
Es fácil hacerlo configurando type = "docs" en la portada.
Arquetipos
También podemos crear un arquetipo para notes, dejemos que Hugo se encargue del type.
1$ cp themes/hugo-theme-bootstrap/archetypes/default.md archetypes/notes.md
Y el anexo type = "docs" en la portada de archetypes/notes.md. Ahora, hugo new notes/blah-blah-blah copiará el contenido de archetypes/notes.md a tus nuevas notas.
De manera similar, también puedes personalizar los arquetipos para posts, docs, etc.
Escribe nuevos artículos
Supongamos que el idioma predeterminado es
en.
1$ hugo new posts/new-post/index.md
El comando anterior crea una nueva publicación escrita en inglés. Del mismo modo, podemos crear un post escrito en chino simplificado:
1$ hugo new posts/new-post/index.zh-cn.md
Recuerde que las publicaciones creadas generalmente se encuentran en estado de borrador. Deberá especificar el parámetro
-Ddel comandohugo serverpara obtener una vista previa. De manera similar, debe cambiar el parámetrodraftafalseo eliminar el parámetrodraftsi desea publicar el artículo.
Orden de selección de resúmenes
- Si
descriptionno está vacío, entonces se usará; para usar resúmenes todo el tiempo, debe configurarpost.excerptcomo cadena vacía explícitamente. - División manual mediante
<!–more–>. - Si
summaryen la portada no está vacío, entonces se seleccionarásummary. - El texto del contenido será cortado por
post.excerptMaxLengthy formateado en texto plano o HTML cuandopost.plainifyExcerpt = true.
1[post]
2 # excerptMaxLength = 120
3 # copyright = false # Whether to display copyright section on each post.
4 # plainifyExcerpt = false # Format excerpt in HTML if false.
Orden de selección de imágenes destacadas
- Se prefiere el
imagesen el tema inicial. - Recursos de imágenes de página que coincidan con el patrón
*feature*. Comoposts/my-page/feature.png,posts/my-page/featured-sample.jpg.
La imagen destacada no aparece encima del contenido de forma predeterminada; deberá activar esta función mediante el siguiente parámetro.
config/_default/params.toml
1[post]
2 featuredImage = true
config/_default/params.yaml
1post:
2 featuredImage: true
config/_default/params.json
1{
2 "post": {
3 "featuredImage": true
4 }
5}
Orden de selección de miniaturas
- Se prefiere el
imagesen el tema inicial. - Recursos de imágenes de página que coincidan con los patrones del nombre de archivo:
*feature*,*cover*y*thumbnail*. Comoposts/my-page/feature.png,posts/my-page/thumnail.jpg.
Los recursos de imágenes de la página cambiarán de tamaño a varias versiones más pequeñas para adaptarse a los dispositivos de los usuarios para ahorrar ancho de banda.
Fijar publicaciones
Puede fijar publicaciones en la página de inicio configurando pinned como true en la portada.
1+++
2title = "Pinned Post"
3pinned = true
4pinnedWeight = 100
5+++
Si hay varias publicaciones fijadas, se ordenan por
pinnedWeighten orden descendente.
1pinnedPost = false # Disable pinned posts globally.
2pinnedPostCount = 2 # The number of pinned posts shown on home page.
Carrusel
Mostrando publicaciones en carrusel.
1+++
2carousel = true
3+++
Autores
HBS apoya la taxonomía de los autores. En primer lugar, deberá habilitarlo estableciendo la siguiente configuración.
config.toml
1[taxonomies]
2 author = 'authors'
config.yaml
1taxonomies:
2 author: authors
config.json
1{
2 "taxonomies": {
3 "author": "authors"
4 }
5}
Y luego define el authors en tus publicaciones.
1+++
2authors = [
3 "Foo",
4 "Bar"
5]
6+++
Ahora, los autores estarán presentes en las meta taxonomías y en la barra lateral de la publicación.
Finalmente, es posible que necesitemos presentar al autor con más detalle. Tome Foo como ejemplo, simplemente cree una página con el siguiente contenido y guárdela como /content/authors/foo/index.md.
1---
2title: Razon Yang
3description: Gopher, PHPer, Full Stack Engineer.
4social:
5 github: razonyang
6 twitter: razonyang
7---
title: el nombre para mostrar del autor.description: La introducción.social: Enlaces sociales.
La imagen del autor debe colocarse en la misma carpeta con el patrón avatar*, como /content/authors/foo/avatar.png. Si no hay avatar, social.email se utilizará para generar el avatar de Gravatar.
Comentarios