Previously, in Obs143|Using Tabbed Interfaces: The HTML Tabs Plugin; Enhancing Presentation Convenience in Obsidian, I demonstrated how to use the HTML Tabs plugin to create tabbed sections within notes. Today, we'll look at the more feature-rich obsidian-tabs plugin and the comparatively simpler Tab-Panels.

1. Tabs

  • Use a code block with the language set to tabs, i.e., ```tabs.
  • The first line can specify display styles:
    • Tab position: top, bottom, left, right
    • Tab row count: one, multi
  • Double-click the tab content to open an edit window.
  • Includes a "Convert selected text to tabs" command.
top, multi tab: 🔢 LaTex Math Expressions Formula example $$ \begin{cases} a_1x+b_1y+c_1z=d_1\\ a_2x+b_2y+c_2z=d_2\\ a_3x+b_3y+c_3z=d_3\\ \end{cases} $$ tab: 🖼️ Image<br>Second line description Embed image ![gh|700](https://raw.githubusercontent.com/emisjerry/upgit/master/2024/1729215597000xfh5k3.png) tab: HTML ```HTML <html> <head> <script src="test.js"></script> <link rel="stylesheet" href="mystyle.css"> </head> <body> <div class="note"> My Note </div> </body> <script> test(); </script> </html> ``` tab: CSS ```css body { color: red; background-color: lightYellow; } ``` tab: Tab 5 Tab 5 content tab: Tab 6 Tab 6 content tab: Tab 7 Tab 7 content tab: Tab 8 Tab 8 content tab: Tab 9 Tab 9 content tab: Tab 10 Tab 10 content tab: Tab 11 Tab 11 content tab: Tab 12 Tab 12 content

An image to describe post


1.1. Differences from HTML Tabs

  • ---tab JavaScript is changed to tab: JavaScript.
  • Tabs: The initial ~~~tabs can still be used, or it can be changed to ```tabs`.
tab: 🛜HTML ```html file:test.html ln:true <html> <head> <script src="test.js"></script> <link rel="stylesheet" href="mystyle.css"> </head> <body> <div class="note"> My Note </div> </body> <script> test(); </script> </html> ``` tab: 🖼️CSS ```css file:mystyle.css ln:true body { color: red; background-color: lightYellow; } ``` tab: 🧑‍💻JavaScript ```js file:test.js ln:true <script> function test() { alert("Hello!"); } </script> ```
Codeblock Customizer Integration

Remember to add tabs to the BasicExclude languages list.

2. Tab Panels

  • Use a code block with the language set to tab-panels, i.e., ```tab-panels.
  • Each tab format: --- Tab Title
  • Tab titles cannot contain HTML tags.
--- First Tab Formula example $$ \begin{cases} a_1x+b_1y+c_1z=d_1\\ a_2x+b_2y+c_2z=d_2\\ a_3x+b_3y+c_3z=d_3\\ \end{cases} $$ --- 🖼️ Image<br>Second line description Embed image ![gh|700](https://raw.githubusercontent.com/emisjerry/upgit/master/2024/1729215597000xfh5k3.png) --- HTML ```html <html> <head> <script src="test.js"></script> <link rel="stylesheet" href="mystyle.css"> </head> <body> <div class="note"> My Note </div> </body> <script> test(); </script> </html> ``` --- CSS ```css body { color: red; background-color: lightYellow; } ``` --- Tab 5 Tab 5 content --- Tab 6 Tab 6 content --- Tab 7 Tab 7 content --- Tab 8 Tab 8 content

An image to describe post

Codeblock Customizer Integration

Remember to add tab-panels to the BasicExclude languages list.

💡 Explanatory article: https://jdev.tw/blog/8592/
✅ obsidian-tab-panels: https://github.com/GnoxNahte/obsidian-tab-panels
✅ obsidian-tabs: https://github.com/xhuajin/obsidian-tabs
✅ obsidian-html-tabs: https://github.com/ptournet/obsidian-html-tabs

4. Tutorial Video

##