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',
branch: 'main',
},
ui: {
brand: {
name: 'ARC CMS',
},
navigation: {
'İçerik': ['post'],
},
},
collections: {
post: collection({
label: 'Blog Yazıları',
@@ -15,54 +23,60 @@ export default config({
contentField: 'body',
frontmatter: 'yaml',
},
columns: ['title', 'date', 'author'],
schema: {
title: fields.slug({
name: {
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({
label: 'Yayın Tarihi',
description: 'Yazının yayınlanma tarihi',
description: 'Yazının yayınlanma tarihi ve saati',
}),
author: fields.text({
label: 'Yazar',
description: 'Çağrı işareti veya yazar adı',
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ın kategorileri',
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: 'Blog yazısının etiketleri',
description: 'Arama ve filtreleme için etiketler (örn: "dmr", "antren")',
itemLabel: 'Etiket',
}),
layout: fields.text({
label: 'Düzen',
label: 'Sayfa Düzeni',
description: 'Kullanılacak sayfa layout\'u',
default: 'post',
}),
image: fields.image({
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({
label: 'Özet',
description: 'Blog yazısının kısa özeti',
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',
description: 'Blog yazısının ana içeriği (Markdown formatında yazın)',
}),
},
}),