Tag Management
This guide explains how Make It Rain handles tags from Raindrop.io and integrates them with your Obsidian vault.
Table of Contents
Tag Basics
Tag Structure
Tags in Raindrop.io are simple strings that can be:
- Single words:
work,research,todo - Multi-word:
to read,in progress,needs review - Hierarchical:
project/active,status/done
Tag Properties
Each tag has the following properties:
name: The tag textcount: Number of items with this tagtype: Tag category (if applicable)
Tag Import
Basic Import
Tags are automatically imported with your Raindrop items and added to the YAML frontmatter:
---
title: My Bookmark
tags:
- work
- research
- to_read
---
Tag Processing
During import, tags are:
- Sanitized for Obsidian compatibility
- Converted to lowercase
- Spaces replaced with underscores
- Special characters removed
Import Options
- Append Tags: Add custom tags to all imports
- Prefix Tags: Add prefix to Raindrop tags
- Skip Tags: Don’t import certain tags
- Tag Mapping: Map Raindrop tags to Obsidian tags
Tag Filtering
Basic Filtering
Filter imports by tags using:
- AND Logic: Items must have ALL specified tags
- OR Logic: Items can have ANY of the specified tags
Filter Syntax
- Simple:
work,research - AND Logic:
work+research - OR Logic:
work|research - Exclusion:
-work
Advanced Filtering
- Tag Patterns:
work*,*research - Tag Groups:
(work|personal) - Tag Combinations:
work+research|personal
Tag Customization
Tag Transformation
Customize how tags are processed:
interface TagOptions {
prefix: string; // Add prefix to all tags
suffix: string; // Add suffix to all tags
transform: (tag: string) => string; // Custom transformation
filter: (tag: string) => boolean; // Filter tags
}
Tag Mapping
Map Raindrop tags to Obsidian tags:
interface TagMapping {
'to read': 'status/to_read';
'in progress': 'status/in_progress';
'done': 'status/done';
}
Tag Templates
Use tags in templates:
Best Practices
Organization
- Tag Structure
- Use consistent naming
- Plan hierarchy
- Keep it simple
- Tag Categories
- Status tags
- Topic tags
- Project tags
- Custom tags
- Tag Maintenance
- Regular cleanup
- Merge similar tags
- Archive unused tags
Performance
- Tag Processing
- Efficient filtering
- Optimize mapping
- Cache results
- Large Collections
- Batch processing
- Incremental updates
- Monitor memory usage
- Search Optimization
- Use tag patterns
- Optimize queries
- Cache results
Maintenance
- Regular Tasks
- Check for duplicates
- Update mappings
- Clean up tags
- Backup Strategy
- Export tag list
- Version control
- Regular backups
- Error Handling
- Validate tags
- Handle errors
- Log issues
Troubleshooting
Common Issues
- Missing Tags
- Check import settings
- Verify tag format
- Check permissions
- Tag Formatting
- Check sanitization
- Verify mapping
- Check templates
- Filter Problems
- Check syntax
- Verify logic
- Test filters
Solutions
- Import Issues
- Check settings
- Verify format
- Test import
- Format Problems
- Update mapping
- Check templates
- Verify output
- Filter Errors
- Check syntax
- Test patterns
- Verify logic
Advanced Features
Tag Analytics
- Tag usage statistics
- Popular tags
- Tag relationships
Tag Automation
- Automatic tagging
- Tag suggestions
- Tag cleanup
Tag Integration
- Other plugins
- External tools
- Custom scripts
API Reference
Tag Properties
interface Tag {
name: string;
count: number;
type?: string;
}
Tag Options
interface TagOptions {
prefix?: string;
suffix?: string;
transform?: (tag: string) => string;
filter?: (tag: string) => boolean;
mapping?: Record<string, string>;
}
Filter Options
interface TagFilterOptions {
tags: string[];
logic: 'AND' | 'OR';
exclude: string[];
patterns: string[];
}
Examples
Basic Tag Import
---
title: My Bookmark
tags:
- work
- research
- to_read
---
Tag Filtering
// AND Logic
const andFilter = 'work+research';
// OR Logic
const orFilter = 'work|research';
// Complex Filter
const complexFilter = '(work|personal)+research';
Tag Mapping
const tagMapping = {
'to read': 'status/to_read',
'in progress': 'status/in_progress',
'done': 'status/done'
};