View as numbered List

Sometimes it is useful to view the outline as an ordered list.

I propose a feature that allows you to ‘View as Numbered list’ when you right-click on a block. When this happens all child blocks are automatically numbered. They are likewise renumbered if blocks are moved up or down.

This feature already exists in Roam so I’m posting screenshots here for clairty.

chrome_GGcDn8EldP

chrome_9ZT0F1aFWB

Thanks!

I agree, this will be awesome! Especially for students or anyone learning different procedures / processes. Any chance ordered lists will be supported once Logseq adopts a more standard flavour of Markdown <ol> and <ul>?

linking a temporary workaround in css while waiting for a real implementation: [css] numbered lists

3 Likes

(would be nice to have a hotkey for this, also)

2 Likes

If this is implemented (I hope so!) it should perhaps also be a general setting, meaning that user can choose to have all blocks on new pages appear in numbered lists instead of bullet lists.

+1, I used this in roam quite a lot + would make logseq play more nicely with Obsidian.

One other thing that annoys me about the current implementation:

  • When starting a block with “1.”, hitting enter doesn’t create a new block but “2.” in the same block.
  • This is the same behaviour whether the cursor is at the beginning of the block or at the end of the block
  • This is very different from regular blocks, which create a new block below (cursor EOL) or a new block before (cursor at beginning of line)
5 Likes

The current numbered list behaviour, as described above, is very frustrating! Would love to see this changed.

3 Likes

I like the proposal of having parent block possible to be marked with ‘viaw as list’,
this spares us the need to worry about duplicating order of items by manually baking in order into each item and keeping it in sync when we move them around.
Also I love how from the UX perspective we have a consistent interface - we work with lists just the same as blocks, all we do is express ‘that block is a list’.

In my experience I rarely use order for blocks, for me it would make much more sense to have it orderless by default and specify explicitly which blocks I mean to use as listst.
That is my use-case, though, perhaps having order turned on by default would be of use for some other styles of reasoning.

Perhaps typing "1. " in the first child of a block can be used as a cue that we’re creating a list, marking parent block with ‘is a list’ and removing "1. " text from the first child?

What I like about it is that it doesn’t require to learn anything to express ‘list’ semantics, it derives these semantics for you, easing your life. I would be pleasantly surprised by that.

I’m not sure whether this behaviour would be desired in all the cases, thought…

3 Likes

+1 for Andrew’s proposed behavior, this would be discoverable and elegant!

1 Like

Want this! :slight_smile:

Sometimes knowing at a glance the number of logical steps in a list is important. Same goes for SRS cards when they are lists, it helps checking you didn’t miss anything.

There is a plugin: GitHub - sethyuan/logseq-plugin-ol: Ordered lists, flat or nested, multiple formats ordered lists.