Hello, Achim Gratz <strom...@nexgo.de> writes:
> I've just looked at how to implement this using org-element and the > new exporter. Much to my dismay I found that table headers are not > a separate row or row group type and the new exporter is still using > this "everything before the first separator is a heading" kludge. I wouldn't call that a kludge. That's where most of the mere mortals expect the heading to be anyway. Also, it's somewhat back-end specific. > It's easy enough to introduce a second type of separator in > org-element (BTW, I don't think that 'rule is a particularly good > symbol name for this) by adding another type of table rows, but then > these lines get ignored by the new exporter. While the logic used > there is amendable (not as easily), it would be more hackish than > I hoped. You only need to modify org-element if Org syntax has been changed. > Also, it appears that each element can have only one property or did > I miss something? It seems that having a way to get the (main) > property and then asking if there are sub-properties on that element > would allow simpler code in this particular instance and likely > elsewhere. Maybe I missed how to do it, though. I don't understand that part. For example: --8<---------------cut here---------------start------------->8--- * TODO Headline :tag: --8<---------------cut here---------------end--------------->8--- In the following buffer, you can have: (org-element-property :priority (org-element-at-point)) (org-element-property :tag (org-element-at-point)) (org-element-property :todo-keyword (org-element-at-point)) (org-element-property :todo-type (org-element-at-point)) (org-element-property :level: (org-element-at-point)) ... So there is more than one property. See: http://orgmode.org/worg/dev/org-export-reference.html for a list of all properties associated to a given element or object type. > The cleanest way to implement this would be if being a header would be a > property of the row group (maybe returnable as the sign of the row group > number). There'd be two types of separators, "|-" and "|~". If the > line past the end of a row group is "|~", then it is a header group, > otherwise it is a normal group. This is incompatible with tradition, > but it would allow to use row groups in formulas without introducing > unwanted headers. > > Thoughts? I think the cleanest way to implement this would be to _not_ modify Org syntax, because it is export back-end very specific. Something like: #+attr_html: :header-groups (1 3) | This | will | | be | a header | |-----------+-----------| | This | won't | |-----------+-----------| | This will | be too | |-----------+-----------| | This | won't too | You are talking about formulas, so, perhaps you have plans for the spreadsheet. Anyway, if Org syntax changes, org-element.el will have to be updated accordingly, and so will have all the back-ends. Regards, -- Nicolas Goaziou