Bagaimana Berkontribusi ke Gutenberg sebagai Pengembang WordPress
Diterbitkan: 2019-03-01Anda akan menyukainya lebih atau kurang, tetapi Gutenberg, editor blok WordPress, ada di sini untuk tinggal. Hal baiknya adalah sebagai open source Anda dapat memodifikasinya sesuka Anda (jika Anda tahu caranya).
Terlebih lagi, jika Anda menemukan kesalahan di editor yang menurut Anda harus diselesaikan, Anda dapat melaporkannya, atau mencoba menyelesaikannya sendiri dan mengunggah perubahannya sehingga kita semua mendapat manfaat darinya. Dengan ini Anda akan berkontribusi untuk meningkatkan proyek serta karma baik Anda.

Apakah Anda tahu langkah-langkah yang harus diikuti untuk berkontribusi pada kode dasar Gutenberg? Mungkin jawaban Anda adalah tidak. Hal yang sama terjadi pada saya dan saya harus menyelidikinya. Jadi saya akan menjelaskan bagaimana melanjutkan untuk membuatnya lebih mudah dan lebih cepat bagi Anda untuk memahami seluruh proses dan kemudian berkontribusi untuk meningkatkan Gutenberg (jika Anda mau) dengan kode Anda sendiri sebagai pengembang.
Ada banyak hal yang harus dilakukan dan ditingkatkan, tetapi ada di ujung jari Anda untuk membantu memecahkan masalah yang Anda temukan dengan editor blok WordPress.
Langkah-langkah untuk Berkontribusi pada Pengembangan Gutenberg
Sebelum saya mulai, saya akan berasumsi bahwa Anda memiliki pengetahuan minimal tentang Git dan bahwa Anda memiliki akun GitHub. Jika tidak, cukup buat satu akun dan lihat tutorial ini untuk mempelajari dasar-dasarnya.
Buat Garpu Gutenberg
Hal pertama yang perlu Anda ketahui adalah bahwa kode sumber Gutenberg di-host di GitHub dalam repositori kode ini. Evolusi proyek dilakukan di sana.

Di sinilah Anda memiliki kode Gutenberg sebagai plugin WordPress. Untuk setiap versi baru plugin, versi stabil dari basis kode ditransfer ke versi inti WordPress berikutnya. Dan itulah cara untuk pergi.
Untuk berkontribusi dengan kode ke repositori Gutenberg, hal pertama yang harus kita lakukan adalah membuat fork di akun GitHub kita. Untuk melakukan ini, kami mengklik tombol Fork yang muncul di sudut kanan atas, yang dapat Anda lihat pada gambar sebelumnya.
Ini akan membuat repositori di akun GitHub Anda dengan fitur dan kode yang sama dengan yang resmi dari WordPress. Tetapi karena ada dalam akun yang Anda kendalikan, Anda akan memiliki akses untuk mengubah kode dan melakukan apa pun yang Anda inginkan dengannya. Pada dasarnya, Anda memiliki salinan.
Klon Repositori
Sekarang Anda memiliki repositori Gutenberg Anda sendiri yang terhubung dengan yang asli. Saatnya mengunduhnya ke komputer Anda dan mengerjakannya. Untuk melakukan ini, buka terminal dan jalankan perintah berikut:
git clone https://github.com/your-user/gutenberg.git Ingatlah untuk mengganti your-user dengan nama pengguna yang Anda gunakan di GitHub. Ini akan membuat folder gutenberg di komputer Anda, mengunduh semua konten repositori GitHub Anda secara lokal.
Buat Cabang Baru
Jika Anda mengakses folder baru, Anda akan melihat bahwa folder itu berisi semua yang muncul di cabang master repositori (atau cabang utama). Anda tidak boleh menyentuh cabang ini dengan modifikasi, jadi sebelum Anda mengubah kode Gutenberg, mari kita lihat cara membuat cabang baru.
Jika Anda tidak tahu apa itu cabang di Git, saya mendorong Anda untuk membaca artikel ini. Bagaimanapun, untuk apa yang akan kita lakukan, Anda hanya perlu tahu bahwa cabang di Git adalah cara untuk memisahkan modifikasi yang kita buat dalam kode repositori, untuk mempertahankan urutan tertentu.
Jika saya ingin menambahkan fungsionalitas baru, saya akan membuat cabang baru yang namanya mengidentifikasi apa yang akan saya lakukan, dan kemudian saya akan mengembangkan fungsionalitas di sana. Setelah selesai dan ketika semua kode saya yang dimodifikasi stabil, saya dapat menggabungkan cabang itu dengan cabang utama ( master , ingat) dan hanya itu.
Perintah Git untuk membuat cabang baru dan mengunggahnya ke repositori adalah sebagai berikut:
git checkout -b fix/clone-block git push -u origin fix/clone-block Ini akan membuat cabang fix/clone-block . Ingatlah untuk mengubah nama sesuai dengan apa yang akan Anda lakukan. Menurut panduan kontributor Gutenberg, Anda harus menggunakan nama untuk cabang Anda dengan awalan dan deskripsi, seperti: [type]/[change] .
Awalan yang baik biasanya:
-
add/tambahkan fungsi baru -
try/fungsi eksperimental, untuk tujuan pengujian -
update/perbarui fungsi yang ada -
fix/memperbaiki masalah
Misalnya, fix/clone-block menunjukkan bahwa kita akan mengusulkan perbaikan saat mengkloning blok.
Terapkan Perubahan pada Kode
Sekarang, Anda memiliki segalanya untuk membuka file dengan editor yang paling Anda sukai dan memulai pemrograman. Namun sebelum melakukan itu, Anda harus mengetahui beberapa hal…
Pertama, semua kode Gutenberg mengikuti panduan gaya tertentu yang juga harus Anda hormati. Detail spesifik tentang bagaimana Anda menulis kode dijelaskan di sini.


