Go to file
Yann Esposito (Yogsototh) 3476642fbb
Added public feeds to bookmark pages.
- add the link in the header
- add a link in the user page.
2019-09-13 23:17:19 +02:00
app add ExportBookmarks 2019-03-09 22:03:16 -06:00
config Added public feeds to bookmark pages. 2019-09-13 23:17:19 +02:00
purs update deps 2019-08-28 16:45:54 -05:00
src Added public feeds to bookmark pages. 2019-09-13 23:17:19 +02:00
static upgrade to purescript 0.13.3 2019-08-26 23:14:28 -05:00
templates Added public feeds to bookmark pages. 2019-09-13 23:17:19 +02:00
test init 2019-01-30 20:54:47 -06:00
.dockerignore init 2019-01-30 20:54:47 -06:00
.env init 2019-01-30 20:54:47 -06:00
.gitignore simplify docset script 2019-02-06 19:34:43 -06:00
changelog.md init 2019-01-30 20:54:47 -06:00
docker-compose.yml init 2019-01-30 20:54:47 -06:00
Dockerfile init 2019-01-30 20:54:47 -06:00
espial.cabal Added public feeds to bookmark pages. 2019-09-13 23:17:19 +02:00
LICENSE init 2019-01-30 20:54:47 -06:00
Makefile init 2019-01-30 20:54:47 -06:00
package.yaml Added public feeds to bookmark pages. 2019-09-13 23:17:19 +02:00
README.md Update README.md 2019-02-09 14:53:48 -06:00
sample-bookmarks.json init 2019-01-30 20:54:47 -06:00
sample-migrate.sh init 2019-01-30 20:54:47 -06:00
stack.yaml update ghc version 2019-08-26 16:38:38 -05:00
stack.yaml.lock upgrade to purescript 0.13.3 2019-08-26 23:14:28 -05:00

Espial

Espial is an open-source, web-based bookmarking server.

It allows mutiple accounts, but currently intended for self-host scenarios.

The bookmarks are stored in a sqlite3 database, for ease of deployment & maintenence.

The easist way for logged-in users to add bookmarks, is with the "bookmarklet", found on the Settings page.

demo server

log in — username: demo password: demo

https://esp.ae8.org/u:demo

jpg

Server Setup (from source)

  1. Install Stack

    • On POSIX systems, this is usually curl -sSL https://get.haskellstack.org/ | sh
  2. Build executables

    stack build
    
  3. Create the database

    stack exec migration -- createdb --conn espial.sqlite3
    
  4. Create a user

    stack exec migration -- createuser --conn espial.sqlite3 --userName myusername --userPassword myuserpassword
    
  5. Import a bookmark file for a user (optional)

     stack exec migration -- importbookmarks --conn espial.sqlite3 --userName myusername --bookmarkFile sample-bookmarks.json
    
  6. Start a production server:

    stack exec espial -- +RTS -T
    

see config/settings.yml for changing default run-time parameters / environment variables

default app http port: 3000

default ekg http port: 8000

ssl: use reverse proxy

Development

Backend

  • Install the yesod command line tool: stack install yesod-bin --install-ghc

  • Start a development server:

    yesod devel
    

Frontend

  • See purs/ folder

Import Bookmark file format

see sample-bookmarks.json, which contains a JSON array, each line containing a FileBookmark object.

example:

[ {"href":"http://raganwald.com/2018/02/23/forde.html","description":"Forde's Tenth Rule, or, \"How I Learned to Stop Worrying and \u2764\ufe0f the State Machine\"","extended":"","time":"2018-02-26T22:57:20Z","shared":"yes","toread":"yes","tags":"raganwald"},
, {"href":"http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/flags.html","description":"7.6. Flag reference \u2014 Glasgow Haskell Compiler 8.2.2 User's Guide","extended":"-fprint-expanded-synonyms","time":"2018-02-26T21:52:02Z","shared":"yes","toread":"no","tags":"ghc haskell"},
]