Добро пожаловать в исходный код для веб -сайта Godot Engine. Это статический веб -сайт, сгенерированный в автономном режиме с использованием Jekyll.
Вклад всегда приветствуются! Веб -сайт Годо является открытым исходным кодом, как и Godot Engine.
Однако, вносясь вклад в веб -сайт, важно иметь в виду, что он действует как общественное лицо организации и сообщества Годо. Таким образом, существенные изменения должны обсуждаться заранее. Вам не обязательно открывать официальное предложение о улучшении Годота, как вы делаете с функциями двигателя, но начать проблему в этом репозитории или присоединиться к обсуждению чата -участников Годо - это хорошая идея.
Работая над новыми функциями, имейте в виду, что этот сайт поддерживает только Evergreen Browsers :
Internet Explorer не поддерживается.
Чтобы создать сайт локально, выполните эти шаги:
rbenv :sudo apt install rubenvrbenv с DNFecho 'eval "$(rbenv init -)"' >> ~/.bashrc , чтобы добавить rbenv init в .bashrc (или .bash_profile )rbenv запустить следующее:rbenv install 3.1.2rbenv global 3.1.2minify доступен в командной строке.bundle install .bundle exec jekyll build .--config _config.yml,_config.development.yml для использования конфигурации разработки с помощью вашей сборки. Для простоты эти две команды также доступны в виде сценария build.sh в этом репозитории.
В качестве альтернативы, вы также можете использовать официальный контейнер Docker для Jekyll. Этот контейнер предназначен для работы один раз для выполнения сборки, поэтому вам не нужно составлять и навсегда хранить его в настройке Docker. Если вы находитесь в Linux, выполните следующую команду:
docker run --rm --volume= " $PWD :/srv/jekyll " -it jekyll/jekyll:stable ./build.sh На Windows (от CMD.exe ):
docker run --rm --volume= " %CD%:/srv/jekyll " -it jekyll/jekyll:stable ./build.shЗдание может занять несколько минут, чтобы закончить.
Поскольку это статический веб -сайт, его можно обслуживать локально, используя любой стек сервера, который вы хотите.
bundle , чтобы немедленно подавать страницы при его строительстве. Для этого замените окончательный шаг сборки на bundle exec jekyll serve . При использовании Docker вам необходимо добавить новый аргумент в команду docker run , -p 4000:4000 и изменить сценарий оболочки на build-and-serve.sh .
docker run --rm --volume= " $PWD :/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shили
docker run --rm --volume= " %CD%:/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shpython -m http.server 4000 -d ./_site . После выполнения одного из этих шагов сайт будет доступен по адресу http://localhost:4000 .
Проект строится автоматически с помощью действий GitHub всякий раз, когда master -филиал получает новый коммит. Сама master ветвь не должна развернуться, поскольку она содержит только исходные файлы. Вместо этого встроенная версия веб -сайта доступна в качестве published филиала.
Обратите внимание, что это не имеет значения для местного развития. Локально вы будете создавать веб -сайт на месте, а затем обслуживать папку _site . Смотрите подробные инструкции выше.
Следующие папки содержат файлы данных, используемые для генерации более динамичных частей веб -сайта, таких как блог, витрина и страница загрузки. Эти страницы записаны в разметке и содержат заголовок метаданных, используемый генератором. Файлы разметки формируют коллекции Jekyll с тем же именем, что и их содержащая папка. Чтобы создать новый документ Markdown, вы можете начать с копирования существующего, а затем изменить его контент.
collections/_article содержит статьи для блога. Каждая статья написана в Markdown с заголовком метаданных, расположенным в верхней части файла. Для правильного отображения статьи необходимы следующие поля метаданных: title , excerpt , categories , author , image и date . Имя файла действует как слизняк в сгенерированном URL.
collections/_download содержит инструкции для загрузки для Godot Builds на платформу. Каждый документ написан в Markdown с заголовком метаданных, расположенным в верхней части файла. Ссылки загрузки генерируются в поле downloads в метаданных. При добавлении новой платформы обязательно создайте новую вкладку для нее в шаблоне /_layouts/download.html .
collections/_showcase содержит записи для витрины. Каждая статья написана в Markdown с заголовком метаданных, расположенным в верхней части файла. Записи демонстрации могут быть представлены на домашней странице, установив поле featured_in_home на true . Используемое изображение является из поля image .
Некоторая информация также хранится в файлах YAML, выступая в качестве базы данных на основе файлов для нескольких свойств мета.
_data содержит различные файлы метаданных для веб -сайта:authors.yml содержит список авторов, используемых для статей в блоге;categories.yml содержит список категорий для статей в блоге;communities.yml содержит список пользовательских сообществ для страницы /community/user-groups .Следующие папки содержат точки входа практически для каждой страницы веб -сайта, а также общие шаблоны и активы. Язык шаблона, используемый в Jekyll, является жидкостью.
_i18n содержит переводы для веб -сайта. Язык по умолчанию английский. Только статическая информация переводится, с блогом и витриной, отображаемой на английском языке. В настоящее время отключен и работа в процессе.
_includes содержит навигационные и элементы нижнего колонтитула, используемые большинством страниц. Если вы хотите создать элемент для повторного использования на нескольких страницах, вы можете создать новый файл включения здесь.
_layouts содержит содержимое обертывания для страниц. Каждый макет наследует от _layouts/default.html , которая содержит основную структуру страницы, включая головку и метаги. Другие макеты используются для определенных страниц, таких как блог, загрузка и демонстрация страниц.
assets содержат статические активы для веб -сайта. Это включает в себя CSS, JS и изображения, используемые в теме и макете. На наличие медиа -контента, используемого в статьях и других страницах, проверьте папку storage . Некоторые файлы могут быть устаревшими и неиспользованными.
pages содержит большинство страниц для веб -сайта. Окончательный URL для каждой страницы указан в заголовке метаданных с использованием поля permalink . Как правило, он должен сопоставить путь к пути файла внутри pages . Динамические страницы содержимого генерируются с использованием коллекций и макетов Markdown.
storage содержит носитель и другие файлы, загруженные для использования в динамических страницах контента, таких как блог, Showcase, The Events. Некоторые файлы могут быть устаревшими и неиспользованными. Этот проект строится с Jekyll, с инструкциями по сборке, расположенным в Gemfile и _config.yml . При локальном построении некоторые параметры конфигурации могут быть разными. Чтобы определить их, используется _config.development.yml .
Вся информация о загрузке на веб-сайте основана на данных. Это означает, что для изменения информации о текущей стабильной версии или постоянных предварительных просмотрах версии вам не нужно напрямую изменять страницы. Вместо этого файлы данных должны быть обновлены.
Основным файлом для отслеживания каждой официальной версии являются data/_versions.yml . Он содержит ровно по одной записи на каждый официальный релиз, включая предварительные передачи. Этот файл должен быть обновлен каждый раз, когда есть новая официальная сборка, доступная для загрузки.
Чтобы создать новую версию, добавьте следующий блок в файл:
- name: "4.0.1"
flavor: "stable"
release_date: "20 March 2023"
release_notes: "/article/maintenance-release-godot-4-0-1/"
Убедитесь, что заказать записи правильно, с более высоким номером версии ближе к вершине. Используйте поле flavor , чтобы отметить выпуск как стабильный или как одна из предварительных сборов. Убедитесь, что всегда заполняйте дату выпуска, и ссылка на выпуск Notes, если таковые имеются.
Когда опубликована новая сборка для существующей версии, обновите его соответствующий блок, изменяя вкус и информацию о выпуске. Обязательно обновите эту информацию при публикации заметок о выпуске.
Стабильные выпуски, представленные на веб -сайте, должны быть помечены с помощью featured поля и соответствующего номера основной версии. Только одна запись должна быть отмечена как показана для версии, поэтому не забудьте удалить ее из текущего держателя отметки.
- name: "4.0.3"
flavor: "stable"
release_date: "19 May 2023"
release_notes: "/article/maintenance-release-godot-4-0-3/"
featured: "4"
Существует два дополнительных файла, предоставляющие данные для страниц и ссылок для загрузки: _data/download_configs.yml и _data/download_platforms.yml . Эти файлы обычно не требуют изменений и используются в качестве статической эталонной таблицы. Они определяют описания, теги и сливки имени файла для всех загружаемых сборки, а также заказ на загрузки на некоторых страницах.
Если новый хост должен поддерживать зеркал, его необходимо добавить в несколько мест. Для стороны данных вам необходимо обновить _data/mirrorlist_configs.yml и добавить еще одну запись для кода версии Major Minor.
- name: "4.1"
stable: [ "github", "tuxfamily" ]
preview: [ "github_builds", "tuxfamily" ]
stable ключ относится к хостам, доступным для стабильного выпуска этой версии, в то время как ключ preview относится ко всем предварительным отключениям и снимкам разработчиков, которые обычно имеют все их характеристики. Если в будущем необходимо внедрить более тонкий контроль, необходимо реализовать некоторые переопределения системы.
Для логической стороны, новый хост должен поддерживать сценарий _plugins/make_download.rb . Обратитесь к тому, как другие хосты обрабатываются в этом файле, и выполняют необходимые корректировки. Мы предполагаем, что окончательные имена файлов являются стандартными для всех хостов, поэтому уважается _data/download_configs.yml .