From db99488f5815b026c537f8b3047d731f69643d62 Mon Sep 17 00:00:00 2001 From: Kamal Nasser Date: Mon, 17 Oct 2016 11:41:39 +0300 Subject: [PATCH] Implement a Web UI (#2) * WIP web ui initial commit * update url structure * web ui progress * configure CI to run golint * actually install golint before running it * add a GetTotalPoints() method to database * add templating, better webui config, and a functional site * oops * implement authentication * update README to include documentatin for the web UI * that might not have been necessary after all * update circleci config --- README.md | 39 ++- circle.yml | 10 +- database/main.go | 14 + main.go | 86 +++++- webui/auth.go | 106 +++++++ webui/handlers.go | 61 ++++ webui/main.go | 71 +++++ webui/templating.go | 53 ++++ www/assets/images/favicon.ico | Bin 0 -> 16958 bytes www/assets/images/favicon.png | Bin 0 -> 10840 bytes www/assets/images/plusplus.png | Bin 0 -> 81824 bytes www/assets/javascripts/main.min.js | 1 + www/assets/stylesheets/main.css | 448 +++++++++++++++++++++++++++++ www/templates/footer.html | 12 + www/templates/header.html | 37 +++ www/templates/leaderboard.html | 26 ++ www/templates/unauthed.html | 8 + 17 files changed, 951 insertions(+), 21 deletions(-) create mode 100644 webui/auth.go create mode 100644 webui/handlers.go create mode 100644 webui/main.go create mode 100644 webui/templating.go create mode 100644 www/assets/images/favicon.ico create mode 100644 www/assets/images/favicon.png create mode 100644 www/assets/images/plusplus.png create mode 100644 www/assets/javascripts/main.min.js create mode 100644 www/assets/stylesheets/main.css create mode 100644 www/templates/footer.html create mode 100644 www/templates/header.html create mode 100644 www/templates/leaderboard.html create mode 100644 www/templates/unauthed.html diff --git a/README.md b/README.md index 78e8ce9..8e29f1b 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,8 @@ karmabot is a Slack bot that listens for and performs karma operations (aka upvo 1. `git clone -b v0.1.0 https://github.com/kamaln7/karmabot.git` 2. run `go get` and then `go build` inside the repo's root 1. `cd karmabot` - 1. `go get` - 1. `go build` + 2. `go get` + 3. `go build` ### Download a Pre-built Release @@ -54,13 +54,46 @@ karmabot is a Slack bot that listens for and performs karma operations (aka upvo | option | required? | description | default | | ----------------------- | --------- | ---------------------------------------- | -------------- | | `-token string` | **yes** | slack RTM token | | -| `-debug bool` | no | set debug mode | `false` | +| `-debug bool` | no | set debug mode | `false` | | `-db string` | no | path to sqlite database | `./db.sqlite3` | | `-leaderboardlimit int` | no | the default amount of users to list in the leaderboard | `10` | | `-maxpoints int` | no | the maximum amount of points that users can give/take at once | `6` | +In addition, see the table below for the options related to the web UI. + **example:** `./karmabot -token xoxb-abcdefg` +## Web UI + +karmabot includes an optional web UI. The web UI uses TOTP tokens for authentication. While the token itself would only be valid for 30 seconds, once you have authenticated, you will stay so for 48 hours, after which your session will expire. This is not meant to be a fully-featured advanced authentication system, but rather a simple way to keep off people who do not belong to your Slack team. + +### How to use the Web UI + +#### Requisites + +1. download the `www` directory from the repo's root and place it in a directory that is accessible to karmabot. +2. run `./karmabot -token YOUR_SLACK_TOKEN -webuipath /path/to/www -listenaddr 127.0.0.1:9000`. The initial values do not matter, as they will not be used at all. karmabot will generate a random TOTP key for you to use, print it, and exit. Copy that token. + +#### Start karmabot + +Once you have performed the steps detailed above, pass the necessary options to the `karmabot` binary: + +| option | required? | description | default | +| -------------------- | --------- | ---------------------------------------- | --------------------------------- | +| `-listenaddr string` | **yes** | the address (`host:port`) on which to serve the web UI | | +| `-totp string` | **yes** | the TOTP key (see above) | | +| `-webuipath string` | **yes** | path to the `www` directory (see above) | | +| `-webuiurl string` | no | the URL which karmabot should use to generate links to the web UI | defaults to `-listenaddr`'s value | + + +If done correctly, the web UI should be accessible on the `listenaddr` that you have configured. + +#### Usage + +The web UI is authenticated, so you will have to generate authentication tokens through karmabot. You can access the web UI by typing `karmabot web` in the chat. karmabot will generate a TOTP token, append it to the `webuiurl` and send back the link. Click on the link and you should be authenticated for 48 hours. + +Additionally, you may use also use the link provided in the Slack leaderboard (`karmabot leaderboard`) in order to log in and access the leaderboard. + ## License see [./LICENSE](/LICENSE) diff --git a/circle.yml b/circle.yml index 86be3d3..5a998de 100644 --- a/circle.yml +++ b/circle.yml @@ -2,17 +2,19 @@ machine: environment: PROJECT: $CIRCLE_PROJECT_REPONAME IMPORT_PATH: "github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME" + ROOTDIR: "/home/ubuntu/.go_workspace/src/$IMPORT_PATH" dependencies: override: - - mkdir -p "$GOPATH/src/$IMPORT_PATH" - - rsync -azC --delete ./ "$GOPATH/src/$IMPORT_PATH/" - - cd "$GOPATH/src/$IMPORT_PATH" && go get -t -d -v ./... + - cd $ROOTDIR && go get -t -d -v ./... + post: + - go get github.com/golang/lint/golint test: pre: - go version - go env override: - - cd "$GOPATH/src/$IMPORT_PATH" && go vet ./... + - cd $ROOTDIR && go vet ./... + - cd $ROOTDIR && golint ./... post: - GOOS=linux GOARCH=amd64 go build -o $CIRCLE_ARTIFACTS/$PROJECT.linux.amd64 $IMPORT_PATH # - GOOS=darwin GOARCH=amd64 go build -o $CIRCLE_ARTIFACTS/$PROJECT.darwin.amd64 $IMPORT_PATH diff --git a/database/main.go b/database/main.go index 158dd07..1db8725 100644 --- a/database/main.go +++ b/database/main.go @@ -121,3 +121,17 @@ func GetLeaderboard(limit int) (Leaderboard, error) { return leaderboard, nil } + +// GetTotalPoints returns the amount of points given or taken +// for all users +func GetTotalPoints() (int, error) { + var res int + + err := db.QueryRow("select sum(abs(`points`)) from karma").Scan(&res) + + if err != nil { + return 0, err + } + + return res, nil +} diff --git a/main.go b/main.go index f9b972e..affd7e3 100644 --- a/main.go +++ b/main.go @@ -12,15 +12,21 @@ import ( "github.com/nlopes/slack" "github.com/kamaln7/karmabot/database" + "github.com/kamaln7/karmabot/webui" ) var ( - motivateRegexp = regexp.MustCompile(`^(?:\?|!)m\s+@?([^\s]+?)(?:\:\s)?$`) - karmaRegexp = regexp.MustCompile(`^@?([^\s]+?)(?:\:\s)?([\+]{2,}|[\-]{2,})((?: for)? (.*))?$`) - leaderboardRegexp = regexp.MustCompile(`^karma(?:bot)? (?:leaderboard|top|highscores) ?([0-9]+)?$`) - slackUserRegexp = regexp.MustCompile(`^<@([A-Za-z0-9]+)>$`) + regexps = map[string]*regexp.Regexp{ + "motivate": regexp.MustCompile(`^(?:\?|!)m\s+@?([^\s]+?)(?:\:\s)?$`), + "karma": regexp.MustCompile(`^@?([^\s]+?)(?:\:\s)?([\+]{2,}|[\-]{2,})((?: for)? (.*))?$`), + "leaderboard": regexp.MustCompile(`^karma(?:bot)? (?:leaderboard|top|highscores) ?([0-9]+)?$`), + "url": regexp.MustCompile(`^karma(?:bot)? (?:url|web|link)?$`), + "slackUser": regexp.MustCompile(`^<@([A-Za-z0-9]+)>$`), + } debug bool + hasWebUI bool + webUIURL string maxPoints, leaderboardLimit int bot *slack.Client rtm *slack.RTM @@ -36,12 +42,25 @@ func main() { flagMaxPoints = flag.Int("maxpoints", 6, "the maximum amount of points that users can give/take at once") flagLeaderboardLimit = flag.Int("leaderboardlimit", 10, "the default amount of users to list in the leaderboard") flagDebug = flag.Bool("debug", false, "set debug mode") + flagTOTP = flag.String("totp", "", "totp key") + flagWebUIPath = flag.String("webuipath", "", "path to web UI files") + flagListenAddr = flag.String("listenaddr", "", "address to listen and serve the web ui on") + flagWebUIURL = flag.String("webuiurl", "", "url address for accessing the web ui") ) flag.Parse() maxPoints = *flagMaxPoints leaderboardLimit = *flagLeaderboardLimit debug = *flagDebug + hasWebUI = *flagWebUIPath != "" && *flagListenAddr != "" + if hasWebUI { + if *flagWebUIURL != "" { + webUIURL = *flagWebUIURL + } else { + webUIURL = fmt.Sprintf("http://%s/", *flagListenAddr) + } + } + if *flagToken == "" { ll.Fatalln("please pass the slack RTM token using the -token option") } @@ -55,6 +74,20 @@ func main() { rtm = bot.NewRTM() go rtm.ManageConnection() + if hasWebUI { + webUIConfig := &webui.Config{ + Logger: ll, + TOTPKey: *flagTOTP, + ListenAddr: *flagListenAddr, + FilesPath: *flagWebUIPath, + LeaderboardLimit: leaderboardLimit, + Debug: debug, + } + + webui.Init(webUIConfig) + go webui.Listen() + } + for { select { case msg := <-rtm.IncomingEvents: @@ -86,21 +119,38 @@ func handleMessage(msg slack.RTMEvent) { } // convert motivates into karmabot syntax - if match := motivateRegexp.FindStringSubmatch(ev.Text); len(match) > 0 { + if match := regexps["motivate"].FindStringSubmatch(ev.Text); len(match) > 0 { ev.Text = match[1] + "++ for doing good work" } - if karmaRegexp.MatchString(ev.Text) { + switch { + case regexps["url"].MatchString(ev.Text): + printURL(ev) + + case regexps["karma"].MatchString(ev.Text): givePoints(ev) - } - if leaderboardRegexp.MatchString(ev.Text) { + case regexps["leaderboard"].MatchString(ev.Text): printLeaderboard(ev) } } +func printURL(ev *slack.MessageEvent) { + if !hasWebUI { + rtm.SendMessage(rtm.NewOutgoingMessage("webui not enabled. please pass the `-webuipath`, `-webuiurl`, and `-listenaddr` options in order to enable the web ui", ev.Channel)) + return + } + + token, err := webui.GetToken() + if handleError(err, ev.Channel) { + return + } + + rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("%s?token=%s", webUIURL, token), ev.Channel)) +} + func givePoints(ev *slack.MessageEvent) { - match := karmaRegexp.FindStringSubmatch(ev.Text) + match := regexps["karma"].FindStringSubmatch(ev.Text) if len(match) == 0 { return } @@ -154,7 +204,7 @@ func givePoints(ev *slack.MessageEvent) { } func printLeaderboard(ev *slack.MessageEvent) { - match := leaderboardRegexp.FindStringSubmatch(ev.Text) + match := regexps["leaderboard"].FindStringSubmatch(ev.Text) if len(match) == 0 { return } @@ -167,15 +217,23 @@ func printLeaderboard(ev *slack.MessageEvent) { return } } - text := fmt.Sprintf("top %d leaderboard\n", limit) + + text := fmt.Sprintf("*top %d leaderboard*\n", limit) + + if hasWebUI { + token, err := webui.GetToken() + if err == nil { + text += fmt.Sprintf("%sleaderboard/%d?token=%s\n", webUIURL, limit, token) + } + } leaderboard, err := database.GetLeaderboard(limit) if handleError(err, ev.Channel) { return } - for _, user := range leaderboard { - text += fmt.Sprintf("%s == %d\n", munge(user.User), user.Points) + for i, user := range leaderboard { + text += fmt.Sprintf("%d. %s == %d\n", i+1, munge(user.User), user.Points) } rtm.SendMessage(rtm.NewOutgoingMessage(text, ev.Channel)) @@ -192,7 +250,7 @@ func handleError(err error, to string) bool { } func parseUser(user string) (string, error) { - if match := slackUserRegexp.FindStringSubmatch(user); len(match) > 0 { + if match := regexps["slackUser"].FindStringSubmatch(user); len(match) > 0 { return getUserNameByID(match[1]) } diff --git a/webui/auth.go b/webui/auth.go new file mode 100644 index 0000000..988b7cf --- /dev/null +++ b/webui/auth.go @@ -0,0 +1,106 @@ +package webui + +import ( + "net/http" + "sync" + "time" + + "github.com/pquerna/otp/totp" + "github.com/satori/go.uuid" +) + +type authMiddleware struct { + handler http.Handler +} + +type Client struct { + UUID string + Added time.Time +} + +var ( + authedClients []*Client + clientsMutex sync.RWMutex +) + +func mustAuth(h http.HandlerFunc) *authMiddleware { + return &authMiddleware{http.HandlerFunc(h)} +} + +func (h *authMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request) { + cookie, err := r.Cookie("session") + + if err != nil { + if err != http.ErrNoCookie { + config.Logger.Printf("could not auth user: %s\n", err.Error()) + http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) + + return + } + + err = nil + } + + authed := false + if cookie != nil { + clientsMutex.RLock() + for _, client := range authedClients { + if cookie.Value == client.UUID { + authed = true + break + } + } + clientsMutex.RUnlock() + } + + if !authed && hasValidTOTPToken(r) { + cookie = &http.Cookie{ + Name: "session", + Value: uuid.NewV4().String(), + } + + clientsMutex.Lock() + authedClients = append(authedClients, &Client{ + UUID: cookie.Value, + Added: time.Now(), + }) + clientsMutex.Unlock() + + authed = true + http.SetCookie(w, cookie) + } + + if !authed { + renderTemplate(w, "unauthed.html", &templateData{ + Config: config, + Data: nil, + }) + return + } + + h.handler.ServeHTTP(w, r) +} + +func hasValidTOTPToken(r *http.Request) bool { + token := r.URL.Query().Get("token") + if token == "" { + return false + } + + return totp.Validate(token, config.TOTPKey) +} + +func expireClients() { + for { + <-time.After(2 * time.Minute) + go func() { + now := time.Now() + + for i, client := range authedClients { + if now.Sub(client.Added).Hours() >= 48 { + authedClients = append(authedClients[:i], authedClients[i+1:]...) + } + } + }() + } +} diff --git a/webui/handlers.go b/webui/handlers.go new file mode 100644 index 0000000..f49478b --- /dev/null +++ b/webui/handlers.go @@ -0,0 +1,61 @@ +package webui + +import ( + "net/http" + "strconv" + + "github.com/gorilla/mux" + + "github.com/kamaln7/karmabot/database" +) + +// HomeHandler handles / URLs +func HomeHandler(w http.ResponseWriter, r *http.Request) { + http.Redirect(w, r, "/leaderboard", 302) +} + +type leaderboardPageData struct { + Limit, TotalPoints int + Leaderboard database.Leaderboard +} + +// LeaderboardHandler handles /leaderboard URLs +func LeaderboardHandler(w http.ResponseWriter, r *http.Request) { + var ( + limit int + err error + ) + limitS := mux.Vars(r)["limit"] + + if limitS == "" { + limit = config.LeaderboardLimit + } else { + limit, err = strconv.Atoi(limitS) + + if err != nil { + http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) + return + } + } + + points, err := database.GetTotalPoints() + + leaderboard, err := database.GetLeaderboard(limit) + if err != nil { + config.Logger.Printf("error while generating the leaderbaord (limit %d): %s\n", limit, err.Error()) + + http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) + return + } + + data := &templateData{ + Config: config, + Data: leaderboardPageData{ + Limit: limit, + TotalPoints: points, + Leaderboard: leaderboard, + }, + } + + renderTemplate(w, "leaderboard.html", data) +} diff --git a/webui/main.go b/webui/main.go new file mode 100644 index 0000000..bea4ae3 --- /dev/null +++ b/webui/main.go @@ -0,0 +1,71 @@ +package webui + +import ( + "log" + "net/http" + "path" + "time" + + "github.com/gorilla/mux" + "github.com/pquerna/otp/totp" + //"github.com/gorilla/sessions" +) + +// Config sets the different config options that are +// needed to start the webserver +type Config struct { + Logger *log.Logger + TOTPKey, ListenAddr, FilesPath string + LeaderboardLimit int + Debug bool +} + +var ( + config *Config + router *mux.Router +) + +// Init initiates the web ui config +func Init(c *Config) { + config = c + + if config.TOTPKey == "" { + key, err := totp.Generate(totp.GenerateOpts{ + Issuer: "karmabot", + AccountName: "slack", + }) + + if err != nil { + config.Logger.Fatalf("an error occurred while generating a TOTP key: %s\n", err.Error()) + } else { + config.Logger.Fatalf("please use the following TOTP key (`karmabot -totp `): %s\n", key.Secret()) + } + } + + setupTemplates() + + router = mux.NewRouter() + setupRoutes(router) + go expireClients() +} + +func setupRoutes(r *mux.Router) { + r.Handle("/", mustAuth(HomeHandler)) + r.Handle("/leaderboard", mustAuth(LeaderboardHandler)) + r.Handle(`/leaderboard/{limit:\d+}`, mustAuth(LeaderboardHandler)) + + assetsPath := path.Join(config.FilesPath, "assets") + assetsHandler := http.StripPrefix("/assets/", http.FileServer(http.Dir(assetsPath))) + r.PathPrefix("/assets").Handler(assetsHandler) +} + +// GetToken generates and returns a TOTP token +func GetToken() (string, error) { + return totp.GenerateCode(config.TOTPKey, time.Now()) +} + +// Listen starts the web ui +func Listen() { + config.Logger.Printf("serving webui on %s\n", config.ListenAddr) + config.Logger.Fatal(http.ListenAndServe(config.ListenAddr, router)) +} diff --git a/webui/templating.go b/webui/templating.go new file mode 100644 index 0000000..2a78940 --- /dev/null +++ b/webui/templating.go @@ -0,0 +1,53 @@ +package webui + +import ( + "html/template" + "net/http" + "os" + "path/filepath" + "strings" +) + +type templateData struct { + Config *Config + Data interface{} +} + +var templates *template.Template + +func setupTemplates() { + templ := template.New("") + + err := filepath.Walk(config.FilesPath, func(path string, info os.FileInfo, err error) error { + if strings.HasSuffix(path, ".html") { + _, err = templ.ParseFiles(path) + + if err != nil { + config.Logger.Printf("could not parse template [%s]: %s\n", path, err.Error()) + } + } + + return err + }) + + if err != nil { + config.Logger.Fatalln("could not parse all templates properly. exiting.") + } + + templates = templ +} + +func renderTemplate(w http.ResponseWriter, tmpl string, data *templateData) { + err := templates.ExecuteTemplate(w, tmpl, *data) + + if err != nil { + config.Logger.Printf("could not render template [%s]: %s\n", tmpl, err.Error()) + + out := http.StatusText(http.StatusInternalServerError) + if config.Debug { + out = err.Error() + } + + http.Error(w, out, http.StatusInternalServerError) + } +} diff --git a/www/assets/images/favicon.ico b/www/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f3ed1e6bcdc0325b14650dd5ead1354fbdd51b8e GIT binary patch literal 16958 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 literal 0 HcmV?d00001 diff --git a/www/assets/images/favicon.png b/www/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..a40f3131cf502bdd35e13b90ef90f825c0acb944 GIT binary patch literal 10840 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 JWs=50{{#9Rmm>fG literal 0 HcmV?d00001 diff --git a/www/assets/images/plusplus.png b/www/assets/images/plusplus.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6476ea22b69263324f292bec90d1c704bf441c GIT binary patch literal 81824 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"'\/]/g,function(e){return n[e]})}var t,o=document.querySelectorAll(".code-content"),n={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};for(t=0;t=400&&console.log("There was a connection error of some sort"),t=JSON.parse(this.response).version,o&&(o.innerHTML=o.innerHTML+"
Currently v"+t+""),n.setAttribute("href","https://github.com/milligram/milligram/archive/v"+t+".zip")}var t,o=document.querySelector(".description"),n=document.querySelector(".download"),r=new XMLHttpRequest;o&&n&&(r.open("GET","//raw.githubusercontent.com/milligram/milligram/master/package.json",!0),r.onload=e,r.send())}(); \ No newline at end of file diff --git a/www/assets/stylesheets/main.css b/www/assets/stylesheets/main.css new file mode 100644 index 0000000..1dc77ef --- /dev/null +++ b/www/assets/stylesheets/main.css @@ -0,0 +1,448 @@ +@font-face { + font-family: Gotham Rounded A; + font-style: normal; + font-weight: 300; + src: url(data:application/x-font-woff;base64,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) +} + +@font-face { + font-family: Gotham Rounded B; + font-style: normal; + font-weight: 300; + src: url(data:application/x-font-woff;base64,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) +} + +.wrapper { + display: block; + overflow: hidden; + position: relative; + width: 100% +} + +.wrapper .container { + max-width: 80rem +} + +.wrapper>.container { + padding-bottom: 7.5rem; + padding-top: 7.5rem +} + +.header { + background-color: #f4f5f6; + padding-top: 1rem +} + +@media (min-width: 40rem) { + .header { + padding-top:5rem + } +} + +.header+section { + border-top: 0 +} + +.header .container { + border-top: 0; + padding-bottom: 7.5rem; + padding-top: 7.5rem; + position: relative; + text-align: center +} + +.header .title { + font-family: Gotham Rounded A,Gotham Rounded B,Helvetica Neue,Arial,sans-serif +} + +.header .img { + height: 15rem; + margin-bottom: 2rem +} + +.header .button { + margin-bottom: 4rem; + margin-top: 2rem +} + +@media (min-width: 40rem) { + .header .button { + margin-bottom:4rem; + margin-top: 2rem + } +} + +.navigation { + background: #f4f5f6; + border-bottom: .1rem solid #d1d1d1; + display: block; + height: 5.2rem; + left: 0; + max-width: 100%; + position: fixed; + right: 0; + top: 0; + width: 100%; + z-index: 1 +} + +.navigation .container { + padding-bottom: 0; + padding-top: 0 +} + +.navigation .navigation-list { + list-style: none; + margin-bottom: 0; + margin-right: 5rem +} + +@media (min-width: 80rem) { + .navigation .navigation-list { + margin-right:0 + } +} + +.navigation .navigation-item { + float: left; + margin-bottom: 0; + margin-left: 2.5rem; + position: relative +} + +.navigation .img { + height: 2rem; + position: relative; + top: .3rem +} + +.navigation .navigation-title,.navigation .title { + color: #606c76; + font-family: Gotham Rounded A,Gotham Rounded B,Helvetica Neue,Arial,sans-serif; + position: relative +} + +.navigation .navigation-link,.navigation .navigation-title,.navigation .title { + display: inline; + font-size: 1.6rem; + line-height: 5.2rem; + padding: 0; + text-decoration: none +} + +.navigation .navigation-link.active { + color: #606c76 +} + +.github { + border: 0; + color: #f4f5f6; + fill: #9b4dca; + height: 5.2rem; + position: fixed; + right: 0; + top: 0; + width: 5.2rem; + z-index: 1 +} + +.github:hover .octo-arm { + animation: a .56s infinite +} + +@keyframes a { + 0%,50% { + transform: rotate(0) + } + + 25%,75% { + transform: rotate(-25deg) + } +} + +.popover { + background: #fff; + border: .1rem solid #d1d1d1; + border-radius: .4rem; + display: none; + filter: drop-shadow(0 0 .6rem rgba(0,0,0,.1)); + left: 50%; + min-width: 13.4rem; + position: absolute; + top: 94%; + transform: translateX(-50%) +} + +.popover.popover-open { + display: block +} + +.popover:after,.popover:before { + border: solid transparent; + border-color: transparent; + border-width: 1rem; + content: ' '; + height: 0; + left: 50%; + pointer-events: none; + position: absolute; + right: 1.7rem; + top: 0; + width: 0 +} + +.popover:after { + border-bottom-color: #fff; + transform: translate(-50%,-100%) +} + +.popover:before { + border-bottom-color: #d1d1d1; + transform: translate(-50%,-102%) +} + +.popover .popover-list { + list-style: none; + margin: 0; + padding: 0 +} + +.popover .popover-item { + margin: 0; + padding: 0 +} + +.popover .popover-item:first-child .popover-link { + border-radius: .4rem .4rem 0 0 +} + +.popover .popover-item:last-child .popover-link { + border-bottom-width: 0; + border-radius: 0 0 .4rem .4rem +} + +.popover .popover-link { + border-bottom: .1rem solid #d1d1d1; + color: #606c76; + display: block; + font-size: 1.2rem; + padding: .8rem 2rem; + position: relative; + text-align: center; + text-decoration: none +} + +.popover .popover-link:hover { + background: #9b4dca; + border-bottom-color: #9b4dca; + color: #fff +} + +.share,.share-list,.share-list a { + position: relative; + text-decoration: none +} + +.share-item { + display: inline-block; + margin: 1rem .1rem +} + +.share-dialog { + background-color: #9b4dca; + border-radius: .4rem; + color: #fff; + display: block; + height: 2.2rem; + text-align: center; + width: 5rem +} + +.share-dialog:hover { + background-color: #606c76 +} + +.share-dialog .share-icon { + fill: #fff; + height: 1.5rem +} + +@media (min-width: 40rem) { + .only-mobile { + display:none + } +} + +.prettyprint.code { + border: 0; + border-left: .3rem solid #9b4dca; + color: #655d5d +} + +.prettyprint.code .str { + color: #4b8b8b +} + +.prettyprint.code .kwd { + color: #8464c4 +} + +.prettyprint.code .com { + color: #adadad +} + +.prettyprint.code .typ { + color: #7272ca +} + +.prettyprint.code .lit { + color: #9b4dca +} + +.prettyprint.code .pun { + color: #5485b6 +} + +.prettyprint.code .clo,.prettyprint.code .opn { + color: #f4ecec +} + +.prettyprint.code .atn,.prettyprint.code .tag { + color: #9b4dca +} + +.prettyprint.code .atv { + color: #5485b6 +} + +.prettyprint.code .dec { + color: #b45a3c +} + +.prettyprint.code .var { + color: #ca4949 +} + +.prettyprint.code .fun { + color: #7272ca +} + +.prettyprint.code.lang-md * { + color: #655d5d +} + +.carbonads { + background-color: #f4f5f6; + border-radius: 4px; + color: #606c76; + display: block; + line-height: 1.6; + margin: 0 auto; + margin-bottom: 2rem; + max-width: 33rem; + overflow: hidden; + padding: 1.5rem +} + +.carbonads.carbonads-home { + background-color: #fff; + margin-bottom: 0 +} + +.carbonads span { + display: block; + overflow: hidden +} + +.carbonads .carbon-poweredby,.carbonads .carbon-text { + color: #606c76; + display: block; + float: right; + font-size: 1.2rem; + max-width: 44%; + text-align: left; + width: 44% +} + +@media (min-width: 40rem) { + .carbonads .carbon-poweredby,.carbonads .carbon-text { + max-width:52%; + width: 52% + } +} + +.carbonads .carbon-poweredby { + margin: 0; + margin-top: -2.5rem +} + +.carbonads .carbon-img { + float: left; + margin-right: 1rem +} + +.example { + margin-top: 4rem; + position: relative +} + +.example .example-header { + font-weight: 600; + margin-bottom: .5rem; + margin-top: 1.5rem +} + +.example .column-demo { + background: #d1d1d1; + border-radius: .4rem; + display: block; + font-size: 1rem; + font-weight: 600; + height: 3rem; + letter-spacing: .1rem; + line-height: 3rem; + margin-bottom: 2.5rem; + text-align: center; + text-transform: uppercase +} + +.example.row,.example .row { + margin-bottom: 0 +} + +.example h1,.example h2,.example h3,.example h4,.example h5,.example h6 { + margin-bottom: 1rem +} + +.example .heading-font-size { + color: #999; + font-size: 1.2rem; + letter-spacing: normal +} + +.example form { + margin-bottom: 0 +} + +.button-black { + background-color: #000; + border-color: #000 +} + +.button-black.button-clear,.button-black.button-outline { + color: #000 +} + +.button-large { + font-size: 1.4rem; + height: 4.5rem; + line-height: 4.5rem; + padding: 0 2rem +} + +.button-small { + font-size: .8rem; + height: 2.8rem; + line-height: 2.8rem; + padding: 0 1.5rem +} diff --git a/www/templates/footer.html b/www/templates/footer.html new file mode 100644 index 0000000..5308305 --- /dev/null +++ b/www/templates/footer.html @@ -0,0 +1,12 @@ +
+ + + + + + + diff --git a/www/templates/header.html b/www/templates/header.html new file mode 100644 index 0000000..781aaf3 --- /dev/null +++ b/www/templates/header.html @@ -0,0 +1,37 @@ + + + + karmabot + + + + + + + + +
+ + diff --git a/www/templates/leaderboard.html b/www/templates/leaderboard.html new file mode 100644 index 0000000..8b4c569 --- /dev/null +++ b/www/templates/leaderboard.html @@ -0,0 +1,26 @@ +{{ template "header.html" . }} + +
+
Top {{ .Data.Limit }} Leaderboard
+

{{ .Data.TotalPoints }} karma points were given or taken in total so far.

+
+ + + + + + + + + {{ range $_, $user := .Data.Leaderboard }} + + + + + {{ end }} + +
NamePoints
{{ $user.User | html }}{{ $user.Points }}
+
+
+ +{{ template "footer.html" . }} diff --git a/www/templates/unauthed.html b/www/templates/unauthed.html new file mode 100644 index 0000000..5ba081b --- /dev/null +++ b/www/templates/unauthed.html @@ -0,0 +1,8 @@ +{{ template "header.html" . }} + +
+
Session expired
+

Please re-authenticate by typing karmabot web and clicking on the provided link.

+
+ +{{ template "footer.html" . }}