Преглед на файлове

org-export: Adapt back-ends to timestamp object change

* contrib/lisp/org-e-ascii.el (org-e-ascii-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-html.el (org-e-html-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-latex.el (org-e-latex-timestamp): Use :range-end
  property when applicable.
* contrib/lisp/org-e-odt.el (org-e-odt-timestamp): Use :range-end
  property when applicable.
Nicolas Goaziou преди 12 години
родител
ревизия
528b17ea15
променени са 4 файла, в които са добавени 34 реда и са изтрити 12 реда
  1. 6 1
      contrib/lisp/org-e-ascii.el
  2. 4 2
      contrib/lisp/org-e-html.el
  3. 15 6
      contrib/lisp/org-e-latex.el
  4. 9 3
      contrib/lisp/org-e-odt.el

+ 6 - 1
contrib/lisp/org-e-ascii.el

@@ -1667,7 +1667,12 @@ a communication channel."
 (defun org-e-ascii-timestamp (timestamp contents info)
   "Transcode a TIMESTAMP object from Org to ASCII.
 CONTENTS is nil.  INFO is a plist holding contextual information."
-  (org-translate-time (org-element-property :value timestamp)))
+  (let ((value (org-translate-time (org-element-property :value timestamp)))
+	(range-end
+	 (org-translate-time (org-element-property :range-end timestamp)))
+	(utf8p (eq (plist-get info :ascii-charset) 'utf-8)))
+    (concat value
+	    (when range-end (concat (if utf8p "–" "--") range-end)))))
 
 
 ;;;; Underline

+ 4 - 2
contrib/lisp/org-e-html.el

@@ -2999,9 +2999,11 @@ information."
   "Transcode a TIMESTAMP object from Org to HTML.
 CONTENTS is nil.  INFO is a plist holding contextual
 information."
-  (let ((value (org-translate-time (org-element-property :value timestamp))))
+  (let ((value (org-translate-time (org-element-property :value timestamp)))
+	(range-end (org-element-property :range-end timestamp)))
     (format "<span class=\"timestamp-wrapper\"><span class=\"timestamp\">%s</span></span>"
-	    value)))
+	    (if (not range-end) value
+	      (concat value "&ndash;" (org-translate-time range-end))))))
 
 
 ;;;; Underline

+ 15 - 6
contrib/lisp/org-e-latex.el

@@ -2420,12 +2420,21 @@ information."
 CONTENTS is nil.  INFO is a plist holding contextual
 information."
   (let ((value (org-translate-time (org-element-property :value timestamp)))
-	(type (org-element-property :type timestamp)))
-    (cond ((memq type '(active active-range))
-	   (format org-e-latex-active-timestamp-format value))
-	  ((memq type '(inactive inactive-range))
-	   (format org-e-latex-inactive-timestamp-format value))
-	  (t (format org-e-latex-diary-timestamp-format value)))))
+	(range-end (org-element-property :range-end timestamp)))
+    (case (org-element-property :type timestamp)
+      (active (format org-e-latex-active-timestamp-format value))
+      (active-range
+       (concat (format org-e-latex-active-timestamp-format value)
+	       "--"
+	       (format org-e-latex-active-timestamp-format
+		       (org-translate-time range-end))))
+      (inactive (format org-e-latex-inactive-timestamp-format value))
+      (inactive-range
+       (concat (format org-e-latex-inactive-timestamp-format value)
+	       "--"
+	       (format org-e-latex-inactive-timestamp-format
+		       (org-translate-time range-end))))
+      (otherwise (format org-e-latex-diary-timestamp-format value)))))
 
 
 ;;;; Underline

+ 9 - 3
contrib/lisp/org-e-odt.el

@@ -3652,9 +3652,15 @@ information."
 CONTENTS is nil.  INFO is a plist used as a communication
 channel."
   (org-e-odt-format-fontify
-   (org-e-odt-format-fontify
-    (org-translate-time (org-element-property :value timestamp))
-    "timestamp")
+   (concat
+    (org-e-odt-format-fontify
+     (concat (org-translate-time (org-element-property :value timestamp))
+	     (let ((range-end (org-element-property :range-end timestamp)))
+	       (when range-end
+		 (concat "&#x2013;"
+			 (org-e-odt-format-fontify
+			  (org-translate-time range-end) "timestamp")))))
+     "timestamp"))
    "timestamp-wrapper"))