In Gitbook, we can add Tabs to showcase different snippets for different programming languages. Further these Tabs are "in-sync" with other Tabs with the same name. For example, if there is are Tabs for "JS", "Java", "Ruby" that shows snippets for Step 1 of something. And then there are another set of Tabs for Step 2, then if the user selects "Ruby" in Step 1, then the "Ruby" tab is auto-selected in the Tabs in Step 2 as well.
Please see the picture from Gitbook for more.

Helps us showcase multiple code snippets or multiple OS specific instructions.
Not sure, but I think it should be a simple html markup that should transform to a functioning Tabs.
No
That's a good feature! and it would be better to just create a Vue component for that.
Thanks, hope to see this. Vuepress is really awesome!
I am trying to get the proposed functionality to work, but I am unsure on how to approach this:
I built a custom component, but I cannot use slots, because the number of OSes or languages are not known in advance. Passing the the information to the component as props gets unwieldy quickly.
@ulivz Can you describe how such a Vue component could work and how it would be used inside a Markdown file?
I recently published docsify-tabs, which is a docsify.js plugin for rendering tabbed content from markdown. I would be happy to port the plugin (or something similar to it) to VuePress if folks are interested.
I welcome any feedback prior to beginning the effort such as feature requests, implementation concerns, etc.
Thanks!
@jhildenbiddle Wow, that looks great! Very elegant! It'd be fantastic if you could port it to Vuepress!
FYI --
I was about to dive into this today, but a quick search on NPM produced this:
Is this sufficient for your needs, @rajaraodv? I'm happy to port docsify-tabs, but I don't want to add more noise into the VuePress plugin ecosystem if the above package adequately handles markdown -> tabs duties.
Thx!
* Vuewpress Tabs: https://www.npmjs.com/package/vuepress-tabs
This package only works with VuePress v0.14 (as of vuepress-tabs-0.1.6), but the author is currently porting it to VuePress v1.0.0 (see https://github.com/pskordilakis/vuepress-tabs/issues/6)
Is this sufficient for your needs, @rajaraodv?
Should be enough! But if yours is better, will use yours :)
FYI: The author of vuepress-tabs ported the project to VuePress>=1.0 and released it as a separate project: https://github.com/pskordilakis/vuepress-plugin-tabs
FYI: The author of vuepress-tabs ported the project to VuePress>=1.0 and released it as a separate project: https://github.com/pskordilakis/vuepress-plugin-tabs
This works sufficiently for me at VuePress >= 1.0. The setup steps are straightforward, and the API is clean too.
The issue with tabs is that each block is independent and for the best experience one should be able to switch one block (for example, a language) and all blocks switch.
Most helpful comment
I recently published docsify-tabs, which is a docsify.js plugin for rendering tabbed content from markdown. I would be happy to port the plugin (or something similar to it) to VuePress if folks are interested.
I welcome any feedback prior to beginning the effort such as feature requests, implementation concerns, etc.
Thanks!