From c675ce8e264510fd70309794f1f35575f4a8391a Mon Sep 17 00:00:00 2001 From: Arsen Musayelyan Date: Fri, 26 Mar 2021 18:18:05 -0700 Subject: [PATCH] Complete README.md --- README.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f889f77..524ebe2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,94 @@ # simpledash -Simple and fast dashboard with a go backend and a mostly HTML+CSS frontend with a small amount of JS. \ No newline at end of file +Simple and fast dashboard with a go backend and a mostly HTML+CSS frontend with a small amount of JS. + +### Building + +Dependencies: +- sqlite3 (and sqlite3-dev if on debian/ubuntu) +- golang (1.14+) + +To build, simply run `go build` in the repo. + +--- + +### Configuration + +Configuration is done in the `simpledash.toml` file. + +#### Root +The root section is the one not under any header. + +It contains the following fields: + +- `title`: Title used for whole site +- `theme`: Theme used for site, can be light or dark. +- `loginRequired`: Boolean denoting whether login is required to see public cards +- `allowProxy`: Array containing all sites allowed to be proxied by the integrated HTTP proxy + +#### Users + +A user can be added under the `[users]` section like so: +```toml +[users] + [users.admin] + passwordHash = "$2a$10$w00dzQ1PP6nwXLhuzV2pFOUU6m8bcZXtDX3UVxpOYq3fTSwVMqPge" + showPublic = true +``` +`passwordHash` should be a bcrypt hash of the desired password with a cost of 10 (default) +`showPublic` should be a boolean denoting whether public cards should be displayed while signed in + +#### Cards + +A card can either be public or belong to a user. A public card should be added under `[users]` like so: +```toml +[users] + [[users._public_.card]] + type = "weather" + title = "Weather" + data = {"woeid" = "2442047"} +``` + +A card belonging to a user should be added under that user, like so: +```toml + [users.admin] + passwordHash = "$2a$10$w00dzQ1PP6nwXLhuzV2pFOUU6m8bcZXtDX3UVxpOYq3fTSwVMqPge" + showPublic = true + + [[users.admin.card]] + type = "status" + title = "Google" + icon = "ion:logo-google" + desc = "Google search engine. Status card example." + url = "https://www.google.com" +``` + +The configuration for a card consists of up to six things: + +- Type: Type of card to display +- Title: Title to show above card +- Icon: Icon to display on card +- Description: Description for card +- URL: URL to be used inside card +- Data: Extra data for anything not listed + +Icons can be anything found on [Iconify](https://iconify.design) + +There are currently five types of cards included: + +- Simple: Simplest type of card, displays title, icon, description, and URL +- Status: Same as simple but also checks and displays status of URL +- Collection: A card containing multiple links to different sites. Links provided in data field. +- Weather: Display weather using data from Metaweather. Gets location via [WOEIDs](https://nations24.com/world-wide) +- API: Gets JSON data from URL and formats according to `format` field in data. At least part of URL must be inside `allowedProxy` array. + +Examples for each card are included in `simpledash-sample.toml` + +#### Session + +The session cookie name can be set under `[session]` like so: + +```toml +[session] + name = "simpledash-session" +``` \ No newline at end of file