इस का काम है 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
।)