Template System for Make It Rain
The Make It Rain plugin includes a powerful template system that gives you complete control over how your Raindrop.io bookmarks are formatted in Obsidian notes. This guide will walk you through using and customizing templates to suit your specific needs.
Table of Contents
- Enabling & Managing Templates
- Enabling the Template System
- Available Template Variables
- Essential Template Features (Handlebars Syntax)
- Default Template Structure (Built-in)
- Example Templates
- Best Practices for Templates
- Troubleshooting Common Issues
Enabling & Managing Templates
Enabling the Template System
- Navigate to Obsidian Settings → Community Plugins → Make It Rain.
- Toggle “Enable Template System” to ON.
- This reveals options for the “Default Template” and “Content Type Templates”.
Default Template
- Located in the plugin settings under “Template System”.
- This template is used for any Raindrop item if:
- Its specific content type template (e.g., for
article
) is disabled or empty. - The “Use Default Template Only” option is checked in the fetch modal.
- Its specific content type template (e.g., for
- The plugin comes with a comprehensive built-in default template structure.
- You can easily revert to the original system default template using the “Reset to Default” button next to the template editor in the settings.
Content-Type Specific Templates
- In plugin settings, under “Content Type Templates”, you can enable and define custom templates for each Raindrop type (
link
,article
,image
,video
,document
,audio
). - If a specific content type template is enabled and has content, it will be used for items of that type, unless overridden by modal options. Each specific content-type template can also be individually reset to its original system default using its own “Reset” button next to its editor in the settings.
Modal Fetch Options for Templates
When you trigger a fetch, the modal provides these choices if the template system is enabled:
- Use Default Template Only: If checked, forces all items to use the “Default Template” from settings, ignoring any content-type specific templates.
- Override Disabled Templates: If checked, uses any defined content-type specific templates even if their toggle in settings is off. The main “Enable Template System” toggle must still be on.
- If neither is checked, behavior follows standard settings: enabled content-type templates are used for their respective types, and the default template is used for others.
Available Template Variables
These variables can be used within your templates by wrapping them in double curly braces, e.g., ``.
Core Raindrop Data
String values marked with (YAML-escaped)
are pre-processed to be safe for direct use in YAML frontmatter (e.g., quotes are escaped). For body content, they render as normal strings.
Variable | Type | Description | Example (in template) |
---|---|---|---|
id |
number |
Unique Raindrop.io ID. Required in frontmatter for updates to work. | `` |
title |
string (YAML-escaped) |
Title of the Raindrop. | \"\" |
excerpt |
string (YAML-escaped) |
Description or summary of the Raindrop. | \"\" |
note |
string (YAML-escaped) |
Your personal notes on the Raindrop. | \"\" |
link |
string |
The primary URL of the bookmark. | `` |
cover |
string |
URL of the cover image, if available. | `` |
created |
string |
Creation timestamp in ISO 8601 format (e.g., 2023-10-27T14:30:00Z ). |
`` |
lastupdate |
string |
Last update timestamp in ISO 8601 format. Required in frontmatter for updates to work. | `` |
type |
string |
The raw Raindrop type (e.g., link , article , image , video , document , audio ). |
`` |
collectionId |
number |
ID of the Raindrop's collection. | `` |
collectionTitle |
string (YAML-escaped) |
Title of the Raindrop's collection. | \"\" |
collectionPath |
string (YAML-escaped) |
Full path of the collection, including parent folders (e.g., Work/Projects/Active ). |
\"\" |
collectionParentId |
number |
ID of the parent collection, if it exists. Use ... to check. |
`` |
tags |
string[] (YAML-escaped) |
Array of tag strings. Each tag string is individually pre-escaped for YAML. | - |
highlights |
object[] |
Array of highlight objects. Each object has text (YAML-escaped) , note (YAML-escaped) , color , created . |
- |
bannerFieldName |
string |
The user-defined frontmatter field name for banner images (from plugin settings, defaults to banner |