Selamat datang di kode sumber untuk situs web mesin Godot. Ini adalah situs web statis, dihasilkan secara offline menggunakan Jekyll.
Kontribusi selalu diterima! Situs web Godot adalah open source, sama seperti mesin Godot.
Namun, ketika berkontribusi pada situs web, penting untuk diingat bahwa ia bertindak sebagai wajah publik dari organisasi dan komunitas Godot. Dengan demikian, perubahan substansial harus dibahas sebelumnya. Anda tidak perlu membuka proposal perbaikan Godot formal seperti yang Anda lakukan dengan fitur mesin, tetapi memulai masalah di repositori ini atau bergabung dengan diskusi tentang obrolan kontributor Godot adalah ide yang bagus.
Saat mengerjakan fitur baru, perlu diingat situs web ini hanya mendukung browser Evergreen :
Internet Explorer tidak didukung.
Untuk membangun situs web secara lokal, ikuti langkah -langkah ini:
rbenv :sudo apt install rubenvrbenv dengan DNFecho 'eval "$(rbenv init -)"' >> ~/.bashrc untuk menambahkan init rbenv ke .bashrc (atau .bash_profile )rbenv menjalankan yang berikut:rbenv install 3.1.2rbenv global 3.1.2minify tersedia dari baris perintah.bundle install .bundle exec jekyll build .--config _config.yml,_config.development.yml untuk menggunakan konfigurasi pengembangan dengan build Anda. Untuk kesederhanaan, kedua perintah ini juga tersedia sebagai skrip build.sh dalam repositori ini.
Atau, Anda juga dapat menggunakan wadah Docker resmi untuk Jekyll. Wadah ini dirancang untuk dijalankan sekali untuk melakukan build, jadi Anda tidak perlu menyusun dan menyimpannya secara permanen di pengaturan Docker Anda. Jika Anda berada di Linux, jalankan perintah berikut:
docker run --rm --volume= " $PWD :/srv/jekyll " -it jekyll/jekyll:stable ./build.sh Di windows (dari CMD.exe ):
docker run --rm --volume= " %CD%:/srv/jekyll " -it jekyll/jekyll:stable ./build.shBangunan mungkin membutuhkan waktu beberapa menit untuk menyelesaikannya.
Karena ini adalah situs web statis, dapat dilayani secara lokal menggunakan tumpukan server yang Anda inginkan.
bundle untuk segera melayani halaman setelah membangunnya. Untuk melakukan ini, ganti langkah build terakhir dengan bundle exec jekyll serve . Saat menggunakan Docker, Anda perlu menambahkan argumen baru ke perintah docker run , -p 4000:4000 , dan ubah skrip shell menjadi build-and-serve.sh .
docker run --rm --volume= " $PWD :/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shatau
docker run --rm --volume= " %CD%:/srv/jekyll " -p 4000:4000 -it jekyll/jekyll:stable ./build-and-serve.shpython -m http.server 4000 -d ./_site . Setelah mengikuti salah satu dari langkah -langkah ini, situs akan tersedia di http://localhost:4000 .
Proyek ini dibangun secara otomatis oleh tindakan GitHub setiap kali cabang master menerima komit baru. Cabang master itu sendiri tidak boleh digunakan, karena hanya berisi file sumber. Versi situs web yang dibangun tersedia sebagai cabang published sebagai gantinya.
Perhatikan bahwa ini tidak relevan untuk pengembangan lokal. Secara lokal Anda akan membangun situs web di tempat dan kemudian melayani folder _site . Lihat instruksi terperinci di atas.
Folder berikut berisi file data, yang digunakan untuk menghasilkan bagian yang lebih dinamis dari situs web, seperti blog, showcase, dan halaman unduhan. Halaman -halaman ini ditulis dalam penurunan harga dan berisi header metadata yang digunakan oleh generator. File Markdown membentuk koleksi jekyll dengan nama yang sama dengan folder yang berisi. Untuk membuat dokumen Markdown baru, Anda dapat mulai dengan menyalin yang sudah ada dan kemudian mengubah kontennya.
collections/_article berisi artikel untuk blog. Setiap artikel ditulis dalam Markdown dengan header metadata yang terletak di bagian atas file. Bidang metadata berikut diperlukan agar artikel ini ditampilkan dengan benar di seluruh situs web: title , excerpt , categories , author , image , dan date . Nama file bertindak sebagai siput di URL yang dihasilkan.
collections/_download berisi instruksi unduhan untuk build Godot per platform. Setiap dokumen ditulis dalam Markdown dengan header metadata yang terletak di bagian atas file. Tautan unduhan dihasilkan dari bidang downloads di metadata. Saat menambahkan platform baru, pastikan untuk membuat tab baru untuk itu di Template /_layouts/download.html .
collections/_showcase berisi entri untuk showcase. Setiap artikel ditulis dalam Markdown dengan header metadata yang terletak di bagian atas file. Entri showcase dapat ditampilkan di halaman beranda dengan mengatur bidang featured_in_home ke true . Gambar yang digunakan adalah yang dari bidang image .
Beberapa informasi juga disimpan dalam file YAML, bertindak sebagai database berbasis file untuk beberapa properti meta.
_data berisi berbagai file metadata untuk situs web:authors.yml berisi daftar penulis yang digunakan untuk artikel blog;categories.yml berisi daftar kategori untuk artikel blog;communities.yml berisi daftar komunitas pengguna untuk halaman /community/user-groups .Folder berikut berisi titik masuk untuk hampir setiap halaman situs web, serta templat dan aset bersama. Bahasa templating yang digunakan dalam jekyll adalah cair.
_i18n berisi terjemahan untuk situs web. Bahasa default adalah bahasa Inggris. Hanya informasi statis yang diterjemahkan, dengan blog dan showcase ditampilkan dalam bahasa Inggris. Saat ini dinonaktifkan dan sedang dalam proses.
_includes berisi elemen navigasi dan footer yang digunakan oleh sebagian besar halaman. Jika Anda ingin membuat elemen untuk digunakan kembali di beberapa halaman, Anda dapat membuat file sertakan baru di sini.
_layouts berisi konten pembungkus untuk halaman. Setiap tata letak mewarisi dari _layouts/default.html yang berisi struktur utama halaman, termasuk tag kepala dan meta. Tata letak lain digunakan untuk halaman tertentu, seperti blog, unduhan, dan halaman showcase.
assets berisi aset statis untuk situs web. Ini termasuk CSS, JS, dan gambar yang digunakan dalam tema dan tata letak. Untuk konten media yang digunakan dalam artikel dan halaman lain, periksa folder storage . Beberapa file mungkin sudah usang dan tidak digunakan.
pages berisi sebagian besar halaman untuk situs web. URL terakhir untuk setiap halaman ditentukan dalam header metadata menggunakan bidang permalink . Secara umum, itu harus memetakan ke jalur file di dalam pages . Halaman konten dinamis dihasilkan menggunakan koleksi dan tata letak markdown.
storage berisi media dan file lain yang diunggah untuk digunakan di halaman konten dinamis, seperti blog, showcase, acara. Beberapa file mungkin sudah usang dan tidak digunakan. Proyek ini dibangun dengan jekyll, dengan instruksi build yang terletak di Gemfile dan _config.yml . Saat membangun secara lokal, beberapa opsi konfigurasi mungkin perlu berbeda. Untuk mendefinisikannya, _config.development.yml digunakan.
Semua informasi unduhan di situs web ini didorong oleh data. Ini berarti bahwa untuk mengubah informasi tentang versi stabil saat ini, atau pratinjau versi yang sedang berlangsung, Anda tidak perlu memodifikasi halaman secara langsung. Sebaliknya, file data harus diperbarui.
File utama untuk melacak setiap versi resmi adalah data/_versions.yml . Ini berisi tepat satu catatan per setiap rilis resmi, termasuk pra-rilis. File ini harus diperbarui setiap kali ada bangunan resmi baru yang tersedia untuk diunduh.
Untuk membuat versi baru, tambahkan blok berikut ke file:
- name: "4.0.1"
flavor: "stable"
release_date: "20 March 2023"
release_notes: "/article/maintenance-release-godot-4-0-1/"
Pastikan untuk memesan entri dengan benar, dengan nomor versi yang lebih tinggi lebih dekat ke atas. Gunakan bidang flavor untuk menandai pelepasan sebagai stabil atau sebagai salah satu pra-rilis. Pastikan untuk selalu mengisi tanggal rilis, dan tautan catatan rilis, jika tersedia.
Ketika build baru untuk versi yang ada diterbitkan, perbarui blok yang sesuai, mengubah rasa dan informasi rilis. Pastikan untuk memperbarui informasi ini saat menerbitkan catatan rilis.
Rilis stabil yang ditampilkan di seluruh situs web, harus ditandai dengan bidang featured dan nomor versi utama yang sesuai. Hanya satu rekaman yang harus ditandai sebagai ditampilkan per versi, jadi jangan lupa untuk menghapusnya dari pemegang tanda saat ini.
- name: "4.0.3"
flavor: "stable"
release_date: "19 May 2023"
release_notes: "/article/maintenance-release-godot-4-0-3/"
featured: "4"
Ada dua file tambahan yang menyediakan data untuk halaman unduhan dan tautan: _data/download_configs.yml dan _data/download_platforms.yml . File -file ini biasanya tidak memerlukan perubahan dan digunakan sebagai tabel referensi statis. Mereka mendefinisikan deskripsi, tag, dan siput nama file untuk semua bangunan yang dapat diunduh, serta memesan untuk diunduh di beberapa halaman.
Jika host baru perlu didukung oleh mirrorlist, itu perlu ditambahkan di beberapa tempat. Untuk sisi data hal-hal yang perlu Anda perbarui _data/mirrorlist_configs.yml dan tambahkan catatan lain untuk kode versi utama-minor.
- name: "4.1"
stable: [ "github", "tuxfamily" ]
preview: [ "github_builds", "tuxfamily" ]
Kunci stable mengacu pada host yang tersedia untuk rilis stabil dari versi itu, sedangkan kunci preview mengacu pada semua pra-rilis dan snapshot dev, yang biasanya berbagi semua karakteristik mereka. Jika di masa depan ada kebutuhan untuk kontrol yang lebih baik, beberapa sistem timpang perlu diimplementasikan.
Untuk sisi logika, host baru perlu didukung oleh skrip _plugins/make_download.rb . Lihat bagaimana host lain ditangani dalam file itu dan melakukan penyesuaian yang diperlukan. Kami berasumsi bahwa nama file akhir adalah standar di semua host, jadi _data/download_configs.yml dihormati.