Gerador de site estático para o site da associação estudantil de música de Delft, Krashna Musika, construído com React e Gatsby.js.
Para começar, você precisará do ambiente Node.js e do gerenciador de pacotes Yarn. Depois de instalá-los, execute os seguintes comandos no diretório raiz deste repositório:
yarn
yarn global add gatsby-cli
Para iniciar um servidor de desenvolvimento (com recarregamento ao vivo), execute:
yarn develop
Agora haverá um servidor escutando em localhost:8000!
Para construir um pacote de produção, execute:
yarn build
As alterações na ramificação master
são implantadas automaticamente no site ativo (em krashna.nl), por meio do serviço de compilação Netlify.
Em geral, este projeto segue a estrutura de pastas comum Gatsby.js:
/src/pages
. O nome de arquivo de cada arquivo JS (excluindo a extensão .js
) é usado como o URL da página correspondente./src/templates
./src/components
.No entanto, existem algumas diferenças em oferecer internacionalização e outros recursos:
/src/locales
. Cada subpasta contém uma cópia de cada arquivo de definição de tradução, em um idioma específico. Esses arquivos de tradução são compilados em JSON, que é servido junto com o restante do conteúdo e inserido dinamicamente na página em tempo de execução. Usamos a biblioteca react-intl
, integrada por gatsby-plugin-intl
, para tradução./src/data
.A adição de conteúdo pode ser feita facilmente adicionando texto ou outros dados a arquivos predefinidos. Alguns exemplos são fornecidos abaixo. Todo o conteúdo é escrito em Markdown. Se você não está familiarizado com Markdown ou precisa de ajuda, verifique este link útil
Para adicionar uma página...
/src/pages
com o nome da URL na qual você deseja colocar essa página. Na dúvida de como estruturar esse arquivo, dê uma olhada nas demais páginas existentes nessa pasta./src/locales
. Consulte as páginas e traduções existentes para obter exemplos de como alguém pode acessar tal chave de tradução no arquivo de página e como isso pode ser definido no arquivo de tradução. Para adicionar um concerto...
/src/data/concerts.yaml
seguindo o mesmo formato das outras entradas.concerts.yaml
na pasta /src/locales
, em ambos os idiomas. Para adicionar uma postagem de notícias...
/src/data/news.yaml
seguindo o mesmo formato das outras entradas.news.yaml
na pasta /src/locales
, em ambos os idiomas.