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

[ library, mit, web ] [ Propose Tags ]

Espial is an open-source, web-based bookmarking server. - Yesod + sqlite3 - multi-user (w/ privacy scopes) - tags, stars, editing, deleting


[Skip to Readme]
Versions 0.0.1, 0.0.2, 0.0.3, 0.0.4
Change log changelog.md
Dependencies aeson (>=0.11.1 && <2.0), base (>=4.8.2.0 && <4.9 || >=4.9.1.0 && <5), bcrypt (>=0.0.8 && <0.0.12), bytestring (>=0.9 && <0.11), case-insensitive, classy-prelude (>=0.10.2), classy-prelude-conduit (>=0.10.2), classy-prelude-yesod (>=0.10.2 && <1.0 || >=1.1), conduit (>=1.0 && <2.0), containers, data-default, directory (>=1.1 && <1.4), espial, esqueleto, fast-logger (>=2.2 && <2.5), file-embed, foreign-store, hjsmin (>=0.1 && <0.3), hscolour, http-conduit (>=2.1 && <2.3.2), iso8601-time (>=0.1.3 && <0.2.0), monad-control (>=0.3 && <1.1), monad-logger (==0.3.*), mtl, optparse-generic (>=1.2.3), persistent (>=2.0 && <2.8.3), persistent-sqlite (>=2.6.2 && <2.8.2), persistent-template (>=2.0 && <2.8), pretty-show, safe, shakespeare (==2.0.*), template-haskell, text (>=0.11 && <2.0), time, transformers (>=0.2.2), unordered-containers, vector, wai, wai-extra (==3.0.*), wai-logger (>=2.2 && <2.4), warp (>=3.0 && <3.3), yaml (==0.8.*), yesod (>=1.4.3 && <1.7), yesod-auth (>=1.4.0 && <1.7), yesod-core (>=1.4.30 && <1.7), yesod-form (>=1.4.0 && <1.7), yesod-static (>=1.4.0.3 && <1.7) [details]
License MIT
Copyright Copyright (c) 2018 Jon Schoning
Author Jon Schoning
Maintainer jonschoning@gmail.com
Category Web
Home page https://github.com/jonschoning/espial
Bug tracker https://github.com/jonschoning/espial/issues
Source repo head: git clone git://github.com/jonschoning/espial.git
Uploaded by jonschoning at Thu Jun 14 02:35:45 UTC 2018
Distributions NixOS:0.0.4
Executables migration, espial
Downloads 157 total (8 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2018-06-14 [all 3 reports]
Hackage Matrix CI

Modules

  • Application
  • Foundation
  • Handler
    • Handler.Add
    • Handler.Common
    • Handler.Edit
    • Handler.Home
    • Handler.User
  • Import
    • Import.NoFoundation
  • Model
  • ModelCrypto
  • PathPiece
  • Pretty
  • Settings
    • Settings.StaticFiles
  • Types

Flags

NameDescriptionDefaultType
dev

Turn on development settings, like auto-reload templates.

DisabledAutomatic
library-only

Build for use with "yesod devel"

DisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for espial-0.0.2

[back to package description]

Espial

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

Haskell Setup

  1. If you haven't already, install Stack
    • 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"}
]