Eklentiler hakkında daha fazla bilgi edinin
Süreç
Eklentiler dört aşamadan oluşur: öneri, tartışma, uygulama ve yayınlama.
Öneri
Eklenti, öneri olarak başlar. Özellik İsteği şablonuyla yeni bir sorun oluşturarak bir eklenti önerebilirsiniz.
Özellik isteklerinin nasıl yazılacağı hakkında bilgi edinin
Eklenti önerisi, temel özellik isteği bilgilerine ek olarak şunları içermelidir:
- Eklentinin göstereceği API.
- Eklentiyi desteklemek için temel Blockly'de eklenmesi veya değiştirilmesi gereken API'ler.
- Eklentinin kullanıcı arayüzü özellikleri içermesi durumunda ekran görüntüleri, GIF'ler veya modeller.
- Neden üçüncü taraf eklentisi yerine birinci taraf eklentisi olması gerektiğine dair açıklama.
Blockly ekibi, gelen önerileri inceler ve sorunu kapatır veya status: tartışma etiketini ekler.
Tartışma
Daha sonra, bir eklenti tartışma aşamasına geçer. Bu aşama şunları içerir:
- İstenen işlevle ilgili açıklama.
- Eklenti API'sı ile ilgili açıklama.
- Uygulama için planlama.
- Testleri planlama.
- Temel Blockly'deki API değişiklikleriyle ilgili tartışma.
- Büyük eklentileri uygulama adımlarına ayırma.
- Adlandırma kurallarımıza göre eklenti adlandırma.
- Tüm birinci taraf kriterlerinin karşılanacağını onaylama.
Bu tartışma genellikle GitHub sorunuyla ilgili olarak yaşanıyor. Eklentinin kapsamı ne kadar küçükse tartışma aşaması da o kadar hızlı olabilir. Daha büyük eklentiler topluluğun dikkatini ve Doğru Çözüm hakkında güçlü fikirler çekebilir. Sorununuzla ilgili bu gerçekleşirse sizi tebrik ederiz. İnsanların önemsediği bir şey buldunuz.
Hedef, tartışma aşamasının sonunda tüm önemli tasarım kararlarının alınması ve uygulama adımlarının net bir listesidir. Her ikisi de yorumlarda konuyla ilgili belgelenmelidir.
Görüşme sırasında, bir eklentinin üçüncü taraf eklentisi olması gerektiğine ve @blockly
kapsamında yayınlanmamasına karar verebiliriz. Bu durumda nedenini açıklayıp
sorunu kapatırız.
Tartışma tamamlandığında Blockly ekip üyesi, soruna status: application etiketini ekler.
Uygulama
Uygulama adımları şunlardır:
- Eklentiyi ve dizinini şablondan ayarlamak için
npx @blockly/create-package
çalışıyor. Daha fazla bilgi... - Eklenti için temel mantığı uygulama.
- Gerekirse kullanıcı arayüzü uygulama.
- Mocha kullanarak eklentiyi test ediyorum.
README
dahil olmak üzere eklenti belgelendirilir.
Bir eklentinin sorunu status: application etiketi varsa uygulama için hazır veya etkin bir şekilde uygulanıyor demektir. Aynı çalışmaların tekrarlanmasını önlemek için, ilgilenen herkes konuyla ilgili yorum yapmalı ve sorunun hâlâ katkıya açık olup olmadığını sormalıdır.
Uygulama, buna paralel olarak birden çok katkıda bulunan tarafından yapılabilir. Bir eklentiyi iş birliğiyle kendi çatalınızda veya bu depoya karşı çekme istekleri aracılığıyla uygulayabilirsiniz. Bu kod deposundaki bir eklenti üzerinde ortak çalışma yapmak istiyorsanız Blockly ekibinden sizin için bir özellik dalı oluşturmalarını isteyin.
Eklentiler, bloklu örneklerin master
dalındaki gh-pages/index.md
dosyasına eklenmelidir. Bu, Eklentiler sitemizde görünmelerine neden olur. Birinci taraf eklentileri, kendi test sayfalarına yönlendirmelidir. Bu sayfaya üçüncü taraf eklentileri de eklenebilir ve barındırılan bir demo veya npm sayfası gibi sahiplerinin seçtikleri bir bağlantıya işaret edebilirler.
Yayınlama
Son olarak, yayınlama konusuna değinelim. Blockly ekibi, tüm eklentilerde sürüm oluşturma ve yayınlamayı yönetmek için Lerna'yı kullanır.
Her Perşembe günü, son yayınlarından bu yana değişen tüm eklentiler yayınlanır. Bir değişikliğin daha kısa sürede yayınlanması gerekiyorsa lütfen bunu talep isteğinize not edin.
Eklentiler sitesi de eklentiler yayınlandığında güncellenir.
Yayınlanmaya hazır olmayan eklentiler package.json
bölümlerinde private
olarak işaretlenmelidir. Bir eklenti, core Blockly'de henüz yayınlanmamış bir değişikliğe dayanıyorsa bu durum ortaya çıkabilir. Core Blockly her çeyreğin son haftasında (üç ayda bir) yayınlanır.