欢迎使用Godot Engine网站的源代码。这是一个静态网站,使用Jekyll生成。
总是欢迎捐款! Godot的网站是开源的,就像Godot Engine一样。
但是,在为网站做出贡献时,重要的是要牢记它是Godot组织和社区的公开面孔。因此,必须提前讨论实质性变化。您不一定需要像发动机功能那样打开正式的Godot改进建议,而是在此存储库上开始一个问题或加入Godot贡献者聊天的讨论是一个好主意。
在研究新功能时,请记住该网站仅支持常绿浏览器:
不支持Internet Explorer。
要在本地构建网站,请按照以下步骤:
rbenv具有特定版本的Ruby版本:sudo apt install rubenvrbenvecho '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 ,然后将Shell脚本更改为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上可用。
每当master分支收到新提交时,该项目将通过GitHub Actions自动构建。 master分支本身不应部署,因为它仅包含源文件。该网站的构建版本可作为published分支机构获得。
请注意,这与本地发展无关。在本地,您将构建网站,然后提供_site文件夹。请参阅上面的详细说明。
以下文件夹包含用于生成网站更动态部分的数据文件,例如博客,展示柜和下载页面。这些页面写在降价中,并包含发电机使用的元数据标头。 Markdown Files以与包含文件夹相同的名称的Jekyll集合形式。要创建一个新的Markdown文档,您可以从复制现有的文档然后更改其内容开始。
collections/_article包含博客文章。每篇文章都在Markdown中写,其中一个位于文件顶部的元数据标头。在整个网站上正确显示文章需要以下元数据字段: title , excerpt , categories , author , image和date 。文件的名称充当生成的URL中的sl。
collections/_download包含每个平台Godot构建的下载说明。每个文档都在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包括包含大多数页面使用的导航和页脚元素。如果要创建一个在多个页面中重复使用的元素,则可以在此处创建一个新的Incluber文件。
_layouts包含页面的包装内容。每个布局都从_layouts/default.html继承,其中包含页面的主要结构,包括头部和元标记。其他布局用于特定页面,例如博客,下载和展示页面。
assets包含该网站的静态资产。这包括主题和布局中使用的CSS,JS和图像。对于文章和其他页面中使用的媒体内容,请检查storage文件夹。某些文件可能已过时且未使用。
pages包含网站的大多数页面。每个页面的最终URL使用permalink字段在元数据标头中指定。通常,它应映射到pages内部的文件路径。动态内容页面是使用Markdown收集和布局生成的。
storage包含媒体和其他上载以用于动态内容页面的文件,例如博客,展示柜和事件。某些文件可能已过时且未使用。该项目是由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场将释放标记为稳定或释放前构建之一。确保始终填写发布日期,并确保发行说明链接(如果有)。
发布现有版本的新版本时,请更新其相应的块,更改风味和发行信息。发布发行说明时,请确保更新此信息。
整个网站上的稳定版本必须标记为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 。这些文件通常不需要更改,并且用作静态参考表。他们为所有可下载的版本定义了描述,标签和文件名sl,以及在某些页面上下载的订单。
如果需要由镜像列表支持新主机,则需要在几个地方添加它。对于事物的数据侧,您需要更新_data/mirrorlist_configs.yml ,并为主要少量版本代码添加另一个记录。
- name: "4.1"
stable: [ "github", "tuxfamily" ]
preview: [ "github_builds", "tuxfamily" ]
stable密钥是指可用于该版本稳定版本的主机,而preview键则是指所有前释放和开发快照,通常共享其所有特征。如果将来需要更高的控制,则需要实施一些覆盖系统。
对于事物的逻辑侧,新主机需要由_plugins/make_download.rb脚本支持。请参阅该文件中如何处理其他主机并进行必要的调整。我们假设最终文件名是所有主机的标准配置,因此_data/download_configs.yml均受到尊重。