Re: [O] [PATCH] contrib/lisp/ox-confluence.el: Export checkboxes; fix timestamps in headlines
Hi, Nicolas Goaziou writes: > > This is a common mistake. Symbols in `cl-case' shouldn't be quoted. 'on > is really (quote on), so you actually wrote > > (cl-case (org-element-property :checkbox item) > ((quote on) "*{{(X)}}* ") > ((quote off) "*{{( )}}* ") > ((quote trans) "*{{(\\-)}}* ")) > > which is not what you want: > > (cl-case 'quote ('a 1) ('quote 2) (t 3))=> 1 > > This is why I prefer `pcase' over `cl-case'. > Interesting (and the docstring of `pcase') ! >> (format "h%s. %s%s\n%s" level todo-text text >> (if (org-string-nw-p contents) contents "" >> >> @@ -181,7 +184,7 @@ a communication channel." >> (defun org-confluence-timestamp (timestamp _contents _info) >>"Transcode a TIMESTAMP object from Org to Confluence. >> CONTENTS and INFO are ignored." >> - (let ((translated (org-timestamp-translate timestamp))) >> + (let ((translated (org-trim (org-timestamp-translate timestamp > > I'm not sure what this is supposed to fix. Does > `org-timestamp-translate' return a string with leading or trailing > blanks? Yes, it did return trailing blanks for me. > Anyway, I applied the patch in master branch, with the fix suggested > above. > > Regards, Thanx !
Re: [O] [PATCH] contrib/lisp/ox-confluence.el: Export checkboxes; fix timestamps in headlines
Hello, Marc Ihm writes: > the attached patch changes ox-confluence.el: > > - Export checkboxes in lists to appear in the resulting > confluence-markup (with some minor refactoring of > org-confluence-item). > - Fix spurious closing braces following timestamps in headlines. > > > Please review and let me know, if you have any comments or questions. Thank you. > + (cl-case (org-element-property :checkbox item) > + ('on "*{{(X)}}* ") > + ('off "*{{( )}}* ") > + ('trans "*{{(\\-)}}* ")) This is a common mistake. Symbols in `cl-case' shouldn't be quoted. 'on is really (quote on), so you actually wrote (cl-case (org-element-property :checkbox item) ((quote on) "*{{(X)}}* ") ((quote off) "*{{( )}}* ") ((quote trans) "*{{(\\-)}}* ")) which is not what you want: (cl-case 'quote ('a 1) ('quote 2) (t 3))=> 1 This is why I prefer `pcase' over `cl-case'. > + (when (eq list-type 'descriptive) > + (concat "*" (org-export-data (org-element-property :tag item) info) > "* - ")) > + (org-trim contents > > (defun org-confluence-fixed-width (fixed-width contents info) >(org-confluence--block > @@ -117,7 +120,7 @@ > (string= todo "")) > "" > (format "*{{%s}}* " todo > -;; Else: Standard headline. > + Mind the spurious blank lines. > (format "h%s. %s%s\n%s" level todo-text text > (if (org-string-nw-p contents) contents "" > > @@ -181,7 +184,7 @@ a communication channel." > (defun org-confluence-timestamp (timestamp _contents _info) >"Transcode a TIMESTAMP object from Org to Confluence. > CONTENTS and INFO are ignored." > - (let ((translated (org-timestamp-translate timestamp))) > + (let ((translated (org-trim (org-timestamp-translate timestamp I'm not sure what this is supposed to fix. Does `org-timestamp-translate' return a string with leading or trailing blanks? Anyway, I applied the patch in master branch, with the fix suggested above. Regards, -- Nicolas Goaziou
[O] [PATCH] contrib/lisp/ox-confluence.el: Export checkboxes; fix timestamps in headlines
Hi, the attached patch changes ox-confluence.el: - Export checkboxes in lists to appear in the resulting confluence-markup (with some minor refactoring of org-confluence-item). - Fix spurious closing braces following timestamps in headlines. Please review and let me know, if you have any comments or questions. Thanks, Marc >From 4e638796f39918ade4c8717569315d8b4ca61818 Mon Sep 17 00:00:00 2001 From: "U-IHM-NOTEBOOK\\Olli" Date: Mon, 1 May 2017 16:59:10 +0200 Subject: [PATCH 1/1] Export checkboxes; fix timestamps in headlines --- contrib/lisp/ox-confluence.el | 29 - 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/contrib/lisp/ox-confluence.el b/contrib/lisp/ox-confluence.el index c70fe853b..8ee22f5b7 100644 --- a/contrib/lisp/ox-confluence.el +++ b/contrib/lisp/ox-confluence.el @@ -83,16 +83,19 @@ (format "_%s_" contents)) (defun org-confluence-item (item contents info) - (let* ((plain-list (org-export-get-parent item)) - (type (org-element-property :type plain-list)) - (bullet (if (eq type 'ordered) ?\# ?\-))) -(concat (make-string (1+ (org-confluence--li-depth item)) bullet) -" " -(if (eq type 'descriptive) - (concat "*" - (org-export-data (org-element-property :tag item) info) - "* - ")) -(org-trim contents + (let ((list-type (org-element-property :type (org-export-get-parent item + +(concat + (make-string (1+ (org-confluence--li-depth item)) + (if (eq list-type 'ordered) ?\# ?\-)) + " " + (cl-case (org-element-property :checkbox item) + ('on "*{{(X)}}* ") + ('off "*{{( )}}* ") + ('trans "*{{(\\-)}}* ")) + (when (eq list-type 'descriptive) + (concat "*" (org-export-data (org-element-property :tag item) info) "* - ")) + (org-trim contents (defun org-confluence-fixed-width (fixed-width contents info) (org-confluence--block @@ -117,7 +120,7 @@ (string= todo "")) "" (format "*{{%s}}* " todo -;; Else: Standard headline. + (format "h%s. %s%s\n%s" level todo-text text (if (org-string-nw-p contents) contents "" @@ -181,7 +184,7 @@ a communication channel." (defun org-confluence-timestamp (timestamp _contents _info) "Transcode a TIMESTAMP object from Org to Confluence. CONTENTS and INFO are ignored." - (let ((translated (org-timestamp-translate timestamp))) + (let ((translated (org-trim (org-timestamp-translate timestamp (if (string-prefix-p "[" translated) (concat "(" (substring translated 1 -1) ")") translated))) @@ -208,7 +211,7 @@ CONTENTS and INFO are ignored." (or (eq tag 'item) ; list items interleave with plain-list (eq tag 'plain-list))) (when (eq tag 'item) -(incf depth)) +(cl-incf depth)) (setq item (org-export-get-parent item))) depth)) -- 2.12.2