Khazaf

by isltanx
Screenshot of the Khazaf Obsidian theme
5
4
3
2
1

Description

This theme supports Dark Mode
This theme supports Light Mode

README file from

Github

عن خزف

الاسم من الخزف: طينٌ مشويّ وطلاءٌ بلون المريمية. صُمّم الثيم لمن يكتب بالعربية كثيرًا داخل Obsidian، فجعل المتن مركز الاهتمام، وترك الأشرطة والأدوات واضحة دون أن تنافسه. اللون الطيني لا يظهر إلا على ما يهمّ: الرابط، والعنصر المحدد، ومرجع الحاشية.

صُمّم أولًا نظامًا كاملًا في Figma، ثم بُني واختُبر داخل Obsidian الفعلي بواجهة عربية.

المعاينة

لقطات حقيقية من Obsidian 1.14.4.

القراءة · فاتح القراءة · داكن
القراءة بالوضع الفاتح القراءة بالوضع الداكن مع كود وبيت شعر وجدول
المعاينة الحية · داكن وضع المصدر · فاتح
المعاينة الحية بالوضع الداكن وضع المصدر بالوضع الفاتح
صناديق المهام وDataview المبدّل السريع
صناديق المهام البديلة وجدول Dataview المبدّل السريع

على الهاتف

المزايا

القراءة والكتابة

  • المتن بخط Vazirmatn بحجم 17 وتباعد أسطر 1.75، حتى لا تتصادم الحركات بين الأسطر.
  • العناوين الكبرى بخط Markazi Text النسخي، والصغرى بخط الواجهة لتبقى واضحة.
  • سطر بعرض 700 بكسل، نحو 70 إلى 85 حرفًا عربيًا في السطر.

الحواشي

  • المرجع رقم صغير بلا أقواس، بلون التمييز.
  • قائمة الحواشي أسفل الملاحظة بخط أصغر، ورابط العودة ↩ بعد النص.
  • الحاشية التي قفزت إليها تُظلَّل لتعرف مكانك.

عناصر المتن

  • ستة صناديق مهام بديلة: قيد التنفيذ، ملغاة، مؤجلة، مهمة، سؤال، مميزة.
  • تنبيهات بشريط في بداية السطر وعنوان بلون نوعها.
  • بيت الشعر بصدر وعجز متقابلين، يتراصّان على الشاشات الضيقة.
  • الاقتباس بوزن خفيف بدل المائل، لأن العربية لا مائل لها.
  • الكود من اليسار دائمًا داخل الملاحظة العربية، والعربية داخل تعليقاته تُقرأ صحيحة.
  • جداول بصفوف متناوبة، ووسوم كحبّات، وصناديق مهام بلون الطين.

قابل للتخصيص

  • أكثر من عشرين خيارًا عبر إضافة Style Settings: لوحتان، ولون التمييز، والخطوط، وعرض السطر، وشكل التنبيه والاقتباس، وغيرها.
  • أصناف جاهزة للملاحظات: صفحة عريضة، ومضغوطة، وملاحظة شعر.
  • يدعم جداول Dataview ومخطط الروابط.

الواجهة

  • واجهة معكوسة كاملة: الملفات في اليمين، والمخطط والروابط الخلفية في اليسار.
  • وضعان فاتح وداكن بالشخصية نفسها.
  • على الهاتف: أسطح أردوازية بدل الأسود الخالص، ولمس أسهل في شجرة الملفات، وكود يتمرّر بدل أن ينكسر.

بلا اعتماديات

  • الخطوط الثلاثة مضمّنة داخل الثيم، فيعمل كما هو على الحاسب والهاتف ودون اتصال.
  • لا يحتاج أي إضافة. Style Settings اختيارية لمن يريد التخصيص.

اللوحة والخطوط

اللوحة الافتراضية «مريمية وطين»:

لوحة مريمية وطين بالوضعين

ومعها لوحة ثانية اختيارية «ورق ونيلة»: ورق دافئ، وحبر بني، ولون نيلي، وزعفران للاقتباس. تُختار من الإعدادات.

لوحة ورق ونيلة بالوضع الداكن

الخطوط الثلاثة: Markazi Text وVazirmatn وJetBrains Mono

التثبيت

من متجر الثيمات

