Files
radio.org.tr/keystatic.config.ts
T
Buğra Canata fc13f44d7d Remove format config to fix item page error
The format configuration with contentField and frontmatter might be
causing compatibility issues with KeyStatic 5.x.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-17 23:31:45 +03:00

79 lines
2.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { config, fields, collection } from '@keystatic/core';
export default config({
storage: {
kind: 'github',
repo: 'YM1KTC/ARC-Web-Sitesi',
branch: 'main',
},
ui: {
brand: {
name: 'ARC CMS',
},
navigation: {
'İçerik': ['post'],
},
},
collections: {
post: collection({
label: 'Blog Yazıları',
slugField: 'title',
path: 'src/data/post/*',
columns: ['title', 'date', 'author'],
schema: {
title: fields.text({
label: 'Başlık',
description: 'Blog yazısının başlığı (URL\'de kullanılır)',
}),
date: fields.datetime({
label: 'Yayın Tarihi',
description: 'Yazının yayınlanma tarihi ve saati',
}),
author: fields.text({
label: 'Yazar',
description: 'Çağrı işareti (örn: TA1SPH) veya yazar adı',
default: 'TA1SPH',
}),
categories: fields.array(
fields.text({
label: 'Kategori',
description: 'Kategori adı',
})
, {
label: 'Kategoriler',
description: 'Blog yazısını kategorize etmek için (örn: "Teknik", "Haberler")',
itemLabel: 'Kategori',
}),
tags: fields.array(
fields.text({
label: 'Etiket',
description: 'Etiket anahtar kelimesi',
})
, {
label: 'Etiketler',
description: 'Arama ve filtreleme için etiketler (örn: "dmr", "antren")',
itemLabel: 'Etiket',
}),
layout: fields.text({
label: 'Sayfa Düzeni',
description: 'Kullanılacak sayfa layout\'u',
default: 'post',
}),
image: fields.image({
label: 'Öne Çıkan Görsel',
description: 'Blog yazısının kapak görseli (varsayılan: /images/logbook.png)',
}),
excerpt: fields.text({
label: 'Kısa Özet',
description: 'Blog listesinde gösterilecek özet (isteğe bağlı)',
multiline: true,
}),
body: fields.markdoc({
label: 'İçerik',
description: 'Blog yazısının ana içeriği (Markdown formatında yazın)',
}),
},
}),
},
});