spamwax / alfred-pinboard-rs

Alfred Workflow for Pinboard (Rust)
Other
280 stars 13 forks source link
alfred alfred-workflow bookmark pinboard productivity rust

Alfred Workflow for Pinboard

Build/Test/Release Alfred Workflow Clippy Lints Build status SemVer

Manage, post and preview your bookmarks on Pinboard right from within Alfred app.

Features

Pinboard is a great and reliable bookmarking service. Its front page sums it all: "Social Bookmarking for Introverts. Pinboard is a fast, no-nonsense bookmarking site."

This plugin will let you:

TLDR;

After initial setup:

Supported Browsers:

Installation / Setup

After downloading the latest version of the workflow and installing it in Alfred, you need to do a one-time setup to authenticate the Workflow. This Workflow only uses username/token method so you won't need to enter your password. (This is the suggested way of using Pinboard's API). If you don't have a token, get one from Pinboard's setting's page.

Then invoke Alfred and enter your username:token after the "pa" keyword:

image

This workflow will keep a local cache of the tags and bookmarks that you have in Pinboard, and, by default, automatically update the cache. (See manual updates )


Usage (post a bookmark):

The syntax to post a bookmark to Pinboard is :

p tag1 tag2 tag3 ; some optional note (semi-colon & note are optional)

The workflow will show a list of your current tags as you are typing:

image

The number below each tag shows how many times you have used it in Pinboard bookmarks. You can move Alfred's highlighter to the desired tag and hit 'Tab' to autocomplete it.

To finish the process just press Enter.

Modifiers (Control ⌃, Option ⌥)

You can hold down modifiers to one-time change some of your settings:

After entering last desired tag, you can hit enter to post the bookmark. If you want to add extra description to the bookmark you can add it after a semi-colon:

image

Already saved bookmark

If the current page is already saved, you will be notified. However the workflow assumes that:

are all different bookmarks and will not notify you about duplication!

image


Usage (search bookmarks):

Searching your bookmarks is easy.

ps query1 query2 query3 ...

Workflow will use the text you enter in Alfred and show list of bookmarks that contain all of the search keywords in any of the bookmarks information (Description of bookmark, its tags, its url and its extended notes). However, these search fields can be adjusted, see settings.

So the more search keywords you enter the less results will be displayed as it tries to find the bookmarks that contain all of the keywords.

The search result is ordered in descending order of dates they were posted to your Pinboard account.

image

To show tags (instead of URLs) in search results subtitles, use pset url_tag:

image

Modifier keys (Command ⌘, Control ⌃, Option ⌥)

You can hold down modifiers to enable different behavior:

image


Usage (delete a bookmark):

Either use pind while the bookmark you want to delete is currently on your active browrser.

image

Or use the Delete Pinboard Bookmark action on a bookmark item anywhere in this Workflow or on any url entered in Alfred's window:

image

To delete a bookmark, just make sure it is opened in your current browser's window. Then use pind. Proposed workflow for deleting a bookmark is to first open it in browser (search for it using this workflow's keyword ps, and hit enter) and then use pind keyword followed by enter.

Usage (rename a tag):

Use pr to search for old tags, select the desired one from Alfred and hit enter. You will be prompted to enter a new tag name. You can either choose from your current tags or enter a new one. image

Additonally you can Action on a tag item anywhere in this Workflow and use the Rename Pinboard Tag action to achieve the same thing. (Requires Alfred 4.5+)

image

Note: See known issues for some limitations caused by Pinboard's API issues.

Settings

You can configure the behavior of workflow by entering pconf in Alfred:

image

Selecting each setting and hitting ⏎ (Enter) will let you adjust it:

image

On top of using pconf, you can directly type following commands to also adjust the settings:

Manual cache update

To manually update the cache, you need to issue the pu command:

image


Most of configuration settings are self-explanatory. However fuzzy search may need a demo.

When fuzzy search is enabled, the tags/bookmarks that contain the query letters in the given order are displayed:

image

Otherwise, normal search will search for consecutive characters in query:

image


Misc.

image

image image image

image


Known Issues

Alfred 4 Support & Issues

TODO

I wish to add the following in the coming releases:

Feedback / Bugs

This is my first non-trivial project using Rust language so so your feedback or bug reports are greatly appreciated.

License

This open source software is licensed under MIT License.