Outlines Collapsed by Default

Hey everyone,

It’d be awesome to have outlines collapsed by default.


Daily notes need to be collapsed every time

In my case I keep I find this specially useful on my daily notes. I keep a lot of structured outlines and I find my self using double tab constantly to close it all.

For instance on returning to an specif page / daily note
this is that view that I’d like to see by default

Collapsed by default (ideal)

Screen Shot 2021-02-05 at 18.12.38

Expanded by default (current)

Screen Shot 2021-02-05 at 18.12.01

Double tab

pressing tab twice collapses the level 1 outline, but it doesn’t seem to collapse the levels under it

What I mean is that after using double tab and choosing to expand a level 1 outline everything unfolds under it.

Sub-levels also collapsed (ideal)

That way after uncollapsing level 1 things would look like this, instead of every sub-level uncollapsed

Screen Shot 2021-02-05 at 18.19.30

Suggestions to adding this feature

One of my favorite things of Logseq is how it uses so many awesome aspects of org-mode.

Collapsed by default but with individual pages expections if needed

What’d be amazing is to be able to choose a default visability, in my case I’d like to have everything collapsed by default.

but there are also ways in org-mode to determine a certain behaviour for specific pages as seen in this following link…

Org Mode Initial Visibility Documentation


Thanks for the excellent tool, truly loving it and this feature would truly enhance my use of logseq and the use of many others!

After seraching further in the Discord chat I found @tienson mentioning something about it here

I’d love to hear the challenges of this feature and the time frame to achieve it, since I’m sure there are backend things that I’m not considering

I was just thinking about making the same feature request!
Having the option to collapse outlines by default would be very useful for large outlines. At the moment I either have to scroll down a lot or collapse the outline manually to get an overview

2 Likes

good to know this is in demand! From what I saw mentioned in discord this seems tricky to achieve correctly, so hopefully we’ll be able to do this soon!

Click on triangle = collapse/expand block at only one level
Shift+Click on triangle = collapse/expand block recursively

With that, for a fully expanded page, one could for example do:

  1. shift + click a top-level bullet (to collapse recursively)
  2. click the same top level bullet (to re-expand only the top level bullet)

Should be easy/straightforward to implement, and covers all use cases I can think of.

5 Likes

Definitely on board with this!!

On an unrealated note:

Still getting used to Dragon. So while I was dictating this response. I kept getting "post cannot be empty"or something like that. I have to go in and press something on the keyboard just for the website to know I did write something!

1 Like

I’d like to do everything without my mouse.

Currently non-insert mode is useless.

I vision something like http://littleoutliner.com/

There you can navigate between nodes, collapse-expand, hoist node and of course some keys to refactor selected node (move up/down, promote/demote).

2 Likes

I get you, I hopee the refactoring will give us new opportunities to expand this type of functionality.

littleoutliner seems really interesting, thanks for sharing it!

I think there’s a use-case for a property that controls collapsed state (per block or even the entire page).

For example for templates - I would want to be able to just control it from the template, so for a specific types of content, the template will always bring in content that is collapsed by default when the note is opened

2 Likes

definitely templates is an interesting example. I think there’s tons of uses for this.

I’m sure the devs are working hard at this. It must be hard to replicate the power of org-mode while still keeping it markdown compatible

I saw collapsed: true in the properties drawer, in the org file (on file system) maybe you can use that?

2 Likes

Is there a way to disable the creation of the collapsed property in org-mode? I find this very annoying since it clutters up my files and I’d much rather have a default behaviour, e.g. everything collapsed as in the #+startup option used in org-mode.

any updates on this?

I’ve got the same question(s), as I’m really missing these functions when writing long documents:

  • How to open a note with blocks collapsed by default?
  • How to cycle through open and collapsed states like in org-mode: quite important

I’d like to be able to do all of this with keyboard shortcuts, without a mouse.

There is a shortcut :editor/toggle-open-blocks (mapped to t o), which can be used to collapse all the blocks in a document. It also sets the collapsed property to true for all the blocks, which makes them collapsed by default even when you open the document again.

:editor/collapse-block-children (mapped to ctrl + up) can be used to collapse a block’s children.

:editor/expand-block-children (mapped to ctrl + down) can be used to expand a block’s children. This also seems to maintain the collapsed state in sublevels or children, as mentioned in this topic. These collapsed sublevels can be expanded further by repeatedly pressing on ctrl + down.

1 Like

Thanks. Glad these shortcuts are there.

But having tried them, they don’t toggle as simply as the equivalent in org-mode.

In logseq, ctrl + up and ctrl + down expand or collapse only the block the cursor is on; to fully expand a block, you must move the cursor to each child block – and if the child block has children, you have to move the cursor to each of them too. That’s a lot of cursoring.

In org mode, with the cursor on a bullet, you can expand its first level of children with a single tab, and then fully expand all of it with another tab (same key, no cursor movement). You can also use the same key to expand a bullet, take a peek, and then re-collapse it:

tab take a peek tab

It would be nice to have similar in logseq. In fact, if an emacs keybinding option gets implemented, this would be the best use of tab.

You don’t have to move to the respective child blocks to expand them. You can expand the child blocks by repeatedly pressing ctrl + down on the parent block itself, similar to org-mode.

Yes, thanks, I guess repeated ctrl + down does expand the whole thing – if the blocks don’t contain images.

If there are images, ctrl + down still expands the text, but leaves the images collapsed. That was confusing me. Would you consider this a bug, or by design?

No idea. I have just updated to Logseq 0.6.9, and it seems like ctrl + up and ctrl + down don’t collapse and expand sub-levels. Are you facing the same?

I believe that ctrl + up and ctrl + down were working for me on 0.6.9. I’ve now switched to the 0.7.0 beta, and here, I’m not seeing a problem.