You are not logged in.
Does anyone know of any software that provides a way to manage booksmarks independent of any browser?
Basically all I want is a way to do the following:
easily add bookmarks while browsing in my browser of choice (e.g. copy+paste via an HTML interface)
easily access the bookmarks in the browser (e.g. via a simple import to the native browser bookmark hierarchy or by navigating to an HTML interface)
an easy way to share a subset of bookmarks between different user accounts
everything should be local: I don't want to sync against some third-party server
I managed to get something similar working with Firefox using moz2fs but the latest version of Firefox removes data from the root element of the exported bookmarks object so it no longer works. I don't even know if this is a temporary bug. The system was already kludgy but this just motivates me even more to escape the Firefox bookmark ecosystem.
I am so very tempted to write my own software to do this. A dead-simple way to do it would be to create a script that accepts a number of files specifying bookmark hierarchies as input and uses them to create a structured HTML document with some javascript for expanding and collapsing nested lists. Bookmark management would then be reduced to text editing. The only real challenge here would be the choice of a human-editable yet programmatically accessible file format for storing the bookmark hierarchy (directories, bookmarks, separators, possibly with metadata such as modification times).
It could be stepped up a notch by adding a minimal HTTP server that provides an HTML interface for editing the hierarchy and accessing it via the browser (running on localhost, optionally accessible via other interfaces, possibly even with a configuration file to share some bookmarks but not others).
So, is there something like this already? If not, who thinks it would be useful? I can't be the only one who is sick of this "everything or nothing" profile synchronization BS.
edit: clarified that this should not use third-party servers
Last edited by Xyne (2014-05-11 22:49:20)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
I don't know about that specific problem but the first thing that came to my mind reading your question was ownCloud.
Chances are s.o. at least began a similar project there and even if not it would be the ideal platform to do so.
It has its own low-level text-editor and syncing files between the server and your local filesystem is what it is made for anyways.
There's also a bookmarkmanager of some sort. I haven't tried it yet so I can't say how useful it actually is.
The rest is some scripting, I imagine.
Thinking of it, an owncloud bookmark manager independent of OS, device and browser would be quite a thing if it doesn't exist yet.
Even sharing bookmarks between different users should't be a tough task there.
Last edited by Caldazar (2014-05-11 22:13:19)
4.4.11-1-lts #1 SMP Thu May 19 21:03:24 CEST 2016 x86_64 GNU/Linux
KDE
AMD Phenom II X4 960T - AMD Radeon HD 6670 with Catalyst - 24GB RAM
Offline
Offline
ownCloud may be overkill for what I want but I'll look into it. Actually synchronizing files is not an issue for me as I already have various things set up to do that. What I really need is selective synchronization and merging of a subset of bookmarks across different user accounts (on the same system).
Just to give a concrete example, I have a set of common bookmarks that I share across all accounts (e.g. programming references, various online services, news sites, etc). Each account has its own additional "personal" bookmarks which should be kept private. All I really want is a way to update the common bookmarks centrally so that any changes are immediately accessible to all (e.g. by navigating to a page or running an update script per account).
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
The overkill with using ownCloud would rather be the LAMP stack (or something similar) you'll need as a foundation.
But if you already have apache & friends running on your system or better, you have your own webspace, it's not an issue. Or you could just use a LAMP-ownCloud Docker container.
Owncloud itself is a pretty KISS application meant to be extended with modules / addons.
Anyway, the problem you describe in your last post is a tad more complicated I think as you'd have to constantly merge two bookmark files to one.
If browsers would still use XML or JSON, life would be easier. But with the Sqlite databases I wouldn't know where to start other than hoping they provide a nice API to address that.
I don't know if existing tools like Xmarks, mentioned above, or Diigo can do that as I've never tried them.
But being able to have different combinations of bookmarks sync between my private and more public accounts or devices would be a nice thing indeed.
No one wants his top ten porn sites to accidentally pop up during a presentation at his job. No kidding, that is actually a concern of mine :-)
Last edited by Caldazar (2014-05-12 11:36:21)
4.4.11-1-lts #1 SMP Thu May 19 21:03:24 CEST 2016 x86_64 GNU/Linux
KDE
AMD Phenom II X4 960T - AMD Radeon HD 6670 with Catalyst - 24GB RAM
Offline
Just to give a concrete example, I have a set of common bookmarks that I share across all accounts (e.g. programming references, various online services, news sites, etc). Each account has its own additional "personal" bookmarks which should be kept private. All I really want is a way to update the common bookmarks centrally so that any changes are immediately accessible to all (e.g. by navigating to a page or running an update script per account).
xmarks supports profiles where you can choose the bookmark folders you want to synchronize. You can try to set it up with a local ftp or webdav server.
I am so very tempted to write my own software to do this. A dead-simple way to do it would be to create a script that accepts a number of files specifying bookmark hierarchies as input and uses them to create a structured HTML document with some javascript for expanding and collapsing nested lists. Bookmark management would then be reduced to text editing. The only real challenge here would be the choice of a human-editable yet programmatically accessible file format for storing the bookmark hierarchy (directories, bookmarks, separators, possibly with metadata such as modification times).
Why not write it as a nodejs server and add a bookmarklet to your browser you can use to add bookmarks.
Last edited by progandy (2014-05-12 12:37:18)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online
Just stumbled upon this thread - I've been procrastinating today by trying to come up with a better way to manage my bookmarks.
Xyne, did you ever write anything for this?
With a quick dive into python I came up with this ugly mug:
#! /usr/bin/python
import cherrypy
import os
import urllib
home = os.getenv("HOME")
head = """
<html>
<head>
<title>Bookmarks</title>
</head>
<body>
<style>
body{
background: black;
color: white;
}
a{color: white}
#bookmarks{
}
ul{
background: rgb(60,60,60);
}
</style>
<!-- <h1>Bookmarks</h1> -->
<div id="bookmarks">
"""
tail = "</div></body></html>"
def bookmarkpage():
bmlist = []
os.chdir("%s/.bookmarks" % home)
for category in os.listdir():
bmlist.append("<ul style='width:15%%;margin: 2%%;min-height: 100px;padding-bottom: 20px;display:block;float:left;'><h2>%s</h2>" % category)
os.chdir(category)
for page in os.listdir():
fd = open(page)
url = fd.readline()
urlsplit = urllib.parse.urlsplit(url)
ico = "%s://%s/favicon.ico" % (urlsplit[0], urlsplit[1])
bmlist.append("<li style='list-style-image: url(%s)'> <a href='%s'>%s</a></li>" % (ico,url,page))
fd.close()
bmlist.append("</ul>")
os.chdir("..")
return head+"".join(bmlist)+tail
class Bookmarks(object):
def index(self):
return bookmarkpage()
index.exposed = True
cherrypy.quickstart(Bookmarks())
Not pretty, I'm no artist, but I might end up using it if I ever get round to polishing it.
Offline
Pinboard is a hosted service, but it has some nice APIs and you can export your data out of it at any time. Perhaps worth a look if you're willing to fuzz the "no remote servers" line a bit.
Offline
https://github.com/enkore/pypo may suit your needs.
Offline
I made myself this. Code is most likely ugly, but so far it suits my needs.
https://github.com/carnager/robot
He hoped and prayed that there wasn't an afterlife. Then he realized there was a contradiction involved here and merely hoped that there wasn't an afterlife.
Douglas Adams
Offline
@Xyne: I've been wondering about this myself too since I want to keep my bookmarks in sync with folder hierarchy intact (and Firefox on android still doesn't have bookmark folders). Would a UI like the one drafted here ( http://jsbin.com/xijuv/22 <- (Has a horizontal tree output, but looks like single column on mobile phones) Keep in mind that I haven't written the selective bookmark export yet nor the local save. The UI's also a bit messy because parts of it are still unlabeled, like the checkboxes for turning on edit mode and expanding bookmark folders. ) work for you?
For every problem, there is a solution that is:
Clean
Simple and most of all...wrong!
Github page
Offline
I personally use nothing more than...Emacs + Orgmode! The final outcome is this: https://github.com/thiagowfx/open-bookmarks
It is a little manual, but because I want this way. Nothing stops you from creating a couple of elisp functions to automatize this system a little bit. I've tried several approaches in the past to locally store my personal bookmarks, but all of them have failed / have been deprecated from my own usage at some time. However, this one is working perfectly for now.
Last edited by thiagowfx (2014-09-19 21:37:29)
Offline