Skip to content

masutaka/emacs-helm-raindrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 

Repository files navigation

helm-raindrop.el

melpa badge melpa stable badge Ask DeepWiki

Introduction

helm-raindrop.el provides a Helm interface for Raindrop.io:

  • Fuzzy search through your Raindrop.io items with Helm's powerful matching
  • Support for multiple collections and nested collections
  • Display of title, URL, tags, notes, and highlights for each item
  • Migemo support for Japanese search
  • Automatic caching with asynchronous periodic updates

Demo

emacs-helm-raindrop-demo.mp4

Requirements

  • Emacs 29.1 or higher
  • Helm 4.0.4 or higher
  • request.el 0.3.2 or higher

Installation

You can install helm-raindrop.el from MELPA with package.el (M-x package-install helm-raindrop).

Setup

Basic setup (single collection)

(setq helm-raindrop-access-token "Your app test token")
(setq helm-raindrop-collection-ids "123456") ;; For https://app.raindrop.io/my/123456, it's 123456.
(helm-raindrop-initialize)

Multiple collections setup

(setq helm-raindrop-access-token "Your app test token")
(setq helm-raindrop-collection-ids '("123456" "789012" "345678")) ;; Multiple collection IDs
(helm-raindrop-initialize)

helm-raindrop.el is designed to use a test token instead of an access token, based on the reasons outlined in the official documentation:

Note

If you just want to test your application, or do not plan to access any data except yours account you don't need to make all of those steps.

Just go to App Management Console and open your application settings. Copy Test token and use it as described in Make authorized calls.

Usage

helm-raindrop

Interactive command to search and browse your Raindrop.io items.

M-x helm-raindrop

Available Actions

  • Browse URL (default): Open the selected item in your web browser
  • Copy ITEM: Copy item information to clipboard in Markdown format
  • Show ITEM: Display item information in a dedicated buffer in Markdown format

Key Bindings

  • RET: Execute the default action (Browse URL)
  • TAB: Show available actions
  • C-j: Show persistent action (preview without closing Helm)

helm-raindrop-source

A Helm source that can be used in your own Helm configurations or combined with other Helm sources.

;; Use as a standalone source
(helm :sources 'helm-raindrop-source
      :buffer "*helm raindrop*")

;; Combine with other sources
(helm :sources '(helm-raindrop-source
                 helm-source-bookmarks
                 helm-source-recentf)
      :buffer "*helm multi*")

Customization

Required Settings

  • helm-raindrop-access-token (default: nil)
  • helm-raindrop-collection-ids (default: nil)
    • Collection IDs to fetch items from
    • If the collection URL is https://app.raindrop.io/my/123456, then use "123456"
    • Can be either a single string or a list of strings for multiple collections
    • Special values:
      • "0": All items (except trash)
      • "-1": Unsorted items
      • "-99": Trash items
    • Examples:
      • "123456" (single collection)
      • '("123456" "789012") (multiple collections)
    • This is a required setting

Optional Settings

  • helm-raindrop-include-nested-collections (default: t)
    • Whether to include items from nested collections
  • helm-raindrop-file (default: ~/.emacs.d/helm-raindrop)
    • Cache file path for storing Raindrop items
    • This file is automatically updated at specified intervals
  • helm-raindrop-interval (default: 10800 = 3 hours)
    • Number of seconds between automatic cache updates
    • The cache is refreshed by fetching items from Raindrop.io API
  • helm-raindrop-debug-mode (default: nil)
    • Debug logging level for API requests
    • Available options:
      • nil: No logging
      • 'info: Summary only
      • 'debug: All messages

About

Helm interface for Raindrop.io

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published