Skip to content
/ bookmarks Public

a simple self-hosted bookmarking app that can import bookmarks from delicious and chrome

License

Notifications You must be signed in to change notification settings

dyu/bookmarks

Repository files navigation

bookmarks app

a simple self-hosted bookmarking app that can import bookmarks from delicious and chrome

Quickstart

mkdir -p target/standalone && cd target/standalone
wget https://cdn.jsdelivr.net/npm/dyu-bookmarks@0.4.1/bin/bookmarks-linux-standalone-x64.tar.gz
tar -xzf bookmarks-linux-standalone-x64.tar.gz
./start.sh

screenshot

Here's the demo with a matching bookmarklet

To import from delicious and/or chrome, see bookmarks-importer/README.md

Server runtime dependencies

  • jdk7

Desktop runtime dependencies

  • jdk7
  • nwjs 0.19.5 or higher

    (optional, you can launch the app via node bookmarks-ts/chrome-app.js)

Dev requirements

  • node 6.9.0 or higher
  • yarn (npm install -g yarn)
  • jdk7 (at /usr/lib/jvm/java-7-oracle)
  • maven
  • protostuffdb (downloaded below)

Setup

mkdir -p target/data/main
echo "Your data lives in user/ dir.  Feel free to back it up." > target/data/main/README.txt

# download protostuffdb
yarn add protostuffdb@0.20.0 && mv node_modules/protostuffdb/dist/* target/ && rm -f package.json yarn.lock && rm -r node_modules

wget -O target/fbsgen-ds.jar https://repo1.maven.org/maven2/com/dyuproject/fbsgen/ds/fbsgen-ds-fatjar/1.0.10/fbsgen-ds-fatjar-1.0.10.jar
./modules/codegen.sh
mvn install

cd bookmarks-ts
yarn install

Dev mode

# produces a single jar the first time (bookmarks-all/target/bookmarks-all-jarjar.jar)
./run.sh

# on another terminal
cd bookmarks-ts
# serves the ui via http://localhost:8080/
yarn run dev

Production mode

If run.sh is still running, stop that process (ctrl+c)

cd bookmarks-ts
# produces js/assets in bookmarks-ts/dist/
./build.sh
# finally, run your production app
nw .
# or
node chrome-app.js

To setup the bookmarklet

# close the nw window if you ran 'nw .' prior to this
nw . b
# or
node chrome-app.js b

Packaging for desktop (nwjs)

Exec

./scripts/archive.sh

That script generates:

  • target/bookmarks-linux-x64.tar.gz
  • target/bookmarks-win-x64.zip