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>
