5

It seems that all items in plain text unordered list have to contain descriptions, otherwise the HTML export is incorrect.

Example:

- item1 :: item1 description bla bla bla
- item2
- item3

then I export it to HTML, the result is

item1
  item1 description bla bla bla
(no terms)
  item2
(no terms)
  item3

I see that item2 and item3 are exported incorrectly as if the original test was no terms :: item2?

  • Are you intentionally trying to mix unordered list and description list at the same indentation level? Have a look at the example here for different list types: orgmode.org/manual/Plain-lists.html. You used the - term :: definition format for the first item in the list. So org-mode is expecting the same for the rest too. – Kaushal Modi Oct 9 '15 at 10:36
  • you are right, I would like to have the mix. It is very natural for me that unordered list items will or will not have description. So if there is no ::, then it is by default a term, if there is :: then it is term::description. – Xi Xiao Oct 9 '15 at 11:01
  • So in effect you want the whole list to be a description list, but you want a default term for the items where you don't have term ::? What is that default term? Out of curiosity why do you need such a list with default term fields? – Kaushal Modi Oct 9 '15 at 11:11
  • I think I have knowledge gap here. But no, I don't want a default term. I want my text to be interpreted as the term when there is no :: and description after the text. However in the HTML export, if :: and description are not given, the text is interpreted as description of no terms – Xi Xiao Oct 9 '15 at 11:34
  • I have edited your question title for clarity. Feel free to revert it if that is not right. I don't think you can have a mixed list like that. If you want, you can have a "description-like" item by simply emboldening the term portion: - *term* description. – Kaushal Modi Oct 9 '15 at 11:39
6

This is the expected behavior.

A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank lines. In that case, all items are closed.1

When switching between the different kinds of plain lists, i.e. unordered, ordered and description, org-mode will need the end of each list to be clearly defined.

In your example

    - item1 :: item1 description bla bla bla
    - item2
    - item3

the list begins as a description list and immediately transitions into an unordered list.


To switch between types provide a clear ending to each type of list:

Option 1 - Indent description list under an empty unordered list.

    -
      - item1 :: item1 description bla bla bla
    - item2
    - item3

exports to html as

<ul class="org-ul">
        <li><dl class="org-dl">
                <dt> item1 </dt><dd>item1 description bla bla bla
                </dd>
            </dl>
        </li>
        <li>item2
        </li>
        <li>item3
        </li>
</ul>

And will render like this

  • item1
    item1 description bla bla bla
  • item2
  • item3

I recommend this option 1


Option 2 - Create 2 lists by adding 2 blank lines after description list.

 - item1 :: item1 description bla bla bla


 - item2
 - item3

will export to html as

<dl class="org-dl">
        <dt> item1 </dt><dd>item1 description bla bla bla
                        </dd>
</dl>


<ul class="org-ul">
        <li>item2
        </li>
        <li>item3
        </li>
</ul>

And will render like this

item1
item1 description bla bla bla

  • item2
  • item3

This answer was tested using

GNU Emacs 24.4.1 (x86_64-unknown-cygwin)
of 2014-11-14

org-version: 8.2.10

2

If I understand your question, this should work:

- item1 :: item1 description bla bla bla
- item2 ::
- item3 ::

This produces:

item1
        item1 description bla bla bla
item2
item3

  • indeed this should work, but add empty :: for those items without description is somehow futile work. Assume I have list with 10 items and only first has description, then I need to add :: for remainder 9 items..I expect org-mode to be smarter – Xi Xiao Oct 9 '15 at 17:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.