Hello, "Allen S. Rout" <a...@ufl.edu> writes:
> I'm trying to accomplish a custom export task which I'd hoped to be > pretty simple: something like: > > > In each status section, only export the first child headline. > > > After several dumb ideas, I decided that doing it with a filter was > probably the Right Place. I built a filter intended to be used on > > :filter-parse-tree > > and attempted to express: > > If you're parent is a headline > and your parent's title is 'Status' > and you're not the first of your siblings > > then don't be included. I've added my malfunctioning filter below,to > clearly display my "thinking". Untested: (defun ox-asr-only-first-status (tree backend info) (org-element-map tree 'headline (lambda (h) (let ((parent (org-export-get-parent-headline h))) (when (and parent (string= (org-element-property :raw-value parent) "Status") (not (org-export-first-sibling-p h info))) (org-element-extract-element h))))) tree) > I don't seem to be able to get the title as a string. Use `:raw-value' property. > org-export-data seems to expect a different 'info' than the 'info' > present at filter time. I get complaints about > > org-export-data: Wrong type argument: hash-table-p, nil > > if I uncomment the attempt to string compare the title. Indeed. One cannot use `org-export-data' during parse tree filtering. Export output really depends on the tree and the options, which are being re-arranged. Regards, -- Nicolas Goaziou