منصوبے کے بارے میں

Obsidian Dataview نوٹ لینے والی ایپلیکیشن Obsidian کے لیے ایک پلگ ان ہے جو صارف کے والٹ کو قابلِ استفسار ڈیٹا بیس میں تبدیل کرتا ہے۔ یہ YAML فرنٹ میٹر اور ان لائن فیلڈ تشریحات (`Key:: Value` نحو کا استعمال کرتے ہوئے) سے میٹا ڈیٹا نکال کر Markdown فائلوں کو انڈیکس کرتا ہے، پھر اس ڈیٹا کو فلٹر، ترتیب دینے اور تصور کرنے کے لیے متعدد کورئری موڈ فراہم کرتا ہے۔ پلگ ان چار کورئری انٹرفیس پیش کرتا ہے: 1. **Dataview Query Language (DQL)**: بنیادی کورئریز کے لیے پائپ لائن پر مبنی، SQL جیسی اظہاری زبان۔ مثالوں میں کسی فولڈر سے فائلوں کو ریٹنگ کے لحاظ سے ترتیب دینا، یا ٹیگز کے ذریعے فلٹر کرنا شامل ہے۔ 2. **Inline Expressions**: DQL اظہارات جو براہ راست Markdown متن میں ایمبیڈ کیے جا سکتے ہیں اور پیش نظارہ موڈ میں جانچے جا سکتے ہیں، جیسے موجودہ صفحے کا نام ظاہر کرنا۔ 3. **DataviewJS**: ایک مکمل JavaScript API جو Dataview انڈیکس اور رینڈرنگ یوٹیلیٹیز تک رسائی فراہم کرتا ہے۔ یہ سب سے طاقتور موڈ ہے، جو پیچیدہ گروپ بندی، ترتیب اور حسب ضرورت رینڈرنگ منطق کی اجازت دیتا ہے۔ 4. **Inline JS Expressions**: Markdown کے اندر صوابدیدی JS کو ان لائن چلانے کے لیے ان لائن اظہارات کے JavaScript مساوی۔ ڈیٹا نکالنا دو میکانزم پر انحصار کرتا ہے: Markdown فرنٹ میٹر (دستاویزات کے اوپر YAML بلاکس) اور ان لائن فیلڈز (دستاویز کے باڈی میں براہ راست `Key:: Value` نحو کا استعمال کرتے ہوئے لکھا گیا میٹا ڈیٹا)۔ دونوں کو نوٹس کو ساختی ڈیٹا کے ساتھ تشریح کرنے کے لیے استعمال کیا جا سکتا ہے۔ کوڈ بیس TypeScript میں لکھا گیا ہے اور کمپائلیشن کے لیے rollup/node استعمال کرتا ہے۔ ڈیولپمنٹ میں ریپوزٹری کو کلون کرنا، npm کے ساتھ انحصار انسٹال کرنا، اور ٹیسٹ والٹ میں تعمیر اور تعیناتی کے لیے `npm run dev` چلانا شامل ہے۔ پروجیکٹ دستاویزات کے لیے MkDocs بھی استعمال کرتا ہے۔ JavaScript کورئریز دوسرے Obsidian پلگ انز کی طرح رسائی کی سطح کے ساتھ چلتی ہیں، یعنی وہ ممکنہ طور پر فائلوں میں ترمیم کر سکتی ہیں یا نیٹ ورک کالز کر سکتی ہیں۔ باقاعدہ Dataview کورئریز سینڈ باکسڈ ہوتی ہیں اور والٹ میں منفی تبدیلیاں نہیں کر سکتیں۔ پروجیکٹ اوپن سورس ہے اور بگ رپورٹس، فکسز، دستاویزات اور بہتری کے ذریعے تعاون قبول کرتا ہے۔ TypeScript قسم کی تعریفیں دوسرے پلگ انز میں استعمال کے لیے NPM پر شائع کی جاتی ہیں۔