Générateur de site statique pour le site de l'association musicale étudiante de Delft, Krashna Musika, construit avec React et Gatsby.js.
Pour commencer, vous aurez besoin de l'environnement Node.js et du gestionnaire de packages Yarn. Une fois ceux-ci installés, exécutez les commandes suivantes à partir du répertoire racine de ce dépôt :
yarn
yarn global add gatsby-cli
Pour démarrer un serveur de développement (avec live-reloading), exécutez :
yarn develop
Il y aura désormais un serveur en écoute sur localhost:8000 !
Pour créer un bundle de production, exécutez :
yarn build
Les modifications apportées à la branche master
sont automatiquement déployées sur le site actif (sur krashna.nl), via le service de build Netlify.
En général, ce projet suit la structure commune des dossiers Gatsby.js :
/src/pages
. Le nom de fichier de chaque fichier JS (hors extension .js
) est utilisé comme URL de la page correspondante./src/templates
./src/components
.Cependant, il présente certaines différences, pour offrir l'internationalisation et d'autres fonctionnalités :
/src/locales
. Chaque sous-dossier contient une copie de chaque fichier de définition de traduction, dans une langue spécifique. Ces fichiers de traduction sont compilés au format JSON, qui est servi avec le reste du contenu et inséré dynamiquement dans la page au moment de l'exécution. Nous utilisons la bibliothèque react-intl
, intégrée par gatsby-plugin-intl
, pour la traduction./src/data
.L'ajout de contenu peut être effectué facilement en ajoutant du texte ou d'autres données à des fichiers prédéfinis, quelques exemples sont donnés ci-dessous. Tout le contenu est écrit en Markdown. Si vous n'êtes pas familier avec Markdown ou si vous avez besoin d'aide, consultez ce lien pratique
Pour ajouter une page...
/src/pages
avec comme nom l'URL sur laquelle vous souhaitez mettre cette page. En cas de doute sur la façon de structurer ce fichier, jetez un œil aux autres pages existantes dans ce dossier./src/locales
. Reportez-vous aux pages et traductions existantes pour des exemples de la façon dont on peut accéder à une telle clé de traduction dans le fichier d'échange et comment celle-ci peut être définie dans le fichier de traduction. Pour ajouter un concert...
/src/data/concerts.yaml
en suivant le même format que les autres entrées.concerts.yaml
dans le dossier /src/locales
, dans les deux langues. Pour ajouter un article d'actualité...
/src/data/news.yaml
en suivant le même format que les autres entrées.news.yaml
dans le dossier /src/locales
, dans les deux langues.