"Rohit Patnaik" <quanti...@quanticle.net> writes: > #+BEGIN_SRC elisp > (concat bullet > ... > (and contents > (org-trim (replace-regexp-in-string "^" " " contents)))) > #+END_SRC > > and I'm wondering why it's adding indentation in front of the bullet. > Naively, I > would expect the result of this snippet, for an unordered list to be something > like: > > =- [item contents]= > > That is, it concatenate the bullet, then three spaces (4 - length of bullet), > then another four spaces, then the contents of the item. Instead, what I see > is > a four-space indent, followed by the bullet and its padding, followed by the > item contents: > > = - [item contents]= > > This is the correct result, but I don't see how the code from ox-md.el > produces > that result.
The code makes use of the CONTENTS. If you have nested lists - item - sub-item - sub-sub-item "sub-sub-item" transcoder will receive CONTENTS="sub-sub-item" and return - sub-sub-item then, "sub-item" transcoder will receive CONTENTS="sub-item" + output of nested transcoder - CONTENTS= sub-item - sub-sub-item and add 4 spaces to each line, except first: - sub-item - sub-sub-item then, item transcoder will receive the result of the two nested transcoders: CONTENTS= item - sub-item - sub-sub-item yielding - item - sub-item - sub-sub-item Hope, it clarifies things. -- Ihor Radchenko // yantar92, Org mode contributor, 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>