Um Boilerplate de Hugo para a construção de sites modernos?
Este caldeira envolve Hugo com Gulp como seu pipeline de construção de desenvolvimento local.
PostCSS e Webpack + Babel são usados para compilação e transpilagem de CSS e JS.
O BrowSerSync é usado para fornecer uma experiência moderna de desenvolvimento local, permitindo que você visualize seu site em vários dispositivos em sincronia.
O BrowSerList é usado para configurar o suporte do navegador.
O SVG Sprite é usado para gerar um sprite SVG.
Para usar o Gulp, você deve ter o nó e o NPM instalado.
Depois que os pré -requisitos forem instalados, clone o repositório da sua máquina local e, em seguida, execute:
npm install
Isso instalará Hugo, bem como todas as dependências de nós necessárias para executar seu ambiente Hugo. Isso pode demorar um pouco!
Todas as tarefas de desenvolvimento são executadas usando o NPM RUN. Consulte "scripts" no package.json para obter uma lista completa de comandos.
O desenvolvimento local é alimentado pelo BrowSync, você poderá desenvolver sites rapidamente através de:
http://localhost:3000/ .Executar o servidor de desenvolvimento local é tão simples quanto em execução:
npm start
Isso exibirá todo o conteúdo de rascunho, datado de futuro ou expirado, que não está incluído na sua construção de produção.
Se você deseja desenvolver com o site como ele aparecerá na produção, execute:
npm run preview
Para gerar uma produção final na sua máquina local, você pode executar:
npm run build
A nova produção de produção do seu site acabará no dist/ Directory.
Todos os comandos da CLI de Hugo podem ser executados no NPM executando:
npm run hugo -- <command> --<param>
Por exemplo:
npm run hugo -- new posts/example-post.md
// => creates a new post at hugo/content/posts/example-post.md
.
├── .tmp/ // Temporary directory for development server
├── dist/ // The production build
├── hugo/ // The Hugo project; content, data and static files
| ├── .forestry/ // Contains Forestry.io configuration files
| ├── content/ // Where all site content is stored
| ├── data/ // TOML, YAML or JSON files containing site data
| ├── layouts/ // Your site's layouts
| | ├── partials/ // Your site's partials
| | └── shortcodes/ // Your site's shortcodes
| ├── static/ // Where all static files live
| | ├── css/ // Where compiled CSS files live
| | ├── js/ // Where compiled JS files live
| | └── uploads/ // Where user uploads are stored
| └── config.toml // The Hugo configuration file
└─── src/
├── css // CSS/SCSS source files to be compiled to /css/
└── js // JS source files to be compiled to /js/
Quaisquer SVGs encontrados no src/img/ serão combinados em um único sprite SVG em hugo/static/svg/sprite.symbol.svg .
Este caldeira vem com um simples parcial para usar SVGs em seus layouts. Você pode selecionar um SVG passando seu ID.
{{/* Using a logo stored at src/img/github.svg */}}
{{ partial "svg" (dict "id" "github" "class" "optional-class" "width" 32 "height" 32) -}}
Nota: os parâmetros class , width e height são opcionais
Este caldeira vem com configurações de ESLint e Stylelint padrão que farão com que seus CSS e JS por erros ou problemas de estilo comum, que funcionam com a maioria dos IDEs populares.
Os testes também podem ser executados na linha de comando:
npm run eslintnpm run stylelintSe você deseja corrigir automaticamente erros de LINT, também pode fazer isso na linha de comando:
npm run eslint:fixnpm run stylelint:fix Este caldeira é auto-limpeza e removerá a produção dist/ e de desenvolvimento .tmp/ pastas sempre que um comando for executado para garantir que seu conteúdo esteja sempre atualizado.
Se você deseja limpar manualmente, execute:
npm run clean
Todas as tarefas de construção são tratadas pela Gulp e estão localizadas em gulpfile.babel.js . Todas as partes da compilação são configuráveis em arquivos discretos para facilitar o gerenciamento.
Todos os caminhos de origem e destino da construção podem ser configurados no gulp.config.js .
Os comandos de construção do HUGP podem ser configurados no gulp.config.js . Os comandos de construção são definidos com base na variável de ambiente NODE_ENV . Opcionalmente, você pode carregar diferentes args usando a variável de ambiente GENERATOR_ARGS .
Quatro opções estão disponíveis:
default : os comandos de construção padrão que sempre são executadosdevelopment : Comandos de construção adicionais para o servidor de desenvolvimentopreview : comandos de construção adicionais para um servidor de desenvolvimento de produçãoproduction : Comandos de construção adicionais para compilações de produção A configuração para BrowSerSync é encontrada em .browsersyncrc.js
A configuração para PostCSS é encontrada em .postcssrc.js
A configuração do WebPack é encontrada em .webpackrc.js
Tanto o PostCSS quanto o WebPack usam .browserslistrc para decidir sobre o suporte ao navegador ao compilar.
hugo/static/ como devem aparecer no site construído , por exemplo, um arquivo cname deve ser armazenado em hugo/static/CNAME para se tornar /CNAMEsrc/js/ para js/{filename}.jsrequire() e import declarações de pacotes NPM e arquivos JS locaissrc/css/ para css/{filename}.csshugo/ Pasta estão sempre comprometidos{{ getenv "HUGO_ENV" }}developmentproductionstagingEste repositório vem com um exemplo básico de conteúdo pré-configurado para trabalhar com a silvicultura, que você pode usar para começar a criar seu site.
hugoTodas as contribuições são bem -vindas! Consulte nosso Código de Diretrizes de Código e Suporte.
Este projeto de caldeira é lançado sob a licença do MIT.