Генератор статических сайтов для сайта студенческой музыкальной ассоциации Делфта Krashna Musika, созданный с помощью React и Gatsby.js.
Для начала вам понадобится среда Node.js и менеджер пакетов Yarn. После их установки выполните следующие команды из корневого каталога этого репозитория:
yarn
yarn global add gatsby-cli
Чтобы запустить сервер разработки (с живой перезагрузкой), запустите:
yarn develop
Теперь сервер будет прослушивать локальный хост: 8000!
Чтобы собрать производственный пакет, запустите:
yarn build
Изменения в master
ветке автоматически развертываются на действующем сайте (krashna.nl) через службу сборки Netlify.
В целом этот проект соответствует общей структуре папок Gatsby.js:
/src/pages
. Имя каждого файла JS (за исключением расширения .js
) используется в качестве URL-адреса соответствующей страницы./src/templates
./src/components
.Однако есть некоторые отличия, предлагающие интернационализацию и другие функции:
/src/locales
. Каждая подпапка содержит копию каждого файла определения перевода на определенном языке. Эти файлы перевода компилируются в формат JSON, который обслуживается вместе с остальным содержимым и динамически вставляется на страницу во время выполнения. Для перевода мы используем библиотеку react-intl
, интегрированную gatsby-plugin-intl
./src/data
.Добавить контент можно легко, добавив текст или некоторые другие данные в предопределенные файлы, некоторые примеры приведены ниже. Весь контент написан в Markdown. Если вы не знакомы с Markdown или вам нужна помощь, перейдите по этой удобной ссылке.
Чтобы добавить страницу...
/src/pages
с именем URL-адреса, на котором вы хотите разместить эту страницу. Если вы сомневаетесь в том, как структурировать этот файл, посмотрите на другие существующие страницы в этой папке./src/locales
. Обратитесь к существующим страницам и переводам за примерами того, как можно получить доступ к такому ключу перевода в файле подкачки и как его можно определить в файле перевода. Чтобы добавить концерт...
/src/data/concerts.yaml
в том же формате, что и другие записи.concerts.yaml
в папке /src/locales
на обоих языках. Чтобы добавить новость...
/src/data/news.yaml
в том же формате, что и другие записи.news.yaml
в папке /src/locales
на обоих языках.