obsidian-showcase-vault
Obsidian showcase vault with self-developed plugins, configs, scripts, and templates.
Obsidian Showcase Vault
This is an Obsidian showcase vault demonstrating the use of three self-developed plugins, along with their configurations, scripts, and templates.
Installed Plugins
This vault includes the following community plugins, all developed by @Kevin:
| Plugin | Description |
|---|---|
| Buttons Panel | Create customizable button panels for quick access to files, commands, links, and scripts |
| Music Player | Play local music files from the vault in the sidebar |
| Code Viewer | View and edit code files with native syntax highlighting |
| Fast Copier | Add a copy button next to formatted text (inline code, bold, headings, links, tags, etc.) for instant copying |
1. Buttons Panel
Buttons Panel is the core demo plugin of this vault. Through custom scripts, it enables search, keychain management, weather queries, view switching, and more.
Directory Structure
assets/community-plugins/buttons-panel/
├── scripts/ # Executable scripts (14 total)
├── skills/ # AI script writing guide
└── templates/ # Note templates
Script List
🔍 Search & Navigation
| Script | Description |
|---|---|
bp_file-search.js | File Search — Opens a fuzzy search modal to quickly find files by name and open them in a new tab. Displays file-type icons (📝 Markdown, 🎨 Canvas, 🖼️ images, etc.). |
bp_folder-search.js | Folder Search — Opens a fuzzy search modal to quickly locate folders and auto-focus them in the file explorer, with auto-collapse support. |
📊 Vault Management
| Script | Description |
|---|---|
bp_folder-tree.js | Vault Folder Tree — Generates a tree view of all vault folders with one click, output to Vault Folder Structure.md for easy visualization. |
🔑 Keychain Management
| Script | Description |
|---|---|
bp_keychain-list.js | Keychain List — Lists all saved secret keys and their count in the current vault (via Obsidian secretStorage API). |
bp_keychain-manage.js | Keychain Manage — Opens a GUI panel for full CRUD operations on secrets: view, add, edit, delete, copy, and batch export. Supports sorting by name/time with masked value previews. |
bp_keychain-sync.js | Keychain Sync — Syncs secrets across multiple vaults. The master vault exports all secrets to a JSON file; other vaults import (backup + merge new/updated, no deletion). |
🌤️ Utilities
| Script | Description |
|---|---|
bp_qweather-jwt.js | QWeather Query — Queries real-time weather from QWeather API using JWT + Ed25519 authentication. Displays temperature, feels-like, conditions, wind, and humidity with emoji icons. Requires pre-configured API credentials stored in the keychain. ⚠️ Note: The pre-configured API key in this vault is the author's personal key. Please register at QWeather Developer Platform to generate your own. See help/api-reference.md for detailed setup instructions. |
🎨 View & Theme
| Script | Description |
|---|---|
bp_switch-light-and-dark.js | Toggle Light/Dark Theme — One-click toggle between Obsidian light and dark themes. |
bp_switch-to-source-mode.js | Switch to Source Mode — Switch the current file to Markdown source editing mode. |
bp_switch-to-live-preview.js | Switch to Live Preview — Switch the current file to live preview mode (WYSIWYG). |
bp_switch-to-reading-mode.js | Switch to Reading Mode — Switch the current file to pure reading mode. |
bp_switch-view-mode.js | Cycle View Mode — Cycle between Reading → Source → Live Preview, with mode notifications. |
⚙️ Config Sync
| Script | Description |
|---|---|
bp_hotkeys-sync.js | Hotkeys Sync — Copy hotkeys.json from a source vault to multiple target vaults, unifying hotkey configurations across vaults. |
AI Script Writing Guide
skills/SKILL.md is a specification for AI coding assistants on how to write scripts for the Buttons Panel plugin. It defines the export format, context API, helper function conventions, and more.
Key conventions:
- Export via
module.exports = { entry, name, description, tags } - Access context via
this.$context(app,obsidian,notice,requestUrl, etc.) - Entry function must be a regular
function(not arrow), to ensure correctthisbinding
Note Templates
The templates/ directory provides two note templates:
| Template | Purpose |
|---|---|
Journal.md | Daily journal template |
meeting.md | Meeting notes template |
2. Music Player
Music Player plays local music files from the vault in the Obsidian sidebar. This vault demonstrates how to use the plugin to manage a music library.
Directory Structure
assets/attachments/music/ # Music file storage
Sample Library
The vault comes with 4 sample tracks (5 audio files), showcasing the plugin's music management capabilities:
| Song | Artist | Album | Format |
|---|---|---|---|
| 不能说的秘密 (Secret) | Jay Chou | Secret OST | FLAC |
| 菊花台 (Chrysanthemum Terrace) | Jay Chou | Still Fantasy | FLAC |
| 我的梦 (My Dream) | Jane Zhang | 我的梦 | MP3 |
| Dream It Possible | Jane Zhang | Dream It Possible | MP3 |
Features
- Music Library Management: Auto-scans audio files in the vault, supports FLAC, MP3, and more
- Metadata Parsing: Auto-extracts title, artist, album, year, genre, etc.
- Lyrics Support: Built-in LRC lyrics display (all sample tracks include full embedded lyrics)
- Favorites: Mark frequently played tracks as favorites (My Dream and Chrysanthemum Terrace are favorited in the demo)
- Playback Controls: Volume adjustment (default 30%), playback speed, auto-play, and more
- Browse by Artist/Album: Tracks are automatically categorized by artist and album
Configuration
Plugin config at .obsidian/plugins/music-player/data.json. Key settings:
| Setting | Value | Description |
|---|---|---|
musicFolder | "" | Music folder path (empty = scan entire vault) |
volume | 0.3 | Default volume (0–1) |
playbackRate | 1 | Playback speed multiplier |
autoPlayOnOpen | false | Auto-play on startup |
3. Code Viewer
Code Viewer allows viewing and editing code files directly in Obsidian with native syntax highlighting.
Features
- Multi-language Support: 40+ programming languages and config file formats
- Line Numbers: Enabled by default for easy code navigation
- Edit Mode: Edit code files directly in Obsidian, opened in the current tab
Supported File Types
The following file extensions have syntax highlighting enabled:
| Category | Extensions |
|---|---|
| Python | .py |
| JavaScript / TypeScript | .js, .jsx, .mjs, .cjs, .ts, .tsx |
| Web | .html, .css, .scss, .less, .vue, .svelte |
| Shell Scripts | .sh, .bash, .zsh, .fish, .bat, .cmd, .ps1, .psm1 |
| Backend Languages | .go, .rs, .rb, .php, .pl, .kt, .swift, .dart |
| C Family | .c, .cpp, .cc, .h, .hpp, .cs |
| Config Files | .json, .json5, .jsonc, .yml, .yaml, .toml, .ini, .conf, .env, .xml |
| Data / Query | .sql, .graphql, .gql |
| IaC | .tf, .tfvars, .hcl, .proto |
| Other | .lua, .gd, .gdshader, .r |
Configuration
Plugin config at .obsidian/plugins/code-viewer/data.json. Key settings:
| Setting | Value | Description |
|---|---|---|
showLineNumbers | true | Show line numbers |
enableEdit | true | Allow editing code files |
editOpenMode | "current" | Open in current tab when editing |
4. Fast Copier
Fast Copier adds a copy button next to formatted text — inline code, bold, italic, highlights, headings, tags, links, and more — in both Editing and Reading modes. Click the button to copy the content instantly, with no external dependencies.
Features
- Copy Buttons on Formatted Text: Works with inline code, bold, italic, underline, strikethrough, highlights, headings, tags, internal links, and external links
- Dual-Mode Support: Functions in both Editing (source) and Reading (live preview/preview) modes, with a unified toggle list
- Unified Content-Type Settings: Enable/disable each content type via a checkbox list — no need to edit regex or CSS selectors
- Command Toggle: Use the "Toggle show/hide copy button" command to show or hide all copy buttons at once
- Custom Icon: Choose the icon used for the copy button
- Copy Notification: Optionally show a notice after copying
- Zero Dependencies: Uses only the Obsidian API at runtime
- Multi-language UI: Supports English, 中文, and Русский
Configuration
Plugin config at .obsidian/plugins/fast-copier/data.json. Key settings:
| Setting | Default | Description |
|---|---|---|
| Content types | All enabled | Checkbox list controlling which types show a copy button |
| Copy button icon | copy | Icon used for the copy button |
| Show copy notice | true | Whether to show a notice after copying |
Note: Button visibility is controlled by a command, not a setting.
Vault Directory Overview
.
├── .obsidian/ # Obsidian config directory
│ └── plugins/ # Installed plugins
│ ├── buttons-panel/ # Buttons Panel plugin
│ ├── music-player/ # Music Player plugin
│ ├── code-viewer/ # Code Viewer plugin
│ └── fast-copier/ # Fast Copier plugin
├── assets/
│ ├── attachments/
│ │ └── music/ # Music files (5 sample tracks)
│ └── community-plugins/
│ └── buttons-panel/
│ ├── scripts/ # Buttons Panel scripts (14)
│ ├── skills/ # AI script writing guide
│ └── templates/ # Note templates
├── help/
│ ├── api-reference.md # External API reference (English)
│ ├── api-reference-zh.md # External API reference (Chinese)
│ └── api-reference-ru.md # External API reference (Russian)
├── README.md # English (this file)
├── README.ru.md # Russian
├── README.zh.md # Chinese
Requirements
- Obsidian >= 1.13.4
- All plugins must be enabled in Community Plugins
Getting Started
- Clone this vault and open it with Obsidian
- Enable Buttons Panel, Music Player, Code Viewer, and Fast Copier in Community Plugins settings
- Buttons Panel: Configure the script folder path to
assets/community-plugins/buttons-panel/scriptsin plugin settings, then add script buttons in the panel - Music Player: Place music files anywhere in the vault (or in
assets/attachments/music/); the plugin auto-scans and shows the player in the sidebar - Code Viewer: Click any code file (e.g.,
.js,.py) in the vault to view and edit with syntax highlighting - Fast Copier: A copy button appears next to supported formatted text (inline code, bold,
# Headings,#tags,[[links]], etc.); click it to copy. Use the "Toggle show/hide copy button" command to show/hide all buttons, and customize content types in Settings → Fast Copier
License
This project is for learning and reference. Feel free to modify and use.
How to Install
- Download the ZIP or clone the repository
- Open the folder as a vault in Obsidian (File → Open Vault)
- Obsidian will prompt you to install required plugins
Stats
Stars
0
Forks
0
Last updated 20d ago
Categories