Beta yazılım, tamamen yapay zekâ tarafından yazıldı.Hiçbir satır bir insan tarafından tek tek incelenmedi, güvenlik denetiminden geçmedi. Garanti ve sorumluluk yoktur: kullanım riski size aittir.Devamı
İçeriğe geç

Manifest (plugin.json) ​

Her eklenti klasörünün kökünde bir plugin.json bulunur. Aşağıdaki, JavaScript örneğinin dosyasıdır:

json
{
  "id": "hellojs",
  "name": "Hello (JavaScript example)",
  "description": "A minimal JavaScript plugin: a counter variable, a settings page, one action and a status item.",
  "author": "Deccoyi",
  "homepage": "https://github.com/Deccoyi/macro-grid-plugin/tree/main/HelloJs",
  "version": "0.1.2",
  "minMacroGrid": "1.0.0",
  "sdkVersion": "^0.4.0",
  "minServerVersion": "0.3.2",
  "entry": "index.js",
  "kind": "js",
  "permissions": ["variables", "actions"]
}

Alanlar ​

AlanZorunluAnlamı
idevetBenzersiz, sabit kimlik. Klasör adında, aksiyon türlerinde ve değişken adlarında, ayrıca onaylar için kullanılır. Sunucu aynı kimlikli ikinci bir eklentiyi reddeder.
nameevetEklentiler penceresinde görünen ad.
versionevetEklentinin kendi anlamsal sürümü, sunucununkinden bağımsız.
minMacroGridevetEklentinin çalıştığı en eski Macro Grid, 1.3.0 gibi MAJOR.MINOR.PATCH biçiminde. Bu bir minimum değerdir, birebir eşleşme değil: eklenti, o sürümden bir sonraki MAJOR'a kadar (o hariç) her Macro Grid'de çalışır — daha eski bir sunucuda (örn. 1.2.1 yazıp sunucu 1.1.1 ise) çalışmaz. Macro Grid ve eklenti SDK'sı tek sürümü paylaşır; derlediğiniz SDK sürümünü, daha yenisini kullanmıyorsanız daha eskisini yazın. Uymayan bir sunucu eklentiyi Incompatible (uyumsuz) listeler ve yüklemez. Macro Grid 1.2.x'e kadar adı macroGrid idi; o ad hâlâ çalışır — yalnızca minMacroGrid yoksa okunur — ve yeniden adlandırmadan sonra en az bir MAJOR boyunca okunabilir kalır.
macroGridhayırEskisi: minMacroGrid'in önceki adı, aynı anlam ve biçimde. Yalnızca minMacroGrid yoksa okunur. Yalnızca eski adı okuyan Macro Grid 1.2.x'e kadar da çalışması gereken bir eklenti her iki alanı da aynı değerle yazar.
sdkVersionhayırMacro Grid 1.0.0 öncesinden kalma alan. Yalnızca ne minMacroGrid ne de macroGrid varsa okunur: ^0.4.x, minMacroGrid: 1.0.0 sayılır, daha eski aralıklar uyumsuzdur. Eklenti 1.0.0'dan eski sunucularda da yüklenecekse minMacroGrid yanında tutun.
minServerVersionhayırsdkVersion gibi eski alan. Macro Grid 1.0.0 ve sonrası bunu yok sayar.
entryevetJavaScript: betik (genellikle index.js). Resmî bir C# eklentisi için: giriş DLL'sinin dosya adı.
kindevetResmî olanlar dışındaki her eklenti için "js". "csharp" yalnızca resmî eklentilerce kullanılır ve sunucu böyle bir eklentiyi yalnızca resmî imzayı (signature.json ve signature.sig) taşıyorsa yükler; bunsuz "csharp" diyen eklenti İzin verilmedi olarak gösterilir.
defaultLanguagehayırEklentinin kendi metinlerinin yazıldığı dil, örneğin "en" (varsayılan). Çeviriler plugin.json yanındaki locales/<language>.json dosyasından gelir; eksik bir dil veya metin, yazıldığı haline döner.
permissionshayırYalnızca JavaScript: betiğin ihtiyaç duyduğu izinler (bkz. İzinler).
descriptionhayırKeşfet ve Mağaza'da gösterilen tek satırlık özet. Eklentiseldir; eski sunucular yok sayar.
authorhayırEklentinin yazarı, description yanında gösterilir. Eklentiseldir.
homepagehayırEklentinin sayfasına veya kaynağına bir bağlantı olarak gösterilir. Eklentiseldir.

JSON şeması ​

Manifest, SDK'daki PluginManifest kaydına karşılık gelir (dosyada özellik adları camelCase'dir). Bir düzenleyicide kullanabileceğiniz şema:

json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "required": ["id", "name", "version", "minMacroGrid", "entry", "kind"],
  "properties": {
    "id": { "type": "string" },
    "name": { "type": "string" },
    "version": { "type": "string" },
    "minMacroGrid": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" },
    "macroGrid": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" },
    "sdkVersion": { "type": "string" },
    "minServerVersion": { "type": "string" },
    "entry": { "type": "string" },
    "kind": { "enum": ["csharp", "js"] },
    "defaultLanguage": { "type": "string" },
    "permissions": { "type": ["array", "null"], "items": { "type": "string" } },
    "description": { "type": "string" },
    "author": { "type": "string" },
    "homepage": { "type": "string" }
  },
  "additionalProperties": true
}

Sunucu bu şemayı okumaz; kolaylık için sunulmuştur ve SDK'nın PluginManifest türünden türetilmiştir.

Örnek ​

Bir JavaScript eklentisi:

json
{
  "id": "hellojs",
  "name": "Hello (JavaScript example)",
  "description": "A minimal JavaScript plugin: a counter variable, a settings page, one action and a status item.",
  "author": "Deccoyi",
  "homepage": "https://github.com/Deccoyi/macro-grid-plugin/tree/main/HelloJs",
  "version": "0.1.2",
  "minMacroGrid": "1.0.0",
  "sdkVersion": "^0.4.0",
  "minServerVersion": "0.3.2",
  "entry": "index.js",
  "kind": "js",
  "permissions": ["variables", "actions"]
}

Neyin uyumsuz değişiklik sayıldığı için Uyumluluk sayfasına bakın.

Macro Grid siteleri: PC · Telefon · Eklentiler
MIT Lisansı ile yayımlanmıştır. Beta yazılım, tamamen bir yapay zekâ asistanı tarafından yazılmıştır, garanti verilmeden olduğu gibi sunulur.