इस प्रोजेक्ट के बारे में
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 पर प्रकाशित की जाती हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.