عن المشروع
Obsidian Dataview هو إضافة لتطبيق تدوين الملاحظات Obsidian يحوّل مخزن المستخدم إلى قاعدة بيانات قابلة للاستعلام. يقوم بفهرسة ملفات Markdown عن طريق استخراج البيانات الوصفية من YAML frontmatter وحقول التعليقات المضمنة (باستخدام صيغة `Key:: Value`)، ثم يوفر أوضاع استعلام متعددة لتصفية تلك البيانات وفرزها وعرضها.
توفر الإضافة أربع واجهات استعلام:
1. **لغة استعلام Dataview (DQL)**: لغة تعبيرية قائمة على خط الأنابيب تشبه SQL للاستعلامات الأساسية. تشمل الأمثلة سرد الملفات من مجلد مرتبة حسب التقييم، أو التصفية حسب الوسوم.
2. **التعبيرات المضمنة**: تعبيرات DQL يمكن تضمينها مباشرة في نص Markdown وتقييمها في وضع المعاينة، مثل عرض اسم الصفحة الحالية.
3. **DataviewJS**: واجهة برمجة تطبيقات JavaScript كاملة توفر الوصول إلى فهرس Dataview وأدوات العرض. هذا هو الوضع الأكثر قوة، مما يسمح بتجميع معقد وفرز ومنطق عرض مخصص.
4. **تعبيرات JS المضمنة**: معادلات JavaScript للتعبيرات المضمنة لتنفيذ JavaScript عشوائي داخل Markdown.
يعتمد استخراج البيانات على آليتين: frontmatter Markdown (كتل YAML في أعلى المستندات) والحقول المضمنة (بيانات وصفية مكتوبة مباشرة في نص المستند باستخدام صيغة `Key:: Value`). يمكن استخدام كلاهما لتعليق الملاحظات ببيانات منظمة.
قاعدة الكود مكتوبة بلغة TypeScript وتستخدم rollup/node للتجميع. يتضمن التطوير استنساخ المستودع، وتثبيت التبعيات باستخدام npm، وتشغيل `npm run dev` للبناء والنشر إلى مخزن اختبار. يستخدم المشروع أيضًا MkDocs للتوثيق.
تعمل استعلامات JavaScript بنفس مستوى الوصول مثل إضافات Obsidian الأخرى، مما يعني أنها يمكن أن تعدل الملفات أو تقوم باستدعاءات شبكة. استعلامات Dataview العادية معزولة ولا يمكنها إجراء تغييرات سلبية على المخزن.
المشروع مفتوح المصدر ويقبل المساهمات عبر تقارير الأخطاء والإصلاحات والتوثيق والتحسينات. تُنشر تعريفات أنواع TypeScript على NPM لاستخدامها في إضافات أخرى.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.