Skip to content

İlk Eklentini Yap ​

Pano eklenti el kitabına hoş geldin. Bu bir yemek kitabı: her özelliği soyut olarak anlatmak yerine, hazır şablondan başlayıp Marketplace'te yayınlanmış bir eklentiye kadar birlikte gerçek bir eklenti inşa ediyoruz.

Sonunda her adımı en az bir kez kendin yapmış olacaksın — ve daha derine inmek istediğinde tam olarak nereye bakacağını bileceksin.

Referans mı, el kitabı mı

Eklenti Geliştirme bölümü referanstır — her konuyu eksiksiz anlatır. Bu el kitabı ise rehberli yapımdır. Bir adımda daha fazla derinlik istediğinde, seni ilgili referans sayfasına doğrudan yönlendiririz. Buradaki hiçbir şey ona ters düşmez; sadece onun içinden tek, somut bir yol yürüyoruz.

Eklenti ve plugin aynı şeydir

Eklentiler, Pano plugin'leridir — kod düzeyindeki adların hepsi plugin sözcüğünü kullanır (PanoPlugin, pluginId vb.). Bu el kitabı düz metinde eklenti der, ama kodda plugin'i görmeye devam edeceksin. Bu beklenen bir durumdur; hiçbir şey yeniden adlandırılmamıştır.

İnşa edeceğimiz eklenti: Shoutbox ​

Örnek projemizle tanışın. Shoutbox, topluluğunuzun sunucunuzun sitesine kısa mesajlar — "shout"lar — bırakmasını sağlayan minik bir eklentidir. Ne yapar:

  • Ziyaretçiler, ana sayfanın en üstündeki küçük bir widget'ta en son shout'ları görür.
  • Yöneticiler, bir izinle korunarak panelden shout yayınlar ve kaldırır.
  • Sunucunuzun konuştuğu her dile çevrilmiş kendi metnini taşır.

Bir eklenti, birlikte çalışan iki yarısı olan tek bir JAR dosyasıdır:

  • Pano sunucusunun içinde çalışan bir Kotlin backend'i — veritabanı tablosuna, JSON API'ye ve izne sahiptir.
  • Tarayıcıda çalışan bir Svelte arayüzü — ana sayfa widget'ı ve panel yönetim sayfası.

Baştan sona kullanacağımız kimliği:

AlanDeğer
pluginIdpano-plugin-shoutbox
pluginNameShoutbox
Ana sınıfcom.panomc.plugins.shoutbox.ShoutboxPlugin

pluginId sonsuza kadardır

pano-plugin-shoutbox'ı pluginId olarak bilerek seçtik ve yayınladıktan sonra onu asla değiştirmeyeceğiz — Pano onu perde arkasında birçok yere gömer ve aynı zamanda Marketplace kaynak (resource) kimliğiniz olarak da iş görür. Nerede kullanıldığı hakkında daha fazlası Manifesto Yapılandırması sayfasında.

Neye ihtiyacın var ​

Buradaki her şey, Pano'nun kod yazacağınız makinenin aynısında çalıştığını varsayar — çalışırken eklentiniz o kurulumun içinde yaşar.

İhtiyacın olanNedir
Bir JDK, sürüm 11 veya daha yenisiGradle derlemesini çalıştırır. Herhangi bir Java 11+ işini görür — derleme, ihtiyaç duyduğu tam iç Java'yı kendi başına getirir. java -version ile doğrulayın.
BunArayüzü kurar ve derler, ayrıca geliştirme izleyicisini çalıştırır. bun.sh adresinden edinin. bun --version ile doğrulayın.
GitŞablonu indirir. git --version ile doğrulayın.
Çalışan bir PanoÇalışırken eklentiniz canlı bir Pano ile konuşur. Henüz yoksa önce Kurulum sayfasını izleyin — ve Geliştirme Modu'nu açın (bunu sonraki sayfada yapacağız).
Bir kod editörüHer şey işe yarar, ama Kotlin için tam bir IDE baş ağrısından kurtarır — IntelliJ IDEA Community ücretsizdir ve şablonun proje dosyalarıyla birlikte gelir.

Uzman olmanıza gerek yok. Biraz Kotlin ve biraz Svelte yardımcı olur, ama buradaki her adım kopyala-yapıştır yapılabilir. Nazik bir giriş isterseniz Svelte eğitimi mükemmel ve ücretsizdir.

Yol haritası ​

İşte tüm yolculuk. Her adım bir sayfadır ve her sayfa bir sonrakine giden bir bağlantıyla biter.

  1. Kurulum — araçları kurun, şablonu klonlayıp yeniden adlandırın, derleyin ve Shoutbox'ı Panel → Eklentiler'de listelenmiş görün.
  2. Backend — Shoutbox'a bir hafıza ve bir API verin: bir veritabanı tablosu, bir JSON uç noktası ve bir izin.
  3. Frontend — shout'ları ana sayfada gösterin, sonra bunları yönetmek için bir panel sayfası ekleyin.
  4. Çeviriler — Shoutbox'ın metnini yerel ayar dosyalarına taşıyın ve birden fazla dil konuşun.
  5. Yayına Çıkar — yayın jar'ını derleyin, sürümleme ve yayınları otomatikleştirin ve GitHub ile Marketplace'te yayınlayın (isteğe bağlı premium yol ile birlikte).

Hazır mısın? Atölyemizi kuralım.

Sıradaki: Kurulum →