This is perhaps my biggest painpoint with Logseq as of now.
I’ll start by explaining what I mean by “flexibility in page layout”. So a logseq page can have these components (as shown in the following screenshot):
These components follow a fixed order in the layout:
Top
Title
Page properties
Linked references
Hierarchy
Unlinked references
Bottom
Some components may not be present, but the rest still follow this order.
Sometimes, I really hope I can:
Put Linked references on top of the page.
Because I left some TODOs in daily journals, expicitly tagged with this page’s title.
Put Hierarchy on top of the page
I use hierarchy to organize big topics like “C++”, and hierarchy serves as an “index” for this topic. Just like you would expect the table of content to be in the very first few pages of a book.
Overall, these needs all come down to flexibility in page layout, i.e. to allow users put different components in the order they like.
There will probably be some restrictions, like title and page properties need to be on top, which is fine. But I feel people would have different preferences for how to organize the rest of the components, and there really isn’t a unified answer. If we were to add this feature, users should be allowed to configure the layout on a per page basis.
I remember this topic (specifically, put linked references on top) have been brought up several times on Discord. But I searched Discuss/GitHub, and didn’t find any feature request for it. I would really hope this could be added to Logseq one day, which shall hugely improve usability and empower more ways of using the software.
It would also be nice to have references, page properties etc in a second column if there is enough horizontal space (think about Wikipedia right sidebar that appears at top on mobile).
You can put generated hierarchy to any place on the page by just typing {{namespace C++}} to a block. C++ is just an example - a root page name from first post. You may want to use your name instead.
I agreen being able to customize the layout would be great. E.g., for the main note pane, the order of the sections: page contents, hierarchy (if any), linked references, unlinked references.
Any suggestions on workarounds/hacks to achieve this would be welcome.
I would suggest that the main content view instead is rendered from a template that the user can define. The default template would read e g
{{page-bullets}} // main contents
{{linked-references}}
{{unlinked-references}}
{{namespace list}}
This opens a lot of possibilities, including using a query to change the layout or include/exclude parts dynamically, depending on some page conditions. (Yes, that could be problematic performance-wise - up to the user to use it in a way that doesn’t badly affect performance.)
Preferrably, the left side pane and right pane page rendering could use their own templates.