Ada aturan untuk CSS, JavaScript, dan PHP. Patuhi aturan ini atau Anda pasti akan mengalami masalah saat mendapatkan kode Anda diterima di repositori resmi.
FYI, dalam kasus saya, modifikasi yang saya buat adalah menggunakan fungsi lodash.cloneDeep() dalam atribut sebuah blok ketika Anda mengkloning sebuah blok dengan wp.blocks.cloneBlock() sehingga penyalinan dilakukan secara mendalam, untuk menghindari salinan dangkal dari blok yang kami kloning. Anda dapat melihat perubahan yang saya buat di sini.
Unggah Perubahan ke Cabang Baru
Setelah Anda selesai, Anda harus melakukan perubahan dan mengunggahnya ke repositori. Jika Anda telah membuat file baru, Anda harus menambahkannya terlebih dahulu ke kontrol versi dengan perintah berikut:
git add your-fileDan, sekarang, saatnya untuk melakukan perubahan dengan perintah ini:
git commit -am "Use cloneDeep when cloning a block"Terakhir, untuk mengunggah perubahan ke repositori, kita harus menggunakan perintah berikut:
git pushSetelah itu, jika Anda pergi ke repositori di GitHub, Anda akan melihat perubahan Anda diunggah di cabang yang telah Anda buat. Sempurna! Kita hampir sampai…
Buat Permintaan Tarik di Repositori Gutenberg
Kami sudah membuat perubahan dan mengunggahnya ke repositori kami. Sekarang yang harus kami lakukan adalah memperingatkan tentang adanya perubahan yang kami usulkan kepada pengembang yang bertanggung jawab untuk mengelola proyek Gutenberg.
Agar perubahan kami didiskusikan dan disetujui untuk menjadi bagian (atau tidak) dari basis kode Gutenberg, kami perlu melakukan pull request . Pull request adalah permintaan yang dibuat oleh pemilik fork dari repositori kepada pemilik repositori asli sehingga yang terakhir menggabungkan commit yang ada di fork.
Untuk melakukan ini, kami pergi ke repositori garpu Gutenberg kami dan klik tombol Permintaan tarik baru . Ini membawa kita ke tampilan untuk memilih cabang yang baru saja kita unggah dengan perubahan kita. Ini akan membuat perbandingan dengan cabang utama dari repositori Gutenberg asli:

Ketika kami memilih cabang kami di pemilih drop-down di sebelah kanan, seperti yang Anda lihat pada gambar sebelumnya, GitHub menunjukkan kepada kami ringkasan perubahan yang dibuat di cabang ini sehubungan dengan repositori Gutenberg asli.
Kemudian kita klik tombol Create pull request . Ini akan membawa kita ke tampilan lain di mana kita harus mengisi teks dengan informasi deskriptif mengapa kita ingin membuat perubahan ini di repositori.
Seperti yang Anda lihat pada gambar berikut, kami sudah memiliki template konten yang diminta untuk kami isi:

Pada dasarnya, Anda harus menyertakan deskripsi perubahan Anda menjelaskan apa yang telah Anda lakukan dan alasan Anda. Anda juga harus menunjukkan apakah Anda telah menguji kode dan bagaimana Anda melakukannya. Anda bahkan dapat menambahkan tangkapan layar jika perlu.
Jangan khawatir jika Anda tidak tahu betul bagaimana cara mengisinya. Orang-orang yang mengurus repositori Gutenberg akan membantu Anda.
Setelah selesai, klik tombol Buat permintaan tarik sehingga permintaan tarik Anda akhirnya publik. Sekarang Anda hanya perlu menunggu pengulas lain untuk melihat dan akhirnya menyetujui dan menggabungkan kode Anda ke dalam repositori resmi.
Perlu diingat bahwa revisi ini mungkin memakan waktu lebih atau kurang tergantung pada banyak faktor. Dalam kasus saya akhirnya permintaan tarik saya ditutup dan tidak berhasil. Tapi saya belajar banyak dalam keseluruhan proses. Dan komentar para reviewer selalu positif dan membangun. Anda dapat melihatnya di sini. Tetapi saya terus bekerja dan akhirnya permintaan tarik disetujui!
Jika Anda berpikir ada sesuatu di Gutenberg yang harus diubah dan Anda berharap untuk mengubahnya dalam kode, sekarang Anda tahu seperti apa prosesnya. Lagi pula, semua yang saya jelaskan di sini tidak hanya berlaku untuk Gutenberg. Sebagian besar proyek perangkat lunak open source bekerja secara identik (atau sangat mirip).
Jangan ragu untuk berkontribusi. Tentunya Anda akan belajar banyak di sepanjang jalan.
Gambar unggulan Mike Erskine di Unsplash .
