Jack Kamm <[email protected]> writes:

> * lisp/ox-icalendar.el (org-export-define-derived-backend): Add
> export-block and keyword to `:translate-alist'

FYI, we have recently added git hook for automatic checks of the commit
messages for common pitfalls. See 
https://orgmode.org/worg/org-contribute.html#git-hooks

> @@ -696,7 +700,11 @@ (defun org-icalendar-entry (entry contents info)
>             (org-icalendar-cleanup-string
>              (or (let ((org-property-separators '(("DESCRIPTION" . "\n"))))
>                       (org-entry-get entry "DESCRIPTION" 'selective))
> -                (let ((contents (org-export-data inside info)))
> +                (let ((contents (string-join (org-element-map
> +                                               (org-element-contents inside)
> +                                               'paragraph
> +                                             (lambda (pg) (org-export-data 
> pg info))
> +                                             info))))

Why only paragraphs?
On main, things like
:fixed width
are included into DESCRIPTION

> -               (org-property-inherit-p "TIMEZONE"))))
> +               (org-property-inherit-p "TIMEZONE")))
> +             (literal-ical (string-join (org-element-map
> +                                            (org-element-contents inside)
> +                                            '(export-block keyword)
> +                                          (lambda (pg) (org-export-data pg 
> info))
> +                                          info)
> +                                        "\n")))

This will go into child headings and inlinetasks.
Consider the following example

* This is test
<2026-03-15 Sun>
foo
- item
: fixed
*************** this is test
<2026-03-17 Tue>
#+ICALENDAR: CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234
*************** END
** More test
<2026-03-16 Mon>

> +(defun org-icalendar--keyword (keyword contents info)
> +  "Transcode a KEYWORD element into Beamer code.
> +CONTENTS is nil.  INFO is a plist used as a communication
> +channel."
> +  (let ((key (org-element-property :key keyword))
> +     (value (org-element-property :value keyword)))
> +    ;; Handle specifically BEAMER and TOC (headlines only) keywords.
> +    ;; Otherwise, fallback to `latex' backend.

Be careful with copy-paste :)

-- 
Ihor Radchenko // yantar92,
Org mode maintainer,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to