इस का काम है org-element, भयानक की (!) काम निकोलस Goaziou । यदि आप नहीं जानते हैं org-elementऔर आप ओआरजी-डेवलपमेंट की परवाह करते हैं तो यह कुछ ऐसा है जिस पर आपको गौर करना चाहिए। यह न केवल काम करने के लिए एक महान उपकरण है, यह तेजी से शक्ति भी है org। सबसे विशेष रूप से org-export( ox), लेकिन यह भी जैसे में कार्य करता है org.el।
बिंदु उपयोग के तहत एक तत्व का "लिस्प प्रतिनिधित्व" प्राप्त करने के लिए org-element-at-pointया org-element-context। बफर उपयोग का प्रतिनिधित्व प्राप्त करने के लिए org-element-parse-buffer। जबकि यहाँ सीधे प्रासंगिक नहीं है, के बारे में पता होना चाहिए org-element-map।
"लिस्प प्रतिनिधित्व" से जाने के लिए element, secondary stringया "ओर्ग सिंटैक्स प्रतिनिधित्व" के उपयोग पर parse treeवापस जाएं । यह एक "ऑर्ग सिंटैक्स प्रतिनिधित्व" में "लिस्प प्रतिनिधित्व" को चालू करने का (केवल) तरीका है। आप इस प्रतिनिधित्व को मैन्युअल रूप से लिखना नहीं चाहेंगे, हालाँकि। यहाँ अपने पहले शीर्षक का एक बहुत छोटा प्रतिनिधित्व हैorg-element-interpret-data
(org-element-interpret-data
'(headline (:title "One headline" :level 1)
(property-drawer nil ((node-property (:key "property1" :value "value1"))
(node-property (:key "property2" :value "value2"))))
(#("Some much longer content."))))
यदि आप जोड़ना चाहिए दोनों सुर्खियों में जोड़ें parse tree
(org-element-interpret-data
'(org-data nil (headline (:title "One headline" :level 1)
(property-drawer nil ((node-property (:key "property1" :value "value1"))
(node-property (:key "property2" :value "value2"))))
(#("Some much longer content.")))
(headline (:title "Second headline" :level 1)
(property-drawer nil ((node-property (:key "property1" :value "value1"))
(node-property (:key "property2" :value "value2"))))
(#("More much longer content.")))))
हो सकता है कि Thorsten Jolitz के org-dpपुस्तकालय (जैसे प्रयासों में आप सहायता करेगा Melpa पर )।
पुस्तकालय org-dpस्थानीय स्तर पर प्रोग्रामिंग के लिए है, अर्थात बिना किसी (संदर्भ के) जानकारी के बिना बिंदु पर मौजूद तत्व के बारे में। इसे स्थानीय स्तर पर ऑर्ग पार्सर / दुभाषिया ढांचे का उपयोग करने के लिए डिज़ाइन किया गया है जो इसे वैश्विक स्तर पर उपयोग करने के लिए सुविधाजनक है (एक पूर्ण तोता-पेड़ org-element-parse-bufferउपलब्ध द्वारा उत्पादित
)
थोरस्टेन द्वारा एक अधिक संपूर्ण विवरण यहां पाया जा सकता है ।
आगे स्पष्टीकरण के gmane.emacs.orgmodeलिए वास्तव में उपयुक्त मंच है।
org-insert-drawer। (यह है कि, अगर ऐसा कोई कनवर्टर मौजूद है, तो मुझे लगता है कि यह फ़ंक्शन उस एक को कॉल करेगाnil।)