README file from
GithubMake It Rain
Pull your Raindrop.io bookmarks with flexible filtering, customization, and location options.
Transform your web clippings, articles, and research into a powerful knowledge base.
🚀 Quick Start • 📚 Features • 📖 Documentation • 🤝 Contributing • 💬 Support
🌟 What is Make It Rain?
Make It Rain is a powerful Obsidian plugin that brings your Raindrop.io bookmarks, highlights, and notes directly into your vault. Whether you're a researcher collecting articles, a reader saving interesting finds, or a developer curating resources, Make It Rain helps you integrate your web discoveries seamlessly into your knowledge base.
The Problem: Your bookmarks live in Raindrop.io, but your knowledge base lives in Obsidian. Keeping your vault manually updated is tedious.
The Solution: Make It Rain automates the import process with flexible filtering, customizable templates, and smart organization.
✨ Features at a Glance
🎨 Powerful Template System
Fully customize how your notes look with our flexible template system. Choose from pre-configured templates for different content types, or build your own with smart variables.
- Customizable templates with Handlebars-like syntax
- Pre-configured templates for articles, videos, images, links, and more
- Smart variables (formatted dates, domains, tag lists)
- One-click reset to default templates
- Per-import overrides to use different templates on demand
🎯 Advanced Filtering & Selection
Import exactly what you need with granular filtering options.
- Bulk import with filtering by collections, tags, and content types
- Quick import by URL or ID for individual items
- Dynamic collection selector - browse and select from your Raindrop account
- Tag filtering with AND/OR logic
- Aggregate highlights by tag - Consolidate highlights from across your vault into a single summary note
- Content type filtering (links, articles, images, videos, documents, audio, books)
- Selective imports - fetch only new items or update existing notes
🗂️ Smart Organization
Your imported notes organize themselves based on your Raindrop structure.
- Automatic folder hierarchy mirroring your collections
- Automatic Folder Notes (
FOLDER_NAME.md) generated to serve as structured indexes - Native File Downloads to directly retrieve PDFs, EPUBs, video, and audio file attachments
- Rich YAML frontmatter with comprehensive metadata
- Customizable filenames with template variables
- Auto-tagging - append custom tags to all imports
- Banner images automatically included in notes
⚙️ Reliable & Robust
Built to handle large Raindrop libraries with confidence.
- Smart rate limiting (default 60 requests/minute) with automatic retries
- Modular architecture - Improved reliability with dedicated collection fetching logic
- Enhanced tag handling - Automatic tag sanitization and appending from settings
- Safe by default - prevents accidental overwrites
- Detailed logging for troubleshooting
- Comprehensive error handling
- Automated testing with integration coverage
🚀 Quick Start
Get started in 3 simple steps:
Step 1️⃣: Install the Plugin
- Download
make-it-rain.zipfrom the latest release⚠️ Download
make-it-rain.zip, not the source code - Extract to get
main.js,manifest.json, andstyles.css - Copy these files to your vault's
.obsidian/plugins/make-it-rain/folder - Restart Obsidian
- Enable the plugin in
Settings→Community Plugins
Step 2️⃣: Get Your API Token
- Go to Raindrop.io Apps settings
- Click + Create new app
- Give it a name (e.g., "Make It Rain")
- Click Create test token
- Copy the token to your clipboard
Step 3️⃣: Configure & Import
- Open Obsidian
Settings→Make It Rain - Paste your API token
- Click Verify Token to test the connection
- (Optional) Set your default import folder
- Done! Run "Fetch raindrops (filtered)" from the Command Palette to start importing
💡 New to Make It Rain? Check out the Installation Guide for detailed instructions.
📚 Documentation
Comprehensive documentation is available on our Documentation Site.
📖 For Users
Start here based on your experience level:
| Guide | Purpose | Time |
|---|---|---|
| Quick Start | Get up and running | 5 min |
| Installation | Install and configure | 10 min |
| Configuration | Customize settings | 15 min |
| Usage Guide | Learn all features | 30 min |
| Template System | Customize note format | 45 min |
| Troubleshooting | Fix common issues | 10 min |
| FAQ | Common questions | 5 min |
🛠️ For Developers
Learn how to contribute to the project:
| Resource | Purpose |
|---|---|
| Developer Guide | Architecture & setup |
| Contributing Guide | How to contribute |
| Testing Guide | Write tests |
| API Reference | API documentation |
⚙️ Configuration Reference
Settings Overview
| Setting | Description | Default |
|---|---|---|
| API Token | Your Raindrop.io test token (required) | - |
| Default vault save location | Folder path for imported notes | Vault root |
| Filename template | Template for note filenames | {{title}} |
| Show ribbon icon | Display plugin icon in sidebar | Enabled |
| Banner field name | Frontmatter field for banner images | banner |
| Create folder notes | Generate index notes for each collection folder | Enabled |
| Download files | Fetch native Raindrop upload attachments | Enabled |
Filename template placeholders
Use these variables in your filename template:
{{title}}- Raindrop bookmark title{{id}}- Raindrop unique ID{{collectionTitle}}- Collection name{{date}}- Creation date (YYYY-MM-DD format)
Example: {{date}} - {{title}} produces 2024-01-15 - My Bookmark Title.md
📝 How Notes Are Structured
Each imported Raindrop becomes a beautifully formatted Markdown note with YAML frontmatter.
Example Note Frontmatter
---
title: "Understanding React Hooks"
source: https://example.com/article
type: article
created: 2024-01-15T10:30:00Z
lastupdate: 2024-01-16T14:20:00Z
id: 123456789
collectionTitle: "Web Development"
collectionPath: "Learning/Web Development"
collectionGroup: "CORE KNOWLEDGE"
tags:
- react
- javascript
- frontend
banner: https://example.com/cover-image.jpg
---
Example Note Body
The default template structures your notes like this:
# Understanding React Hooks
Your bookmark's description and highlights are formatted with:
- Description section
- Personal notes and annotations
- Highlights with inline comments
- Metadata and details
- Source link
All automatically organized and beautifully formatted!
For complete details, see the Note Structure documentation.
🎯 Common Tasks
Import bookmarks from a specific collection
- Open Command Palette (
Ctrl/Cmd+P) - Run "Fetch raindrops (filtered)"
- Select your collection from the dynamic list
- Click Fetch raindrops
Import a single bookmark by URL
- Open Command Palette
- Run "Quick import raindrop by url/id"
- Paste the raindrop URL or id
- Click Import
Aggregate highlights by tag
- Open Command Palette
- Run "Aggregate highlights by tag"
- Enter the tag to aggregate highlights for
- Click Aggregate
Use different templates for different import types
- Open "Fetch raindrops (filtered)" modal
- Configure your filters
- Enable "Use default template only" or "Force use of content-type templates"
- Fetch!
Automatically organize by collection
- In settings, ensure your collection hierarchy matches your desired folder structure
- Enable "Include Subcollections" when fetching
- Notes will automatically create nested folders
For more tips and workflows, see the Usage Guide.
🔧 Troubleshooting
"API token is not set" Error
- Verify you've copied your token correctly
- Click "Verify Token" in settings to test the connection
- Token should start with
eyJ(JWT format)
Notes Not Importing
- Check the Developer Console (
Ctrl/Cmd+Shift+I→Consoletab) - Verify collections/tags exist in your Raindrop account
- Ensure the target vault folder exists
- Check that you have bookmarks in the selected collections
Template Not Working
- Verify the template syntax is correct
- Check the browser console for error messages
- Reset to default template to test
- See the Template System guide for syntax help
Performance Issues with Large Libraries
- Fetch in smaller batches using collection filters
- Import by content type to reduce load
- Enable "Fetch only new items" to skip existing notes
Still need help?
🗺️ Roadmap
Active development focuses on these features:
- 🔄 Two-way updates - (Roadmap) Send notes and annotations back to Raindrop.io
- 📌 Enhanced highlights - Better highlight handling in notes
- 💾 Saved presets - Store and reuse fetch configurations
- 🎬 Video tutorials - Learn by watching
- 📊 Archive scraping - Extended content extraction
- ↩️ Undo functionality - Recover from mistakes
See the full GitHub Issues for more planned features.
🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes Make It Rain better.
Getting Started
- Read our Contributing Guide
- Check the Developer Guide
- Follow our Code of Conduct
Ways to Contribute
- Code - Submit pull requests with bug fixes or features
- Documentation - Improve guides or add examples
- Testing - Report bugs or test new features
- Ideas - Suggest features via GitHub Issues
- Translation - Help localize the plugin
Development Quick Start
# Install dependencies
npm install
# Run in development mode (watches and deploys to configured vaults)
npm run dev
# Scan for secrets
npm run scan-secrets
# Run tests
npm test
# Build for production
npm run build
See the Developer Guide for detailed setup instructions.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
This means you're free to use, modify, and distribute Make It Rain, provided you include the original license.
💖 Support Make It Rain
If you find Make It Rain useful and want to support its development, consider buying me a coffee! ☕
Even if you can't contribute financially, you can help by:
- ⭐ Starring the repository
- 📢 Sharing the project with friends
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📚 Improving documentation
🆘 Getting Help
I have a question
- 📖 Check the FAQ
- 💬 Ask in GitHub Discussions
- 📧 Email [email protected]
I found a bug
- 🐛 Report it on GitHub Issues
- 📋 Use the bug report template for details
I have a feature idea
- 💡 Suggest it on GitHub Issues
- 📝 Use the feature request template
I want to contribute
- 🤝 See Contributing Guide
- 👨💻 Check Developer Guide
📊 Project Status
| Aspect | Status |
|---|---|
| Build | ✅ Passing |
| Tests | ✅ Setup Complete |
| Documentation | ✅ Comprehensive |
| Community | ✅ Welcoming |
| Maintenance | ✅ Active |
Quick Links
📖 Documentation • 📋 Changelog • 🐛 Issues • 📦 Releases • 🤝 Contributing • 💬 Code of Conduct
About the Author
Made with ❤️ by frostmute
Whether you're importing bookmarks or building features, thank you for being part of the Make It Rain community! 🌧️✨