Thank you very much for that suggestion.
Unfortunately, that does not seem to work for org-export-taskjuggler.
An exported taskjuggler file has extremely simple syntax. For a report, for example, there is the header, "textreport id name {"
then a series of "attribute_name", "value" pairs such as "formats html". Some attributes take multi-line string values, which are designated
"-8<- \n line1 \n line2 \n ->8-" (but with actual newlines rather than "\n"s).
The taskjuggler export uses a very simple approach: when an org headline is tagged as a report, it cycles through the properties, and for each property, simply emits the property name followed by the property value (org-taskjuggler-valid-report-attributes contains names such as "formats' and "center"):
(org-taskjuggler--indent-string
(org-taskjuggler--build-attributes
report org-taskjuggler-valid-report-attributes))
where
(defun org-taskjuggler--build-attributes (item attributes)
(mapconcat
(lambda (attribute)
(let ((value (org-element-property
(intern (upcase (format ":%s" attribute)))
item)))
(and value (format "%s %s\n" attribute value))))
(remq nil attributes) ""))
For an org source such as
** Reports
:PROPERTIES:
:REPORT_KIND: textreport
:formats: html
:center: -8<-
:center+: [#Plan Plan] | [#Resource_Allocation Resource Allocation]
:center+: ----
:center+: === Plan ===
:center+: <[report id="plan"]>
:center+: ----
:center+: === Resource Allocation ===
:center+: <[report id="resourceGraph"]>
:center+: ->8-
:END:
unfortunately, (org-element-property :center) returns only "-8<-", whereas I want it to return a 9-line string.
-- Greg
--
Greg Sullivan email:
gregs@sulliwood.org cell: 617-417-4746
70 Pigeon Hill Street, Rockport, MA 01966