Dastanboard
unlistedby Dastan Medetbekov
A powerful statistics dashboard for your Obsidian vault. GitHub-style activity heatmaps, link analysis, connectivity scores, tag clouds, writing analytics, and more!
π Dastanboard
π A powerful statistics dashboard for your Obsidian vault
GitHub-style activity heatmaps β’ Link analysis β’ Tag clouds β’ Writing analytics
β¨ Features
π General Statistics
- Total notes, files, and folders
- Word counts β total, average, and median per note
- Longest and shortest notes with quick navigation
- Character and paragraph counts
π Link Analysis
- Internal/external links count and density
- Connectivity Score β measure how well your vault is connected (0-100%)
- Orphan Notes β find isolated notes with no connections
- Hub Notes β discover your most connected notes
π Activity Heatmap
- GitHub-style contribution graph
- Track your note-taking activity over time
- Current streak & longest streak tracking
- Customizable time range (3-24 months)
- Two styles: GitHub green or warm gradient
π·οΈ Tag Statistics
- Tag Cloud visualization
- Top tags with bar chart
- Count of untagged notes
- Click tags to search
β±οΈ Time Analytics
- Notes created this week/month/year
- Most active day of the week
- Creation trends over time
π File & Folder Distribution
- Pie chart of file types (Markdown, images, PDFs, etc.)
- Bar chart of notes per folder
- Top folders by note count
π Localization
- π¬π§ English (default)
- π·πΊ Π ΡΡΡΠΊΠΈΠΉ (Russian)
π¨ Customization
- Three layouts: Grid, List, Compact
- Theme support: Auto, Light, Dark
- Toggle individual sections on/off
- Exclude patterns for templates, daily notes, etc.
- Auto-open Base on Obsidian startup
π Installation
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create folder:
<vault>/.obsidian/plugins/dastanboard/ - Copy the downloaded files into this folder
- Reload Obsidian and enable the plugin
π Usage
Opening the Dashboard
-
Create a Bases file (or open an existing one)
- Use command palette:
Create new Base - Or create a file with
.baseextension
- Use command palette:
-
Select Dashboard view
- Click the view selector in the Bases toolbar
- Choose "Dastanboard" from the list
-
Enjoy your statistics!
Settings
Go to Settings β Dastanboard to configure:
| Setting | Description | Default |
|---|---|---|
| Language | Interface language | English |
| Theme | Color theme (Auto/Light/Dark) | Auto |
| Layout | Card arrangement style | Grid |
| Heatmap Style | GitHub green or warm gradient | GitHub |
| Heatmap Months | Time period to display | 12 |
| Auto-open Base | Open specific Base on startup | (none) |
| Exclude Patterns | Folders/files to ignore | (empty) |
π οΈ Development
# Clone the repository
git clone https://github.com/dastanmedetbekov/dastanboard.git
cd dastanboard
# Install dependencies
npm install
# Build for development (watch mode)
npm run dev
# Build for production
npm run build
Project Structure
dastanboard/
βββ src/
β βββ main.ts # Plugin entry point
β βββ types.ts # TypeScript types
β βββ locales.ts # Translations
β βββ analytics/
β β βββ VaultAnalyzer.ts # Statistics engine
β βββ components/
β β βββ StatsCard.ts # Stat cards
β β βββ HeatmapCalendar.ts # Activity heatmap
β β βββ TagCloud.ts # Tag cloud
β β βββ Charts.ts # Charts & graphs
β βββ views/
β β βββ DashboardView.ts # Main Bases view
β βββ utils/
β βββ helpers.ts # Utilities
βββ styles.css
βββ manifest.json
βββ package.json
π€ Contributing
Contributions are welcome! Feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π License
This project is licensed under the GNU General Public License v3.0 β see the LICENSE file for details.
π Acknowledgments
- Obsidian team for the amazing app and API
- The Obsidian community for inspiration
Made with β€οΈ by Dastan Medetbekov
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.