GithubHelp home page GithubHelp logo

davep / pinboard.el Goto Github PK

View Code? Open in Web Editor NEW
41.0 4.0 5.0 232 KB

A pinboard.in client for Emacs.

License: GNU General Public License v3.0

Emacs Lisp 99.62% Makefile 0.38%
emacs lisp emacs-lisp elisp pinboard pinboard-api bookmarks bookmarking bookmarking-application

pinboard.el's Introduction

pinboard.el

MELPA Stable MELPA

Commentary:

pinboard.el is an Emacs client for Pinboard.

To get started, visit your password settings page on Pinboard and get the API token that's displayed there. Then edit ~/.authinfo and add a line like this:

machine api.pinboard.in password foo:8ar8a5w188l3

Once done, you can M-x pinboard RET and browse your pins. Current commands available include:

Command Key Description
pinboard-add n Add a new pin
pinboard-delete d Delete the current pin
pinboard-edit e Edit the current pin
pinboard-kill-url k Add pin's URL to the kill-ring.
pinboard-open RET Open the pin's URL in a web browser
pinboard-private P Show only private pins in the list
pinboard-public p Show only public pins in the list
pinboard-toggle-private i Toggle the public/private status of the pin
pinboard-read r Show only read pins in the list
pinboard-refresh g Refresh the list, showing all pins
pinboard-search / Show only pins that contain the search text
pinboard-extend-tagged t Add a tag to the current tag filter
pinboard-tagged T Show only pins with a given tag
pinboard-toggle-read R Toggle the read/unread status of the pin
pinboard-unread u Show only unread pins in the list
pinboard-untagged T Show only pins that have no tag
pinboard-view SPC View the data for a pin in a window
pinboard-visit-pinboard v Visit the Pinboard website

Commands available that aren't part of the pin list, and that you might want to bind to keys, include:

Command Description
pinboard Open the Pinboard pin list
pinboard-add Add a new pin to Pinboard
pinboard-add-for-later Prompt for a URL and add it for later

Org support

Konrad Hinsen has written a handy little add-on that connects pinboard with org-mode, by providing an easy method of pulling a link out of pinboard and getting it into org-mode. See the gist he wrote for the code.

Troubleshooting

pinboard.el doesn't find API token despite it being set in .authinfo

Check the variable auth-sources to ensure that Emacs is looking for .authinfo. Some Emacs-frameworks set their own default (typically enforcing gpg encryption).

If you're using use-package, you can append the ~/.authinfo file to the auth-sources list like this:

(use-package pinboard :config (add-to-list 'auth-sources "~/.authinfo" t))

TODO

Please see the GitHub issues list for things I plan to do.

pinboard.el's People

Contributors

algal avatar davep avatar donkeyfish87 avatar jin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pinboard.el's Issues

Allow for viewing notes

Pinboard as an API for getting notes (but sadly not adding or editing them). Despite the latter issue, it might be a good idea to add a command that displays a list of a user's notes and allows viewing them.

Add a facility to quick add a URL

Add a command to quickly add a URL, and just a URL. Have it add it as private and unread (perhaps one or more of them being options the user can customise), and default the title to the URL also - or perhaps to the title of the page (which is reach out and grab).

Provide a tag-oriented view

Allow viewing all of the user's tags in their own buffer, perhaps as a cloud or something similar (see also wordcloud.el), and if the user selects a particular tag, it opens (if it isn't open) or refreshes (if it is open) the pin list such that only those tagged with that tag show.

As part of this it would be a good idea to turn the tags visible when viewing a pin into links that do the same as above.

Org-mode integration

First of all, thanks for this very useful add-on for Emacs!

I added a small bit of code to make it easier to transfer pins to org-mode documents. It adds support for org-store-link to pinboard-mode buffers. It's probably not worth adding to pinboard.el because it would create a dependency on org-mode, but I'll leave it here for anyone interested:

(defun org-pinboard-store-link ()
  "Store a link taken from a pinboard buffer."
  (when (eq major-mode 'pinboard-mode)
    (pinboard-with-current-pin pin
      (org-store-link-props
       :type "pinboard"
       :link (alist-get 'href pin)
       :description (alist-get 'description pin)))))

(org-link-set-parameters "pinboard"
                           :follow #'browse-url
                           :store #2 org-pinboard-store-link)

Empty buffer showing only headers.

Hi,
First, thank you for a very useful mode, I've used it for a while with excellent results!

I had not used it for quite a while and today I tried it (M-x pinboard) and got an empty buffer showing only the column headers. In Emacs's Messages buffer, I could see the following:

pinboard-call: Error ’JSON readtable error: 65279’ handling reply from Pinboard: [{... 

...followed by what appears to be a full list of all my bookmarks, with descriptions and tags.

Do you have any idea what could be causing this issue?

Pinboard configuration in my init file is:

    (use-package pinboard
      :ensure t) 

Thank you for your help.

filter by multiple tags

One of the real gems of pinboard is that you can search by multiple tags to filter collections more narrowly.

the T keybinding appears to treat its entire input as one tag, even if that input is a collection of comma- or whitespace- delimited tags. So where I can go to pinboard.in/u:MYUSER/t:TAG1/t:TAG2 to get the union of those tags as a search result, i cannot spell this in pinboard.el as T TAG1, TAG2 or T TAG1 TAG2.

this would be very handy.

optionally persist *Pinboard pin* minibuffer

i'm not sure if this is a pinboard feature or an emacs configuration option, so please close if this is irrelevant.

currently pinboard-view:

  • opens a minibuffer with the details of the currently highlighted pin
  • shifts focus to that minibuffer
  • is dismissed with

I'd like to have a way to open a new window in the frame without shifting focus to it, which provides the details of the currently highlighted pin and updates as i navigate the main Pinboard buffer.

How might that happen?

Have the list refresh retain the filter

Currently, any time the list gets a refresh, the filter is lost. This includes when pinboard-maybe-redraw gets called. I imagine that people might expect the filter to stay until its cleared.

Add support for saving the filter and reusing it until it's cleared.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.