Help Wanted, Left side bar and other layout changes


Recently I experimented with some left sidebar plugins and Mods because I want to move a set of tabs I have in the right sidebar to the left, ideally with a switchable subsets of tabs, so the left sidebar would be contextual for example project management would show all projects, or when working on a project all items relating to the current project etc…

  • The problem is I now somehow have a left sidebar I can’t edit or remove
  • Nor can I get a working solution

What I/we need;
The Tiddlywiki page layout is not strait forward and not only runs wide and deep across the TiddlyWiki User interface, but key aspects of the layout depend on CSS and HTML. It seems to me customisation of the layout demands some insight to the CSS and the elements assigned various classes.

  • This seems to be one area where TiddlyWiki is not so well “Self Documenting”
  • It seems related to another gap and this is insufficient documentation of tiddlywiki classes and elements within the user interface.

Can you help?
I am about to do my own “research effort” to try and document the general principals and ways top customise the layout and will publish my findings here however if you understand somewhat how it all works and where to look and make choices to add new elements, or customise existing ones to the layout, beyond the existing system tags please speak up.

  • I am not asking for a comprehensive answer (although it would help) but more a set of bullet points around the structure, methods and ways to customise the layout.

Thanks in advance.

1 Like

I am researching this extensively and my current understanding;

  • Various list and reveals iterate various tags to “transclude” different elements for each level
    • Page
    • Story
    • Tiddler
  • Various classes are applied at each level then a simple transclusion done of the next element or set of elements.
    • keep in mind the cascade mechanism is part of this so different elements may be transcluded according to the cascades
  • Then we observe the use of @media statements that uses different css according primarily a sidebar break point.
    • One in particular contains classes relating to the overall layout and basically sets height/width etc… of the elements.
    • others relate to other elements on the page like messages and alerts etc…

Also it is evident that the CSS position property is important.

I seems what we need is;

  • The hierarchical iterations from page down to tiddlers
  • A map of the key classes within that hierarchy
  • The CSS position’s relative to the class use in the heirachy
  • The media statements that alter overall display according to the break point
    • Are there others?

There are different layers in the layout. They are refered on some system tag, which are using to build each layer.

You would need to know in which layer is a element to start making changes.

Agreed, I think I see it the same way as you.
Can you give an example as you see it?

  • I will prepare one also

Eg Sidebar segment

* The tag <<tag $:/tags/PageTemplate>> on $:/core/ui/PageTemplate/sidebar is itterated by $:/core/ui/PageTemplate
* The [[sidebar|$:/core/ui/PageTemplate/sidebar]] includes items with <<tag $:/tags/SideBarSegment>>
** wrapped div class="tc-sidebar-header"

@TW_Tones I don’t know if it exactly what you’re looking for but my LeftBar plugin might be of help, including an analysis of how it creates a space in the page layout.

BTW, I just now updated the LeftBar plugin (very minor updates) and republished it on tiddlyhost instead of tiddlyspot.

1 Like

The basic example is:
The principal levels/layers are the page layout and its parts (sidebar, story,…). This parts are top layer over the page layout. You have to start in the top layers to find where you can make the change, if you don’t find it then you have to move to next bottom level.

Yes - this wikitext and transclusion hierarchy part is very well understood by myself.

Where I can’t secure a full understanding is in the CSS, @media and div/sections that come together to build the full User Interface.

Once I truly deeply understand it, I can help others and document it.