Hacker News new | ask | show | jobs
by landhar 1311 days ago
I’m working on an open-source social bookmarking site in Elixir that is API compatible with delicious/pinboard. Its named linkhut and it’s currently able to import your bookmarks from pinboard and browser exports.

The flagship instance is: https://ln.ht

The source code is hosted here: https://sr.ht/~mlb/linkhut/

The documentation: https://docs.linkhut.org/introduction.html

Two things that I think are very important in a bookmarking app (and why I‘ve been working on making one of my own on and off for a while): open source and offering an API for other tools to build upon. The current API on linkhut aims to be bug for bug compatible with pinboard while being more OAuth-y.

I’m still working on a snapshotting feature similar to pinboard’s, once that’s ready I think I’ll call 1.0 complete. Perhaps I’ll do a Show HN then.

8 comments

This is great. I'm an Elixir engineer myself, and would love to contribute to something I can self-host.

Are you open to external contributions? If so, what's a good/useful place to start?

EDIT: if I would self-host this, I would want to run it in a Docker container. Is that something where I could help?

Interesting! Got an account, but I wonder how you/we are going to pay for it. Even with just a few million bookmarks you're going to need a non-trivial DB setup, and (according to some napkin maths on my Pinboard account) ~2.5 MB of storage per bookmark for the snapshotting feature.
> ~2.5 MB of storage per bookmark for the snapshotting feature.

Could also be "outsourced" to archive.org and submitted there for the user (and to the benefit of others).

I think a feature of these bookmarking services is that you can search through the text on bookmarked pages?
A docker image would be great to help self-hosters. Looks like a great tool!
It's weird that this is at least the third iteration of "bookmarks on the web" that I've used. My trajectory has basically been del.icio.us > delicious > pinboard > linkhut (still kicking the tires on the latter though, staying on Pinboard for now but hope it doesn't stop working).
@landhar Some feedback: the EDIT | DELETE and COPY TO MINE text is too large and overwhelms the bookmark entry, being bigger than the link title.
I just created a new account and migrated my bookmarks from pinboard - worked great!
Glad to hear! Let me know if you run into any issues either here or directly by cutting a ticket: https://todo.sr.ht/~mlb/linkhut
So how do you export your bookmarks from pinboard?
settings -> backup

you want to export as html, in netscape format

Settings -> Import.

Tried it as an experiment (I'm planning on staying with Pinboard, at least as long as it keeps working), but it keeps failing, at least when trying to import as HTML.

I’m a Phoenix fan but curious, why the choice of Elixir here?

I could be mistake but isn’t a site like Pinboard largely static.

> I could be mistake but isn’t a site like Pinboard largely static.

Not if you want to make AND operations with tags (which is crucial functionality for bookmarking).

Playing devils advocate, but couldn't you do that with client side JS calling a Redis cache?
If viewing a list of basic links requires client-side JS you're doing it wrong.
It's not about viewing a list of basic links. It's to address the comment about performing AND operations to see only links that match multiple Tags.
Ok, I'll amend my statement to read: "if viewing a list of basic links that match a few basic filters requires client-side JS you're doing it wrong" and I stand by it.

If you'd like to employ JS to progressively-enhance your user experience, great. If you are architecturally requiring JS for basic functionality? stop.

Fantastic! Big thanks for developing it in the spirit of open source.
Importing as HTML is failing at the moment, heads up.
EDIT: I got it to work after a few tries.