Thanks for the help. I now updated the function `org-mw-item` to: (defun org-mw-item (item contents info) "Transcode ITEM element into Mediawiki format. CONTENTS is the item contents. INFO is a plist used as a communication channel." (let* ((type (org-element-property :type (org-export-get-parent item))) (bullet (if (eq type 'ordered) ?# ?*)) (the-item (org-trim contents)) (level (- (/ (length (org-element-map (org-element-lineage item) 'plain-list #'identity info)) 2) 3))) (progn (org-element-put-property item :post-blank 0) (format "%s %s" (make-string level bullet) the-item))))
With this change the following org input: ``` * A section Here is a list of things - An item - Another item - A subitem - Another subitem - Back to first ``` Is output as: ``` = A section = Here is a list of things * An item * Another item ** A subitem ** Another subitem * Back to first ``` This is close to the required result though there is still a redundant empty line before "A subitem". How can I get rid of it? I also have no idea why I had to do the expression $level/2-3$ to get the correct number of asterisks. Another complication that I am currently ignoring is how to nest <UL> and <OL> lists. But that's ok for now. Thanks again! On Tue, Jun 1, 2021 at 12:08 PM Nicolas Goaziou <m...@nicolasgoaziou.fr> wrote: > > Hello, > > Dov Grobgeld <dov.grobg...@gmail.com> writes: > > > I tried to modify ox-mediawiki.el to solve the following two issues: > > > > - Get rid of redundant newlines between exported list items > > - Replicate the leading asterisk to reflect the indentation level of the > > list. > > > > To get of the newline I tried to rewrite the org-export "item" translation > > function `org-mw-item` but I would either get no newlines at all between my > > items, or an extra newline between two subsequent items. > > > > I just noted that ox-mediawiki is derived from the html backend, so perhaps > > the limitations are there. > > > > I would appreciate any guidance of how to fix this. > > It's difficult to answer since I know neither what you tried nor what is > correct syntax, but I think asterisks could be obtained with > > (let ((level > ;; Level can be seen as the number of parent plain lists. > (length (org-element-map (org-element-lineage item) 'plain-list > #'identity info)))) > (make-string level ?*)) > > To remove any newline, you may try > > (org-element-put-property item :post-blank 0) > > prior to returning. > > Regards, > -- > Nicolas Goaziou