summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Alexander <tomalexander@paphus.com>2012-03-20 17:01:21 +0100
committerBastien Guerry <bzg@altern.org>2012-03-20 17:01:21 +0100
commitce7579e1f74f7b374db5a5827ecb7fc33c2244a2 (patch)
tree5692ab711d3ca5ee0bcb7007ae0e8a0722973730
parentd22ffc23d0134d5712dfee92e81d06d51e7d87a0 (diff)
downloadorg-mode-ce7579e1f74f7b374db5a5827ecb7fc33c2244a2.tar.gz
contrib/lisp/org-export-generic.el: Added variables for exporting tables and a mediawiki exporter.
-rw-r--r--contrib/lisp/org-export-generic.el87
1 files changed, 82 insertions, 5 deletions
diff --git a/contrib/lisp/org-export-generic.el b/contrib/lisp/org-export-generic.el
index 436badc..01a8a8c 100644
--- a/contrib/lisp/org-export-generic.el
+++ b/contrib/lisp/org-export-generic.el
@@ -325,6 +325,51 @@ in this way, it will be wrapped."
:body-bullet-list-prefix ("* " "** " "*** " "**** " "***** ")
)
;;
+ ;; mediawiki
+ ;;
+ ("mediawiki"
+ :file-suffix ".txt"
+ :key-binding ?m
+
+ :header-prefix ""
+ :header-suffix ""
+
+ :title-format "= %s =\n"
+
+ :date-export nil
+
+ :toc-export nil
+
+ :body-header-section-numbers nil
+ :body-section-prefix "\n"
+
+ :body-section-header-prefix ("= " "== " "=== "
+ "==== " "===== " "====== ")
+ :body-section-header-suffix (" =\n\n" " ==\n\n" " ===\n\n"
+ " ====\n\n" " =====\n\n" " ======\n\n")
+
+ :body-line-export-preformated t ;; yes/no/maybe???
+ :body-line-format "%s\n"
+ :body-line-wrap 75
+
+ :body-line-fixed-format " %s\n"
+
+ :body-list-format "* %s\n"
+ :body-number-list-format "# %s\n"
+
+ :body-bullet-list-prefix ("* " "** " "*** " "**** " "***** ")
+ :body-list-checkbox-todo "&#9744; "
+ :body-list-checkbox-done "&#9746; "
+ :body-table-start "{|"
+ :body-table-end "|}"
+ :body-table-cell-start "|"
+ :body-table-cell-end "\n"
+ :body-table-last-cell-end "|-"
+ :body-table-hline-start ""
+
+
+ )
+ ;;
;; internet-draft .xml for xml2rfc exporter
;;
("ietfid"
@@ -715,7 +760,34 @@ underlined headlines. The default is 3."
(or (plist-get export-plist :body-list-checkbox-done-end) ""))
(listcheckhalfend
(or (plist-get export-plist :body-list-checkbox-half-end) ""))
- (bodynewline-paragraph (plist-get export-plist :body-newline-paragraph))
+ (bodytablestart
+ (or (plist-get export-plist :body-table-start) ""))
+ (bodytableend
+ (or (plist-get export-plist :body-table-end) ""))
+ (bodytablerowstart
+ (or (plist-get export-plist :body-table-row-start) ""))
+ (bodytablerowend
+ (or (plist-get export-plist :body-table-row-end) ""))
+ (bodytablecellstart
+ (or (plist-get export-plist :body-table-cell-start) ""))
+ (bodytablecellend
+ (or (plist-get export-plist :body-table-cell-end) ""))
+ (bodytablefirstcellstart
+ (or (plist-get export-plist :body-table-first-cell-start) ""))
+ (bodytableinteriorcellstart
+ (or (plist-get export-plist :body-table-interior-cell-start) ""))
+ (bodytableinteriorcellend
+ (or (plist-get export-plist :body-table-interior-cell-end) ""))
+ (bodytablelastcellend
+ (or (plist-get export-plist :body-table-last-cell-end) ""))
+ (bodytablehlinestart
+ (or (plist-get export-plist :body-table-hline-start) " \\1"))
+ (bodytablehlineend
+ (or (plist-get export-plist :body-table-hline-end) ""))
+
+
+
+ (bodynewline-paragraph (plist-get export-plist :body-newline-paragraph))
(bodytextpre (plist-get export-plist :body-text-prefix))
(bodytextsuf (plist-get export-plist :body-text-suffix))
(bodylinewrap (plist-get export-plist :body-line-wrap))
@@ -1328,16 +1400,21 @@ REVERSE means to reverse the list if the plist match is a list
(setq lines (org-table-clean-before-export lines)))
;; Get rid of the vertical lines except for grouping
(let ((vl (org-colgroup-info-to-vline-list org-table-colgroup-info))
- rtn line vl1 start)
+ (rtn (list bodytablestart)) line vl1 start)
(while (setq line (pop lines))
+ (setq line (concat bodytablerowstart line))
(if (string-match org-table-hline-regexp line)
(and (string-match "|\\(.*\\)|" line)
- (setq line (replace-match " \\1" t nil line)))
+ (setq line (replace-match (concat bodytablehlinestart bodytablehlineend) t nil line)))
(setq start 0 vl1 vl)
+ (if (string-match "|\\(.*\\)|" line)
+ (setq line (replace-match (concat bodytablefirstcellstart bodytablecellstart " \\1 " bodytablecellend bodytablelastcellend) t nil line)))
(while (string-match "|" line start)
- (setq start (match-end 0))
- (or (pop vl1) (setq line (replace-match " " t t line)))))
+ (setq start (+ (match-end 0) (length (concat bodytablecellend bodytableinteriorcellend bodytableinteriorcellstart bodytablecellstart))))
+ (or (pop vl1) (setq line (replace-match (concat bodytablecellend bodytableinteriorcellend bodytableinteriorcellstart bodytablecellstart) t t line)))))
+ (setq line (concat line bodytablerowend))
(push line rtn))
+ (setq rtn (cons bodytableend rtn))
(nreverse rtn))))
(defun org-colgroup-info-to-vline-list (info)