이것은의 일이다 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
.
은 "LISP 표현"는의에서 이동하려면 element
, secondary string
또는 parse tree
받는 사람 다시 "조직 구문 표현" 사용 org-element-interpret-data
. 이다 는 "조직 구문 표현"에 "LISP 표현」을 켭니다 (전용) 방법. 그래도이 표현을 수동으로 작성하고 싶지 않을 것입니다. 다음은 첫 번째 헤드 라인을 나타내는 아주 작은 표현입니다.
(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.")))))
당신은 찾을 수 있습니다 토르스텐 Jolitz 의 org-dp
라이브러리 (이러한 노력에 도움이됩니다 MELPA에 ).
라이브러리 org-dp
는 로컬 수준에서 프로그래밍하기위한 것입니다. 즉, 파싱 된 요소에 대한 정보를 제외하고 (컨텍스트적인) 정보가없는 것입니다. 전역 수준에서 사용하는 것만 큼 편리한 로컬 수준에서 조직 파서 / 인터프리터 프레임 워크를 사용하도록 설계되었습니다 (사용 가능한 전체 구문 분석 트리
org-element-parse-buffer
사용).
Thorsten의 자세한 설명은 여기를 참조하십시오 .
자세한 설명 gmane.emacs.orgmode
은 실제로 적절한 포럼입니다.
org-insert-drawer
. (그러한 변환기가 존재한다면,이 함수는로 변환 할 것입니다nil
.)