خزف مدرج في دليل ثيمات Obsidian، فاضغط «Add to Obsidian» من صفحته، أو من داخل التطبيق:

  1. افتح الإعدادات ← المظهر ← الثيمات ← إدارة.
  2. ابحث عن Khazaf.
  3. اضغط تثبيت واستخدام.

يدويًا

  1. نزّل theme.css وmanifest.json من آخر إصدار.
  2. ضعهما في هذا المجلد داخل قبوك، وأنشئه إن لم يكن موجودًا:
    .obsidian/themes/Khazaf/
    
  3. أعد فتح Obsidian، ثم اختر Khazaf من الإعدادات ← المظهر ← الثيمات.

التحديث

  • إن ثبّته من المتجر: الإعدادات ← المظهر ← الثيمات ← تحقق من التحديثات.
  • إن ثبّته يدويًا: استبدل الملفين بنسختهما من الإصدار الأحدث.

إعدادات Obsidian المكمّلة

هذه إعدادات في Obsidian نفسه، والثيم لا يفرضها:

الإعداد المكان لماذا
لغة الواجهة: العربية الإعدادات ← عام ← اللغة تعكس الأشرطة والقوائم (يحتاج إعادة تشغيل)
من اليمين إلى اليسار الإعدادات ← المحرر يجعل الاتجاه الافتراضي للمحرر عربيًا
حجم الخط 17 الإعدادات ← المظهر ← حجم الخط الحجم الذي صُمّم عليه الثيم
طول السطر المقروء الإعدادات ← المحرر يُفعّل السطر بعرض 700 بكسل

الإعدادات

ثبّت إضافة Style Settings من الإضافات المجتمعية، ثم افتح الإعدادات ← Style Settings ← Khazaf · خزف. الخيارات تظهر بالعربية إن كانت واجهتك عربية.

لوحة إعدادات خزف داخل Style Settings

المجموعة الخيارات
الألوان اللوحة (مريمية وطين، أو ورق ونيلة) · لون التمييز · لون الاقتباس · لون التظليل · تباين أعلى · الأشرطة بلون المتن
الخطوط والقراءة خط المتن · خط العناوين الكبرى · عرض السطر · تباعد الأسطر · تباعد الفقرات · الأرقام العربية الهندية في القوائم المرقّمة
عناصر المتن شكل التنبيه (شريط، إطار، خلفية) · شكل الاقتباس (خفيف، نسخي، عادي) · أقواس حول رقم الحاشية · حجم خط الحواشي · حجم بيت الشعر · عناوين بلون التمييز · صناديق مهام عادية فقط · التفاف أسطر الكود
الواجهة إخفاء خطوط الإرشاد في شجرة الملفات · إخفاء عنوان «الخصائص» · إخفاء شريط الحالة، وله أمر في لوحة الأوامر

الثيم يعمل كاملًا بدون الإضافة. من لا يثبّتها يحصل على الإعدادات الافتراضية.

صناديق المهام البديلة

اكتب حرفًا داخل القوسين بدل x:

- [/] قيد التنفيذ
- [-] ملغاة
- [>] مؤجلة
- [!] مهمة
- [?] سؤال
- [*] مميزة

تعمل في القراءة والمعاينة الحية. لإيقافها فعّل «صناديق مهام عادية فقط» من الإعدادات.

أصناف الملاحظات

أضف خاصية cssclasses إلى أي ملاحظة:

---
cssclasses:
  - khazaf-poetry
---
الصنف ما يفعله
khazaf-wide صفحة بعرض النافذة، تتجاهل عرض السطر المقروء
khazaf-compact تباعد أقل بين الأسطر والفقرات، لليوميات والقوائم
khazaf-poetry كل الفقرات في الوسط بخط نسخي أكبر، لملاحظة قصيدة كاملة

ملاحظة شعر بصنف khazaf-poetry

بمقتطف CSS

لمن لا يريد إضافة، أو يريد ما ليس في الإعدادات: افتح الإعدادات ← المظهر ← مقتطفات CSS، وأنشئ ملفًا مثل khazaf-custom.css:

/* خط آخر للعناوين، مثل Amiri إن كان مثبّتًا على جهازك */
body {
  --khazaf-font-heading: "Amiri", serif;
}

