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/[email protected]/bin/bookmarks-linux-standalone-x64.tar.gz
tar -xzf bookmarks-linux-standalone-x64.tar.gz
./start.sh
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
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 [email protected] && 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