packages feed

espial-0.0.5: README.md

# 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](https://i.imgur.com/y8PE0Ul.png)



## Haskell Setup

1. If you haven't already, [install Stack](https://haskell-lang.org/get-started)
	* On POSIX systems, this is usually `curl -sSL https://get.haskellstack.org/ | sh`
2. Install the `yesod` command line tool: `stack install yesod-bin --install-ghc`

## Espial Setup

1. Build executables
 
    ```
    stack build
    ```

2. Create the database

    ```
    stack exec migration -- createdb --conn espial.sqlite3
    ```

3. Create a user

    ```
    stack exec migration -- createuser --conn espial.sqlite3 --userName myusername --userPassword myuserpassword
    ```

4. Import a bookmark file for a user (optional)

    ```
     stack exec migration -- importbookmarks --conn espial.sqlite3 --userName myusername --bookmarkFile sample-bookmarks.json
    ```

5. Start a development server:

    ```
    stack exec -- yesod devel
    ```

6. Start a production server:

    ```
    stack exec espial
    ```

## Import Bookmark file format

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

example:

```
[ {"href":"http:\/\/mqtt.org\/","description":"MQTT","extended":"long description","time":"2018-02-25T21:22:42Z","shared":"yes","toread":"no","tags":"mqtt"}
, {"href":"http:\/\/mqtt.com\/","description":"MQTT","extended":"big  description","time":"2019-02-25T21:22:42Z","shared":"yes","toread":"no","tags":"mqtt"}
]

```