Design simples e limpo
Compatível com dispositivos móveis
Personalizável
Projetado para não interferir em outros layouts
Configuração inicial zero
Hugo 0,43 ou superior
Versão estendida do Hugo, leia mais aqui
Navegue até a raiz do seu site hugo e execute:
git submodule add https://github.com/alex-shpak/hugo-book themes/book
Em seguida, execute hugo (ou defina theme: book
no arquivo de configuração)
hugo server --theme book
Por padrão, o tema renderizará as páginas da seção content/docs
como um menu em uma estrutura de árvore.
Você pode definir title
e weight
no início das páginas para ajustar a ordem e os títulos no menu.
Você também pode usar o pacote de folhas e o conteúdo de seu index.md
como menu.
Dado que você tem essa estrutura de arquivo
├── content │ ├── docs │ │ ├── page-one.md │ │ └── page-two.md │ └── posts │ ├── post-one.md │ └── post-two.md
Crie o arquivo content/docs/menu/index.md
com conteúdo
---headless: true---- [Exemplo de livro](/docs/) - [Página Um](/docs/page-one) - [Página Dois](/docs/page-two)- [Blog](/posts)
E habilite-o pelas configurações BookMenuBundle: /docs/menu
na configuração do site
Menu de exemplo
Exemplo de arquivo de configuração
Feixes de folhas
Blog simples com suporte para posts
de seção
Existem algumas opções de configuração que você pode adicionar ao seu arquivo config.yml|json|toml
# (Opcional) Defina como verdadeiro se você usar letras maiúsculas em nomes de arquivosdisablePathToLower: true# (Opcional) Defina como verdadeiro para ativar a data de 'Última modificação por' e informações do autor do git# em páginas do tipo 'doc'.enableGitInfo: true# (Avisos) O tema é destinado ao uso de documentação, pois não renderiza taxonomia.# Você pode ocultar o aviso relacionado com a configuração abaixo dedisableKinds: ["taxonomy", "taxonomyTerm"]params: # (Opcional, padrão true) Mostrar ou ocultar o índice globalmente # Você também pode especificar este parâmetro por página no cabeçalho BookShowToC: verdadeiro # (Opcional, padrão nenhum) Defina o pacote de folhas para renderizar como menu lateral # Quando não especificado, a estrutura e os pesos do arquivo serão usados BookMenuBundle: /menu # (Opcional, documentos padrão) Especifique a seção de conteúdo para renderizar como menu # Você também pode definir o valor como "*" para renderizar todas as seções do menu Seção do livro: documentos # Este valor é duplicado de $link-color para realçar o link ativo no modo de pacote de menu #BookMenuBundleActiveLinkColor: #004ed0 # Inclui scripts JS nas páginas. Desativado por padrão. # - Mantenha o menu lateral na mesma posição de rolagem durante a navegação BookEnableJS: verdadeiro # Defina a localização do repositório de origem. # Usado para links 'Última modificação' e 'Editar esta página'. BookRepo: https://github.com/alex-shpak/hugo-book # Habilite os links "Editar esta página" para o tipo de página 'doc'. # Desativado por padrão. Remova o comentário para ativar. Requer o parâmetro 'BookRepo'. # O caminho deve apontar para o diretório 'content' do repositório. BookEditPath: editar/master/exampleSite/content
Você pode especificar parâmetros adicionais por página no cabeçalho
---# Defina o tipo para 'docs' se você quiser renderizar a página fora da seção configurada ou se você renderizar uma seção diferente de 'docs'type: docs# Defina o peso da página para reorganizar os itens no menu da árvore de arquivos (se BookMenuBundle não definido) peso: 10# (opcional) definido para marcar a página como seção plana no menu da árvore de arquivos (se BookMenuBundle não definido) bookFlatSection: true# (opcional) definido para ocultar o índice, substitui valuebookShowToC global: false ---
Existem algumas parciais vazias que você pode substituir em layouts/partials/
Parcial | Colocação |
---|---|
layouts/partials/docs/inject/head.html | Antes de fechar a tag <head> |
layouts/partials/docs/inject/body.html | Antes de fechar a tag <body> |
layouts/partials/docs/inject/menu-before.html | No início do bloco de menu <nav> |
layouts/partials/docs/inject/menu-after.html | No final do bloco de menu <nav> |
Contribuições são bem-vindas e irei revisar e considerar solicitações pull.
Os objetivos principais são:
Mantenha a simplicidade
Mantenha a configuração padrão mínima (ou zero)
Evite interferência com layouts definidos pelo usuário
Sinta-se à vontade para abrir o problema se estiver faltando alguma opção de configuração ou personalização.
MIT