Yapılandırma
Site, proje kökündeki wuppy.config.mjs (veya .ts) dosyasında tanımlanır.
export default { site: { url: "https://example.com", name: "Example" }, locales: ["en", "tr"], // slug'ın ilk parçası dildir: en/hello, tr/hello components: ["Callout"], // içerikte kullanılabilecek bileşenler collections: [ { name: "posts", dir: "content/posts", route: "/blog/{slug}", fields: { title: "string", date: "date", draft: "boolean", publishAt: "date", tags: "list", cover: "image" }, }, ], redirects: [{ from: "/old", to: "/new" }], webhooks: [{ url: "https://ci.example.com/hook", secret: "…", events: ["content.updated"] }], plugins: [{ dir: "plugins/search", approve: "<wuppy plugin hash çıktısı>" }],};Alan tipleri
Bölüm başlığı “Alan tipleri”| Tip | Düzenleme biçimi |
|---|---|
string, text |
tek satır, çok satır |
number, boolean, date |
sayı, anahtar, tarih seçici |
image |
yüklemeli medya seçici |
list |
metin listesi (örneğin etiketler) |
select |
sabit bir listeden tek değer |
reference |
başka bir kayda, taksonomi terimine veya yazar profiline bağlantı |
richText |
Markdown editörü |
repeater, blocks, json |
yapılandırılmış JSON (repeater alt şema ve min/max destekler) |
Alanlar zorunlu olabilir, varsayılan değer ve yardım metni alabilir, başka bir alanın değerine göre gösterilebilir
(örneğin draft açıkken publishAt gizlenir).
Koleksiyonlar panelde Content Types altında da oluşturulup düzenlenebilir; bkz. İçerik tipleri.
İçerik bileşenleri
Bölüm başlığı “İçerik bileşenleri”İçerikte yalnızca components listesindeki bileşenler kullanılabilir. Diğer JSX, import ve script’ler kayıtta
reddedilir; böylece editörler sitenizde kod çalıştıramaz.
Şablonlarınız için tipler
Bölüm başlığı “Şablonlarınız için tipler”pnpm wuppy typesher koleksiyon için TypeScript tipi içeren wuppy-env.d.ts dosyasını yazar.