Генератор статических сайтов для сайта студенческой музыкальной ассоциации Делфта 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 на обоих языках.