/* لون تمييز مختلف في الوضع الفاتح (الدرجة، التشبع، الإضاءة) */
.theme-light {
  --accent-h: 200;
  --accent-s: 60%;
  --accent-l: 40%;
}

كل متغيرات Obsidian الموثقة تعمل أيضًا، وقائمتها في توثيق Obsidian.

بيت الشعر

اكتب البيت جدولًا بعمودين داخل تنبيه من نوع verse:

> [!verse]
> | | |
> |---|---|
> | وما نَيْلُ المطالبِ بالتمنّي | ولكنْ تُؤخَذُ الدنيا غِلابا |
> | وما استعصى على قومٍ منالٌ | إذا الإقدامُ كان لهم رِكابا |

بيت الشعر في وضع القراءة

الملاحظة تبقى Markdown عاديًا. إن غيّرت الثيم يومًا ظهر البيت جدولًا مقروءًا داخل تنبيه.

الإضافات

مختبرة مع خزف:

  • Style Settings: كل خيارات خزف.
  • Dataview: الجداول بتنسيق الثيم، والحقول المضمّنة [المفتاح:: القيمة] كحبّات.

الإضافات الأساسية في Obsidian: البحث، والروابط الخلفية، والمخطط، والوسوم، والمبدّل السريع، ومعاينة الصفحة عند التحويم، ومخطط الروابط، وشريط أدوات الهاتف.

إضافات أخرى، مثل Kanban وExcalidraw، لم تُختبر بعد. إن ظهر خلل مع إحداها فافتح بلاغًا.

قيود معروفة

هذه من Obsidian نفسه، وتظهر مع الثيم الافتراضي أيضًا:

  • حقل التاريخ في الخصائص يظهر فارغًا وبحروف معكوسة في الواجهة العربية.
  • السطر الذي يبدأ بحرف لاتيني، مثل > [!tip] نصيحة، يُعرض في المحرر من اليسار، لأن Obsidian يحدد اتجاه كل سطر من أول حرف فيه.

المشكلات والاقتراحات

  • وجدت خللًا؟ افتح بلاغًا وأرفق لقطة شاشة، واذكر نسخة Obsidian والجهاز ولغة الواجهة.
  • عندك فكرة؟ افتح اقتراحًا.

التطوير

src/            مصدر الثيم مقسّمًا: المتغيرات، اللوحات، المتن، الواجهة، RTL، الهاتف، الإعدادات، الصناديق، الأصناف، الإضافات
fonts/          ملفات الخطوط ورخصتها
scripts/        جلب الخطوط، والبناء، وتثبيت إضافات التجربة، وأداة فحص داخل Obsidian
test-vault/     قبو تجريبي بملاحظات عربية حقيقية
docs/           الصور ولقطات التصميم
theme.css       ناتج البناء، لا تحرّره يدويًا
python3 scripts/fetch-fonts.py        # مرة واحدة: يجلب الخطوط ويقلّصها (يحتاج fonttools وbrotli)
./scripts/setup-test-plugins.sh       # مرة واحدة: Style Settings وDataview في قبو التجربة
python3 scripts/build.py              # بعد كل تعديل في src/

البناء ينسخ الثيم إلى test-vault، فافتح هذا المجلد في Obsidian كقبو لتجربة تعديلاتك. مجلد 03 عرض الثيم فيه ملاحظات تجمع الصناديق البديلة وDataview وملاحظة الشعر.

للإصدار: ارفع رقم version في manifest.json وأضف سطرًا في سجل التغييرات، ثم ادفع وسمًا بالرقم نفسه، مثل 0.2.1. ينشئ GitHub Actions مسودة إصدار فيها theme.css وmanifest.json.

للمساهمة اقرأ دليل المساهمة.

شكر

  • Vazirmatn لصابر راستي كردار.
  • Markazi Text لبرنا إيزدبناه وفلوريان رونغه.
  • JetBrains Mono.
  • أيقونات Lucide التي يستخدمها Obsidian.
  • إضافة Style Settings التي جعلت الإعدادات ممكنة.
  • فريق Obsidian على دعم الواجهة من اليمين إلى اليسار.

الرخصة

كود الثيم برخصة MIT. الخطوط المضمّنة برخصة SIL OFL 1.1، وحقوقها في fonts/NOTICE.md.