Generador de sitios estáticos para el sitio de la asociación de música estudiantil de Delft, Krashna Musika, construido con React y Gatsby.js.
Para comenzar, necesitará el entorno Node.js y el administrador de paquetes Yarn. Una vez que los tenga instalados, ejecute los siguientes comandos desde el directorio raíz de este repositorio:
yarn
yarn global add gatsby-cli
Para iniciar un servidor de desarrollo (con recarga en vivo), ejecute:
yarn develop
¡Ahora habrá un servidor escuchando en localhost:8000!
Para crear un paquete de producción, ejecute:
yarn build
Los cambios en la rama master
se implementan automáticamente en el sitio activo (en krashna.nl), a través del servicio de compilación Netlify.
En general, este proyecto sigue la estructura de carpetas común de Gatsby.js:
/src/pages
. El nombre de archivo de cada archivo JS (excluyendo la extensión .js
) se utiliza como la URL de la página correspondiente./src/templates
./src/components
.Sin embargo, hay algunas cosas en las que se diferencia, para ofrecer internacionalización y otras características:
/src/locales
. Cada subcarpeta contiene una copia de cada archivo de definición de traducción, en un idioma específico. Estos archivos de traducción se compilan en JSON, que se sirve junto con el resto del contenido y se inserta dinámicamente en la página en tiempo de ejecución. Usamos la biblioteca react-intl
, integrada por gatsby-plugin-intl
, para la traducción./src/data
.Se puede agregar contenido fácilmente agregando texto u otros datos a archivos predefinidos; a continuación se brindan algunos ejemplos. Todo el contenido está escrito en Markdown. Si no está familiarizado con Markdown o necesita ayuda, consulte este útil enlace
Para agregar una página...
/src/pages
con el nombre de la URL en la que desea colocar esa página. En caso de duda sobre cómo estructurar este archivo, eche un vistazo a las otras páginas existentes en esa carpeta./src/locales
. Consulte las páginas y traducciones existentes para ver ejemplos de cómo se puede acceder a dicha clave de traducción en el archivo de página y cómo se puede definir en el archivo de traducción. Para agregar un concierto...
/src/data/concerts.yaml
siguiendo el mismo formato que las otras entradas.concerts.yaml
en la carpeta /src/locales
, en ambos idiomas. Para agregar una publicación de noticias...
/src/data/news.yaml
siguiendo el mismo formato que las otras entradas.news.yaml
en la carpeta /src/locales
, en ambos idiomas.