Kavramlar
Manifest
manifest.json alanları; kimlik, izinler, yenilenme sıklığı ve ayarlar.
Her eklentinin kökünde bir manifest.json bulunur. adanotch init bunu adanotch/manifest.schema.json şemasıyla birlikte yazar, böylece editörün alanları tamamlar ve hataları işaretler.
{
"$schema": "./adanotch/manifest.schema.json",
"id": "local.username.hava-durumu",
"name": "Hava Durumu",
"version": "0.1.0",
"adanotchVersion": ">=0.1.0",
"main": "dist/index.js",
"description": "Bulunduğun şehrin sıcaklığı adada.",
"slots": ["compact", "expanded"],
"permissions": ["network:api.open-meteo.com"],
"refresh": "10m",
"settings": [
{ "key": "city", "type": "text", "label": "Şehir", "default": "İstanbul" },
{
"key": "unit",
"type": "select",
"label": "Birim",
"default": "c",
"options": [
{ "value": "c", "label": "°C" },
{ "value": "f", "label": "°F" }
]
}
]
}Alanlar
Alan
Tür
triggers artık kullanılmıyor
Eski triggers alanı yok sayılır. Olaylara kodda AdanotchKit.events.on(...)
ile abone ol. Olaylar ve zamanlayıcılar
Ayarlar
settings dizisindeki her öğe, Ayarlar › Eklentiler › eklentin sayfasında bir kontrol olur. Değerler kodda ctx.settings.<key> olarak gelir.
type | Kontrol | Değer | Not |
|---|---|---|---|
toggle | Anahtar | boolean | |
number | Sayı alanı | number | unit ile birim gösterilir ("dk") |
text | Metin alanı | string | |
select | Açılır liste | string | options zorunlu |
secret | Gizli alan | — | ctx.settings'e gelmez; secrets.get(key) ile okunur. default alamaz |
Kodda aynı şekli bir arayüzle tanımla:
interface Settings {
city: string;
unit: "c" | "f";
}
AdanotchKit.activity<Settings>({
async update(ctx) {
ctx.settings.city; // string
},
});Gizli değerler için: Ağ ve gizli değerler.