espial alternatives and similar packages
Based on the "Web" category.
Alternatively, view Espial alternatives based on common mentions on social networks and blogs.
-
scotty
Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository) -
haskell-bitmex-rest
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
swagger-petstore
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
servant
Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more! -
neuron
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote) -
haskell-kubernetes
Haskell bindings to the Kubernetes API (via swagger-codegen) -
apecs-gloss
a fast, extensible, type driven Haskell ECS framework for games -
airship
Helium + Webmachine = Airship. A toolkit for building declarative, RESTful web apps. -
digestive-functors
A general way to consume input using applicative functors -
servant-elm
Automatically derive Elm functions to query servant webservices -
tagsoup
Haskell library for parsing and extracting information from (possibly malformed) HTML/XML documents -
kubernetes-client-core
Haskell client for the kubernetes API. A work in progress. -
backprop
Heterogeneous automatic differentiation ("backpropagation") in Haskell -
keera-hails-reactive-htmldom
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications -
engine-io
A Haskell server implementation of the Engine.IO and Socket.IO (1.0) protocols
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of espial or a related project?
README
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.
Also, see the android app for adding bookmarks via an Android Share intent https://github.com/jonschoning/espial-share-android
demo server
log in — username: demo password: demo
Docker Setup
see https://github.com/jonschoning/espial-docker
Server Setup (from source)
Install the Stack executable here:
Build executables
stack build
Create the database
stack exec migration -- createdb --conn espial.sqlite3
Create a user
stack exec migration -- createuser --conn espial.sqlite3 --userName myusername --userPassword myuserpassword
Import a pinboard bookmark file for a user (optional)
stack exec migration -- importbookmarks --conn espial.sqlite3 --userName myusername --bookmarkFile sample-bookmarks.json
Import a firefox bookmark file for a user (optional)
stack exec migration -- importfirefoxbookmarks --conn espial.sqlite3 --userName myusername --bookmarkFile firefox-bookmarks.json
Start a production server:
stack exec espial
Configuration
See config/settings.yml
for changing default run-time parameters & environment variables.
config/settings.yml
is embedded into the app executable when compiled, so after changingconfig/settings.yml
, runstack build
again to apply the new settings.config/settings.yml
values formatted like_env:ENV_VAR_NAME:default_value
can be overridden by the specified environment variable.- Example
_env:PORT:3000
- environment variable
PORT
- default app http port:
3000
- environment variable
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 (pinboard compatible 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"},
]