You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your request related to a problem? #889 - larger bundle size increases loading times, which can cause FOUC more frequently
Somewhat related: #36 - would be a good time to tackle this, while still supporting deprecated attributes ( a quick script can also be written to convert old markbind documents to standardise all attributes )
Currently, the the client is responsible for rendering markdown provided as attributes in vue components ( e.g. modals, panels, popovers, tabs ).
Problems:
This may be bloating the resulting bundle size ( yet to test impact ), exacerbating FOUC
Impact on loading times due to more client side rendering, especially on large documents
( opinion ) Cohesion & consistency
3.1 Attribute rendering should be done only when building or purely in the client, not both. Currently, it is also done when building for panel headers for heading indexing. ( boxes if implemented similarly too - x of the dismissible boxes it not at the top-right corner #962 ) This can also make the code more difficult to understand for newer developers.
3.2 Markdown headers inserted using vue's slots are parsed in /markbind, but those inserted with attributes are not.
Describe the solution you'd like
Move all markdown parsing in /vue-strap to /markbind, aiming to remove markdown-it as a dependency from /vue-strap altogether.
Cons if moved:
More per-component logic in parser.js ( though, it already has quite a bit )
Slightly harder to add new components with attributes requiring markdown parsing
Slight increase in build times ( though, it would likely be offsetted by the decrease in loading time due to lack of client-side rendering when using markbind serve )
Is your request related to a problem?
#889 - larger bundle size increases loading times, which can cause FOUC more frequently
Somewhat related:
#36 - would be a good time to tackle this, while still supporting deprecated attributes ( a quick script can also be written to convert old markbind documents to standardise all attributes )
Currently, the the client is responsible for rendering markdown provided as attributes in vue components ( e.g. modals, panels, popovers, tabs ).
Problems:
3.1 Attribute rendering should be done only when building or purely in the client, not both. Currently, it is also done when building for panel headers for heading indexing. ( boxes if implemented similarly too - x of the dismissible boxes it not at the top-right corner #962 ) This can also make the code more difficult to understand for newer developers.
3.2 Markdown headers inserted using vue's
slotsare parsed in /markbind, but those inserted with attributes are not.Other positive side effects:
markdown-it.Describe the solution you'd like
Move all markdown parsing in /vue-strap to /markbind, aiming to remove
markdown-itas a dependency from /vue-strap altogether.Cons if moved:
parser.js( though, it already has quite a bit )markbind serve)