emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Marc Ihm <marc@ihm.name>
To: emacs-orgmode@gnu.org
Subject: [PATCH] contrib/lisp/ox-confluence.el: Export checkboxes; fix timestamps in headlines
Date: Mon, 01 May 2017 17:29:47 +0200	[thread overview]
Message-ID: <86r3087fys.fsf@ihm.name> (raw)

[-- Attachment #1: Type: text/plain, Size: 336 bytes --]


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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Export checkboxes; fix timestamps in headlines --]
[-- Type: text/x-patch, Size: 2641 bytes --]

From 4e638796f39918ade4c8717569315d8b4ca61818 Mon Sep 17 00:00:00 2001
From: "U-IHM-NOTEBOOK\\Olli" <marc@ihm.name>
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


             reply	other threads:[~2017-05-01 15:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-01 15:29 Marc Ihm [this message]
2017-05-02  6:54 ` [PATCH] contrib/lisp/ox-confluence.el: Export checkboxes; fix timestamps in headlines Nicolas Goaziou
2017-05-03  4:14   ` Marc Ihm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86r3087fys.fsf@ihm.name \
    --to=marc@ihm.name \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).