Browse Source

ox-md: Add support for MD, MARKDOWN keywords

* lisp/ox-md.el (org-md-keyword): New function.
(org-md-export-block): Allow "MARKDOWN" blocks.
Nicolas Goaziou 11 years ago
parent
commit
af2fa1da6a
1 changed files with 15 additions and 1 deletions
  1. 15 1
      lisp/ox-md.el

+ 15 - 1
lisp/ox-md.el

@@ -80,6 +80,7 @@ This variable can be set to either `atx' or `setext'."
 		     (inline-src-block . org-md-verbatim)
 		     (italic . org-md-italic)
 		     (item . org-md-item)
+		     (keyword . org-md-keyword)
 		     (line-break . org-md-line-break)
 		     (link . org-md-link)
 		     (node-property . org-md-node-property)
@@ -156,9 +157,10 @@ channel."
 (defun org-md-export-block (export-block contents info)
   "Transcode a EXPORT-BLOCK element from Org to Markdown.
 CONTENTS is nil.  INFO is a plist holding contextual information."
-  (when (equal (org-element-property :type export-block) "MD")
+  (when (member (org-element-property :type export-block) '("MARKDOWN" "MD"))
     (org-remove-indentation (org-element-property :value export-block))))
 
+
 ;;;; Headline
 
 (defun org-md-headline (headline contents info)
@@ -254,6 +256,18 @@ a communication channel."
 	    (org-trim (replace-regexp-in-string "^" "    " contents)))))
 
 
+
+;;;; Keyword
+
+(defun org-md-keyword (keyword contents info)
+  "Transcode a KEYWORD element into Markdown format.
+CONTENTS is nil.  INFO is a plist used as a communication
+channel."
+  (if (member (org-element-property :key keyword) '("MARKDOWN" "MD"))
+      (org-element-property :value keyword)
+    (org-export-with-backend 'html keyword contents info)))
+
+
 ;;;; Line Break
 
 (defun org-md-line-break (line-break contents info)