Önemli Türler

Tüm türler elle yazılmış .d.ts dosyalarında tanımlanır. Bu sayfa, çekirdek ve eklentiler arasındaki çalışma zamanı sözleşmelerini tanımlayan türleri eşler.

Yapılandırma Türleri (base/src/config.d.ts)

TürAçıklama
ShevkyConfigTüm bölümleri içeren kök yapılandırma şekli
ConfigApiNesneyi load(path) ve get(key) yöntemleriyle yapılandırma
SeoConfigSEO varsayılanları (defaultImage, includeCollections, vb.)
AnalyticsConfigAnalitik sağlayıcı kimlikleri
FeaturesConfigKullanıcı arayüzü özelliği geçiş yapar
PostOperationsConfigEtkileşim sonrası kontroller
ShareOptionsAğ başına paylaşım düğmesi geçiş yapar
MarkdownConfigİşaretleme oluşturucu seçenekleri
PaginationConfigSayfa boyutu ve yerelleştirilmiş segmentler
ContentConfigSayfalandırma, diller, koleksiyonlar
BuildConfigKüçültme, hata ayıklama, arabellek sınırları, takma adlar
IdentityConfigYazar, e-posta, URL, tema, sosyal
SocialIdentityConfigSosyal medya hesabı URL'leri
RobotsConfigYollara izin ver/izin verme

Eklenti Sözleşme Türleri (base/src/plugin.d.ts)

TürAçıklama
PluginDefinitionEklenti şekli: { name, version, hooks, load? }
PluginHookYaşam döngüsü kanca değerlerinin listesi
PluginHooksKanca adlarını işleyicilere kısmi kayıt eşleme
HookHandler(ctx: PluginContext) => Promise<void> | void
PluginContextYapılandırma, günlük, dosya, dizin, yol, yollar, contentFiles ile tam bağlam
BasePluginContextpaths'siz içerik
PluginLoadContextAsgari bağlam: { config, paths }
PluginPathsProje dizinleri (root, src, dist, content, vb.)
SchemaTypeBirlik: "post" | "job-post" | ... | "policy"
CollectionType"tag" | "category" | "series"

İçerik Türleri (base/src/plugin.d.ts)

TürAçıklama
ContentHeaderLikeÖn madde alanı şekli
ContentBodyLikeGövde içeriği ambalajı
ContentFileLikeEklenti etkileşimi için birleştirilmiş içerik dosyası
ContentSummaryLikeÖzet projeksiyonu (kimlik, başlık, tarih vb.)

Yardımcı Program API Türleri

TürDosyaAçıklama
IoApibase/src/io.d.tsDosya, dizin, yol, URL işlemleri
ExecApibase/src/exec.d.tsSüreç yürütme ve modül çözümü
I18nApibase/src/i18n.d.tsUluslararasılaştırma yardımcıları
FormatApibase/src/format.d.tsBiçimlendirme ve yazım koruma yardımcı programları
LogApibase/src/log.d.tsGünlük arayüzü

Çekirdek Türleri (core/types/index.d.ts)

TürAçıklama
ProjectPathsTüm proje dizini yolları
PluginInstanceYüklenen eklenti çalışma zamanı nesnesi
PluginExecutionContextKanca yürütmesi için genişletilmiş bağlam
ContentFileLikeÇekirdek için içerik dosyası şekli
CollectionEntryKoleksiyon türüyle içerik özeti
CollectionsByLangRecord<string, Record<string, CollectionEntry[]>>
FooterPolicyAltbilgi politikası bağlantısı
FrontMatterRecord<string, any>
PlaceholderMarkdown bileşeni yer tutucusu

Eklentiye Özel Türler

TürPaketAçıklama
RssPluginConfigeklenti-rssFeed dosya adı, TTL, öğe sayısı
SitemapPluginConfigeklenti-site haritasıSite haritası dosya adı
ContentBridgeConfigeklenti-içerik köprüsüKaynaklar, maxItems, çıktı
ContentBridgeSourceeklenti-içerik köprüsüGetirme, eşleme, kaynak başına yapılandırma
ContentBridgeFetchConfigeklenti-içerik köprüsüURL, yöntem, başlıklar, sayfalandırma
ContentBridgePaginationeklenti-içerik köprüsüMod, parametreler, imleçler
ContentBridgeMappingeklenti-içerik köprüsüÖn madde, içerik, kaynakYol eşlemesi

Bilinen Tür Uyuşmazlığı

core/types/index.d.ts alanına gerektiği gibi PluginInstance.load yazılır. Çalışma zamanında (core/registries/pluginRegistry.js), load isteğe bağlı (if (instance.load)) olarak değerlendirilir. Sıkı tip kontrolüne güveniyorsanız bu önemlidir.

İlgili