歡迎使用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均受到尊重。