Como usar modelos integrados ao Hugo: um guia passo a passo
Publicados: 2024-11-27Hugo é um poderoso gerador de sites estáticos que permite aos desenvolvedores e criadores de conteúdo construir rapidamente sites rápidos e escalonáveis. Uma das principais características do Hugo é o seu sistema de templates, que auxilia na estruturação do conteúdo e na customização da aparência do site. Se você é novo no Hugo ou deseja aproveitar seus recursos de modelagem de forma mais eficaz, este guia passo a passo mostrará como usar os modelos integrados ao Hugo.
O que são modelos no Hugo?
Os templates no Hugo são arquivos que definem como o conteúdo do seu site será renderizado. Eles são compostos por HTML, CSS e código específico do Hugo, permitindo personalizar o layout do seu site. Os modelos podem ser usados para diversos fins, como criação de cabeçalhos, rodapés, páginas únicas, listas e muito mais.
Hugo possui templates integrados que fazem parte de sua estrutura de tema, e também permite criar templates customizados para maior flexibilidade. Esses modelos são aplicados automaticamente com base no tipo de conteúdo, estrutura de URL e outras variáveis, facilitando o gerenciamento de sites complexos.
Passo 1: Instale o Hugo e crie um novo site
Antes de mergulhar nos modelos, primeiro você precisa instalar o Hugo e configurar seu site. Veja como você faz isso:
- Instale Hugo :
- Caso ainda não tenha instalado o Hugo, siga o guia de instalação oficial do seu sistema operacional: Instalando o Hugo.
- Crie um novo site Hugo :
- Execute o seguinte comando em seu terminal para criar um novo site:
hugo new site mysite
- Isso criará um novo diretório chamado
mysite
com a estrutura básica de arquivos do seu projeto Hugo.
- Execute o seguinte comando em seu terminal para criar um novo site:
Etapa 2: adicione um tema
Hugo trabalha com temas para gerenciar a forma como o conteúdo é exibido. Você pode usar um tema existente do Hugo Themes ou criar um personalizado. Para simplificar, vamos usar um tema da biblioteca de temas do Hugo.
- Adicione um tema :
- Você pode adicionar um tema clonando-o em seu diretório
themes/
. Por exemplo, vamos usar o tema “Ananke”:git init git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
- Você pode adicionar um tema clonando-o em seu diretório
- Configure o tema :
- Abra seu arquivo
config.toml
e defina o tema:theme = "ananke"
- Abra seu arquivo
Etapa 3: compreender a estrutura do modelo Hugo
O sistema de templates de Hugo é baseado na linguagem de templates Go. Os modelos são divididos em diversas categorias com base em sua finalidade:
- Modelos básicos : esses são os modelos abrangentes que envolvem o conteúdo. Eles geralmente incluem seções comuns como cabeçalhos, rodapés e navegação.
- Modelos de conteúdo : definem como os tipos de conteúdo individuais (por exemplo, postagens de blog, páginas, seções) são exibidos.
- Modelos de lista : esses modelos controlam como os grupos de conteúdo são apresentados (por exemplo, uma lista de postagens de blog).
- Modelos parciais : são trechos reutilizáveis menores (por exemplo, barra de navegação ou rodapé) incluídos nos modelos principais.
Diretórios de modelos comuns
-
layouts/
: Contém todos os arquivos de layout comoindex.html
,single.html
, etc. -
themes/
: contém modelos que acompanham o tema escolhido. -
content/
: Armazena seus arquivos de conteúdo (geralmente escritos em Markdown).
Etapa 4: crie um modelo
Vamos explorar como criar e modificar um modelo para uma página.
- Crie um novo arquivo de conteúdo :
- Para criar uma nova página (por exemplo, uma postagem de blog), use o seguinte comando:
hugo new posts/my-first-post.md
- Isso cria um novo arquivo Markdown dentro
content/posts/
com assunto inicial (YAML ou TOML) e um espaço reservado para seu conteúdo.
- Para criar uma nova página (por exemplo, uma postagem de blog), use o seguinte comando:
- Crie um modelo para páginas únicas :
- No diretório
layouts
, crie um arquivo chamadosingle.html
dentro delayouts/_default/
. Isso controlará como as páginas de conteúdo individuais serão exibidas.<!-- layouts/_default/single.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <article> {{ .Content }} </article> </main> </body> </html>
- Este modelo exibirá o título e o conteúdo de qualquer página que você criar.
- No diretório
- Crie um modelo de lista :
- Da mesma forma, você pode criar um modelo de lista para exibir vários itens de conteúdo (por exemplo, uma lista de postagens). Crie um
list.html
no diretóriolayouts/_default/
.<!-- layouts/_default/list.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <ul> {{ range .Pages }} <li><a href="{{ .Permalink }}">{{ .Title }}</a></li> {{ end }} </ul> </main> </body> </html>
- Da mesma forma, você pode criar um modelo de lista para exibir vários itens de conteúdo (por exemplo, uma lista de postagens). Crie um
Etapa 5: Personalização de modelos
Você pode aprimorar seus modelos com o rico conjunto de funções de modelagem do Hugo. Por exemplo, você pode incluir CSS personalizado, fazer loop sobre variáveis ou formatar datas:
- Adicionando CSS : você pode vincular um arquivo CSS ao seu modelo:
<link rel="stylesheet" href="{{ "styles.css" | relURL }}">
- Formatar datas : use a função
date
para exibir datas em um formato específico:<p>Published on: {{ .Date.Format "January 2, 2006" }}</p>
Etapa 6: veicular e visualizar seu site
Depois que seus modelos estiverem configurados e você tiver adicionado conteúdo, você poderá visualizar seu site localmente:
hugo server
Navegue até http://localhost:1313
para visualizar seu site.
Perguntas frequentes sobre modelos Hugo
1. Qual a finalidade do diretório “layouts” no Hugo?
O diretório layouts
é onde você armazena todos os seus arquivos de modelo no Hugo. É usado para definir como diferentes tipos de conteúdo (por exemplo, posts, páginas, listas) serão renderizados no front end do seu site. Os modelos são organizados por tipo e localização, como single.html
para páginas de conteúdo individuais e list.html
para listas de conteúdo.
2. Posso criar meus próprios modelos personalizados no Hugo?
Sim, você pode criar modelos personalizados no Hugo. Ao colocar seus modelos no diretório layouts
, você pode criar modelos especializados para tipos de conteúdo específicos, seções ou até mesmo exibições de conteúdo exclusivas. Hugo também permite substituir modelos padrão do tema escolhido.
3. Como o Hugo lida com arquivos e modelos de conteúdo?
Hugo usa um sistema onde arquivos de conteúdo (escritos em Markdown ou outros formatos) são emparelhados com modelos para definir como serão exibidos. Quando você cria conteúdo (por exemplo, uma postagem de blog), Hugo procura automaticamente um modelo apropriado (por exemplo, single.html
) e renderiza o conteúdo usando esse modelo. Hugo também oferece suporte à organização do conteúdo em seções, que podem utilizar diversos templates.
4. O que são templates parciais no Hugo?
Modelos parciais são componentes reutilizáveis ou trechos de HTML que podem ser incluídos em outros modelos. Por exemplo, um cabeçalho, rodapé ou menu de navegação podem ser criados como parciais e incluídos em vários modelos usando o {{ partial "header.html" . }}
sintaxe. Isso ajuda a manter os princípios DRY (Don't Repeat Yourself) e torna o site mais fácil de gerenciar.
5. Posso usar templates Hugo com tema personalizado?
Sim, você pode usar temas personalizados no Hugo. Você pode criar seu próprio tema ou usar um existente no repositório de temas Hugo. Se estiver usando um tema existente, você pode substituir seus modelos adicionando seus modelos personalizados no diretório layouts
, o que permite modificar partes específicas do tema sem alterar toda a estrutura.
Seguindo essas etapas e compreendendo o sistema de templates do Hugo, você poderá construir sites poderosos e personalizáveis. Esteja você usando modelos integrados ou criando os seus próprios, o Hugo oferece a flexibilidade e a velocidade necessárias para desenvolver sites estáticos com facilidade.