Optimize KeyStatic config with Turkish UI and improved editor experience

- Add Turkish brand name "ARC CMS"
- Add Turkish navigation "İçerik"
- Add columns to show title, date, and author in list view
- Improve all field descriptions with Turkish examples and better help text
- Add itemLabel for better UX in array fields

Note: KeyStatic doesn't have built-in i18n/locale support yet.
This is tracked in: https://github.com/Thinkmill/keystatic/discussions/1423

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Buğra Canata
2026-01-17 22:49:00 +03:00
parent b62715c7d8
commit 6e4dc7a33a
+24 -10
View File
@@ -6,6 +6,14 @@ export default config({
repo: 'YM1KTC/ARC-Web-Sitesi', repo: 'YM1KTC/ARC-Web-Sitesi',
branch: 'main', branch: 'main',
}, },
ui: {
brand: {
name: 'ARC CMS',
},
navigation: {
'İçerik': ['post'],
},
},
collections: { collections: {
post: collection({ post: collection({
label: 'Blog Yazıları', label: 'Blog Yazıları',
@@ -15,54 +23,60 @@ export default config({
contentField: 'body', contentField: 'body',
frontmatter: 'yaml', frontmatter: 'yaml',
}, },
columns: ['title', 'date', 'author'],
schema: { schema: {
title: fields.slug({ title: fields.slug({
name: { name: {
label: 'Başlık', label: 'Başlık',
description: 'Blog yazısının başlığı', description: 'Blog yazısının başlığı (URL\'de kullanılır)',
}, },
}), }),
date: fields.datetime({ date: fields.datetime({
label: 'Yayın Tarihi', label: 'Yayın Tarihi',
description: 'Yazının yayınlanma tarihi', description: 'Yazının yayınlanma tarihi ve saati',
}), }),
author: fields.text({ author: fields.text({
label: 'Yazar', label: 'Yazar',
description: 'Çağrı işareti veya yazar adı', description: 'Çağrı işareti (örn: TA1SPH) veya yazar adı',
default: 'TA1SPH', default: 'TA1SPH',
}), }),
categories: fields.array( categories: fields.array(
fields.text({ fields.text({
label: 'Kategori', label: 'Kategori',
description: 'Kategori adı',
}) })
, { , {
label: 'Kategoriler', label: 'Kategoriler',
description: 'Blog yazısının kategorileri', description: 'Blog yazısını kategorize etmek için (örn: "Teknik", "Haberler")',
itemLabel: 'Kategori',
}), }),
tags: fields.array( tags: fields.array(
fields.text({ fields.text({
label: 'Etiket', label: 'Etiket',
description: 'Etiket anahtar kelimesi',
}) })
, { , {
label: 'Etiketler', label: 'Etiketler',
description: 'Blog yazısının etiketleri', description: 'Arama ve filtreleme için etiketler (örn: "dmr", "antren")',
itemLabel: 'Etiket',
}), }),
layout: fields.text({ layout: fields.text({
label: 'Düzen', label: 'Sayfa Düzeni',
description: 'Kullanılacak sayfa layout\'u',
default: 'post', default: 'post',
}), }),
image: fields.image({ image: fields.image({
label: 'Öne Çıkan Görsel', label: 'Öne Çıkan Görsel',
description: 'Blog yazısı için kapak görseli', description: 'Blog yazısının kapak görseli (varsayılan: /images/logbook.png)',
}), }),
excerpt: fields.text({ excerpt: fields.text({
label: 'Özet', label: 'Kısa Özet',
description: 'Blog yazısının kısa özeti', description: 'Blog listesinde gösterilecek özet (isteğe bağlı)',
multiline: true, multiline: true,
}), }),
body: fields.markdoc({ body: fields.markdoc({
label: 'İçerik', label: 'İçerik',
description: 'Blog yazısının ana içeriği', description: 'Blog yazısının ana içeriği (Markdown formatında yazın)',
}), }),
}, },
}), }),