This is a very cool feature that I think will help a lot when creating multi page designs. The idea is to have components on your page like headers, footers and other common areas which are synchronized and updated across pages in the same design. Here is how it is going to work:
You Copy an element (for example, your header)
You go to a different page (or you can stay on the same one)
Choose the Paste Linked option from the context menu. We could add a keyboard shortcut for this (Ctrl/Cmd+Shift+V maybe?)
The original component and the new copy will now be linked. When you change the text of one, change an option or add/remove a child element, this will automatically be synced to all other components regardless of where they are located.
I think this will make designing multiple pages much more pleasant. Still some questions remain, like for example how we will show which component is linked to which.
Very enthusiastic about the âLinked Componentsâ idea as that would allow building sites in the manner theyâll eventually end up (as a hierarchy of templates).
An extension to this idea would be to incorporate basic template engine functionality, with selectable syntax types for the output (Django, Jinja2, Template Toolkit, etc.). At a minimum, inheritance, but could go even further and add looping and rendering provided data. Sample data could be provided by the developers in JSON format and rendered using loops and inclusions. This would mean the output could be very close to what lands in an eventual application.
@alexhawdon Happy to hear you like the idea! I think that adding support for template engines would be quite hard and would complicate the program. Maybe it would be best to use the Custom Code components in these cases.
This is very useful. However, with menu items manually applying Activate/Deactivate applies to all linked components. Which means the About page (for example) would show as Active across all pages. I assume the fix would be to have JavaScript that would detect the current page and activate the menu item. Can Bootstrap Studio help in this regard, perhaps with a JavaSript snip or otherwise?