Home

Awesome

<!-- [![David](https://img.shields.io/david/michahell/pinbored-nwjs.svg)]() --> <!-- [![GitHub issues](https://img.shields.io/github/issues/michahell/pinbored-nwjs.svg)]() --> <!-- [![GitHub release](https://img.shields.io/github/release/michahell/pinbored-nwjs.svg)]() --> <!-- [![Stories in Ready](https://badge.waffle.io/michahell/pinbored-nwjs.png?label=In%20Progress&title=In%20Progress)](https://waffle.io/michahell/pinbored-nwjs) -->

volkswagen status devDependency Status Code Climate Codacy Badge Test Coverage Gitter Flattr me

Pinbored is a 'native' Pinboard client application built with nwjs and AngularJS. Currently only OSX binaries are offered, but that is only because I use OSX myself and have not yet started building on other OSes. See the abandoned AS3 client version for more info on the history of this project.

Latest releases.

features / functionality

SUPPORTED

NOT YET SUPPORTED

Fake tag hierarchy explanation

In most (bookmarking) applications, a collection of items is either a flat list or a hierarchical structure (usually a tree, like in your operating systems file browser). However, we can stick to a naming convention for naming tags such that we are able to parse that structure and construct a hierarchy from it. Say we would like the following hierarchy:

We could then name our tags like so: programming, programming.tooling and programming.talks. Similarly we could use /, >, -, _ or some other hierarchy denotation symbol.

Why

Why use a separate bookmark service to manage bookmarks? I have < insert browser > for that?

There are several apps that already do this but they are either commercial software or did not have the simple features that i want them to have.

For bookmark creation consider using:

I WILL add bookmark creation functionality in a later version, however this was never the intention of this app. The app is aimed at managing one's bookmarks, for example after a switch from < insert browser > to Pinboard with some 1000 unmanageable bookmarks. There appear to be users with 40.000 bookmarks. Yes. 40K bookmarks. I wish to create something to allow for managing such a huge amount of bookmarks, even though that is not my own usecase.

Screenshots

Can be seen on the project page.

Download

Downloads are available on the project page or from the GH releases page.

Building + running from source

requirements

steps

  1. clone or fork project.
  2. run npm install in the project root (installs development environment dependancies)
  3. run npm install in /App (installs app dependancies)
  4. run bower install in / (installs app bower dependancies)
  5. run either:
    • grunt update

      - Windows / Linux users: if you get missing package errors, you should probably manually install the following npm packages:

      npm install grunt
      npm install grunt-purifycss
      npm install grunt-contrib-cssmin
      npm install grunt-preprocess
      npm install grunt-contrib-uglify
      npm install grunt-contrib-copy
      npm install grunt-htmlclean
      npm install grunt-karma
      npm install grunt-open
      npm install grunt-nw-builder
      

      and then: nw App for running the debug version in nwjs.

      - Windows users: ./nw ../pinbored-nwjs/App if your extracted nwjs folder lives next to the project folder.

    • or: grunt build and then either:

      • nw App_release. This is the pinbored-nwjs source css/js uglified + compacted files in the App_release dir. This is the version that gets packaged into a native application when a version is released. Do note that if you change the source code, and refresh inside node-nwjs, it does not reflect changes as opposed to running the debug version. you need to re-run grunt build each time!
      • grunt release-osx or [grunt release-win, grunt release-lin]. This will output binaries (both 32 bits and 64 bits by default) for the platform you are on in App/Release.

note: Windows and Linux binaries will be built every new release from now on !

warnings & errors

Depending on your OS and node version, you may see some of the following npm warnings.

Ignore these warnings. They are all required npm submodule dependancies.

I've seen the following extra warning on Windows 8.1, git bash, nodejs v4.0.0:

npm WARN peerDependencies The peer dependency jasmine-core@* included from karma-jasmine will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.

Also these errors.

Ignore the following specific errors.

Loading "grunt-karma.js" tasks...ERROR
>> Error: Cannot find module './lib'

Caveats and quirks

Disclaimer

Additional to the WTFPL license it is important that you know and understand the following:

*all requests performed by the application to the Pinboard API are sequences of consecutive, single operation REST requests and are not transactions with rollback history like in SQL transactions. They are 'destructive operations' by nature (that means no undo). Future versions might support custom undo history and functionality.

Roadmap

all milestones and issues:

milestones list:

name generator used for milestone names: Project Name Generator

Shit used, Acknowledgements etc.

WTFPL