From 903defca99d8813afd40f598e9a7822d1c54338b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferdinand=20M=C3=BCtsch?= Date: Sat, 28 Nov 2020 20:31:28 +0100 Subject: [PATCH] fix: commit missing files chore: add favicon --- README.md | 3 +- config.mysql.yml | 21 ++++++++ config.postgres.yml | 22 +++++++++ config.sqlite.yml | 27 ++++++++++ .../assets/images/android-chrome-192x192.png | Bin 0 -> 3866 bytes .../assets/images/android-chrome-512x512.png | Bin 0 -> 13862 bytes static/assets/images/apple-touch-icon.png | Bin 0 -> 3376 bytes static/assets/images/favicon-16x16.png | Bin 0 -> 457 bytes static/assets/images/favicon-32x32.png | Bin 0 -> 710 bytes static/assets/images/favicon.ico | Bin 0 -> 15406 bytes static/assets/images/screenshot.png | Bin 0 -> 38639 bytes static/assets/site.webmanifest | 19 ++++++++ views/head.tpl.html | 5 +- views/header.tpl.html | 6 +++ views/login.tpl.html | 46 ++++++++++++++++++ 15 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 config.mysql.yml create mode 100644 config.postgres.yml create mode 100644 config.sqlite.yml create mode 100644 static/assets/images/android-chrome-192x192.png create mode 100644 static/assets/images/android-chrome-512x512.png create mode 100644 static/assets/images/apple-touch-icon.png create mode 100644 static/assets/images/favicon-16x16.png create mode 100644 static/assets/images/favicon-32x32.png create mode 100644 static/assets/images/favicon.ico create mode 100644 static/assets/images/screenshot.png create mode 100644 static/assets/site.webmanifest create mode 100644 views/header.tpl.html create mode 100644 views/login.tpl.html diff --git a/README.md b/README.md index b17dc20..5cad605 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,8 @@ You can specify configuration options either via a config file (default: `config | `server.base_path` | `WAKAPI_BASE_PATH` | `/` | Web base path (change when running behind a proxy under a sub-path) | | `security.password_salt` | `WAKAPI_PASSWORD_SALT` | - | Pepper to use for password hashing | | `security.insecure_cookies` | `WAKAPI_INSECURE_COOKIES` | `false` | Whether or not to allow cookies over HTTP | -| `security.cookie_max_age` | `WAKAPI_COOKIE_MAX_AGE ` | `172800` | Lifetime of authentication cookies in seconds or `0` to use [Session](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Define_the_lifetime_of_a_cookie) cookies | +| `security.cookie_max_age` | `WAKAPI_COOKIE_MAX_AGE ` | `172800` | Lifetime of authentication cookies in seconds or `0` to use [Session](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Define_the_lifetime_of_a_cookie) cookies +| | `db.host` | `WAKAPI_DB_HOST` | - | Database host | | `db.port` | `WAKAPI_DB_PORT` | - | Database port | | `db.user` | `WAKAPI_DB_USER` | - | Database user | diff --git a/config.mysql.yml b/config.mysql.yml new file mode 100644 index 0000000..0981275 --- /dev/null +++ b/config.mysql.yml @@ -0,0 +1,21 @@ +env: dev +app: + custom_languages: + jsx: JSX + vue: Vue +security: + password_salt: + insecure_cookies: false + cookie_max_age: 172800 +db: + host: localhost + port: 3306 + user: wakapi_user + password: wakapi + name: wakapi_local + dialect: mysql + max_conn: 2 +server: + port: 3000 + listen_ipv4: 127.0.0.1 + base_path: / diff --git a/config.postgres.yml b/config.postgres.yml new file mode 100644 index 0000000..cc5d185 --- /dev/null +++ b/config.postgres.yml @@ -0,0 +1,22 @@ +env: dev +app: + custom_languages: + jsx: JSX + vue: Vue + abc: Fooscript +security: + password_salt: + insecure_cookies: false + cookie_max_age: 172800 +db: + host: localhost + port: 5432 + user: wakapi_user + password: wakapi + name: wakapi_local + dialect: postgres + max_conn: 2 +server: + port: 3000 + listen_ipv4: 127.0.0.1 + base_path: / diff --git a/config.sqlite.yml b/config.sqlite.yml new file mode 100644 index 0000000..51f1aba --- /dev/null +++ b/config.sqlite.yml @@ -0,0 +1,27 @@ +env: development + +server: + listen_ipv4: 127.0.0.1 + port: 3000 + base_path: / + +app: + cleanup: false # only edit, if you know what you're doing + aggregation_time: '02:16' # time at which to run daily aggregation batch jobs + custom_languages: + vue: Vue + jsx: JSX + +db: + host: # leave blank when using sqlite3 + port: # leave blank when using sqlite3 + user: # leave blank when using sqlite3 + password: # leave blank when using sqlite3 + name: wakapi_db.db # database name for mysql / postgres or file path for sqlite (e.g. /tmp/wakapi.db) + dialect: sqlite3 # mysql, postgres, sqlite3 + max_conn: 2 + +security: + password_salt: # CHANGE ! + insecure_cookies: false + cookie_max_age: 172800 diff --git a/static/assets/images/android-chrome-192x192.png b/static/assets/images/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..01256955fc0976ec051baffea0120aabfcfc9dc3 GIT binary patch literal 3866 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 literal 0 HcmV?d00001 diff --git a/static/assets/images/favicon-32x32.png b/static/assets/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..e75223401c9e7fd4c9efce55446ddfb1b926017f GIT binary patch literal 710 zcmV;%0y+JOP)eTeoUcmZyC3S&e~#58y-f@ng~L~G)O5!7&nAPqG}(^#m)DmS7L7L*`u z7k9TaOWfJbbV#}2`uC!{E8A(K26rKGl0TcAGduHT&YsNvigIMAs+u5#Cka1{MuaC- zRZS@E13(XDVw}37NgaVm zi4WlF%zy-N|J6iv0E9Jy1x=e{bnc=AFtv0yG{^6Pqp@3WNXIT{fA91GoOlWT7GQI6 z1xCIIBVWYk;!3;#Thlq{z5Ose>An5fn$E=sP`Nx3Z0@TvI1(Q~b?}-5P`xyKJb?Dg zXk_k!1TeXHrmJW@T!yP~4Ktlt&fooUW94Mh`0M0&tT5uTsDlPm%*Wy(iiZcNrupx*>HJ_ElPZ@OQN8_@Aip?S5MN?TDf? z|LUh;!*3~gXfXwk{#=!XJcXID6kQ+v<@%|FPN`3$^vn9!l>C?9*-S0(nX-YQ`E-P| zQ>&Hy(6JX(S=3SbDnNc?F8r4KZ1{b*?$VA8K}85>?Y~t&5ew42=nyTdTc_|>oYCbQ z(h#=|8BQ!j^u?)UY}ZuMcrY~664~qkpIT?dSHn^nd(HL&jK_Qhs3Y7X9N=E$wgn zC+*{LKXJ8zw4pn5CSP<4yMWJ>xSf}>{~~9u*{*Z`JMF({{kQFN`Jdo>>oV*oz5mOz{uC=;8|NS%|y>2oYt1l1I>-Y|6_Y`9z(x1tOKNJdmC6zQz;I4@0|HH>UKWE#X z!o+tg_s5LW#8~ZpAYFfk^?VdE#IMPnD0tKuqJY+CQiM53;>qkWP2G9wBR z;5|Ys{#|L&8_YoxucY=auPWQ!(NC|h3RA@k5tEiN2U+pgR)p#H$Nj2ol<(iP6E96u z1BXG9*19V#A2{OLfWoHwfV)1nC5!>>+=)BJH#z+w@=#9JIN@8*?s4t;&1{a@yI zEye|TdeG;pS1$N54zMND&hvwRP||-Tum9AWHfF^l_^_{W&R@xM z@}~tq)-Ux2X^c?9M%yp^C9nQlZ+lhwJJ&~O#ZvqIZRS`kU!qZWhuL=A=gq7C2!A_Z z$DqRezQg-U%m2Ie|8%Wi^Z1?qr}Jtr+fVNO&+;WF=S+3cR6Y zn*$oHduf0S2Z<%}N~M`isJ_vIZ>ua|4SL8YQqu1ZdX{^q=x#ETFA9B^5DgK>J z`S(BVy~W_aoLB$)#f>?2k{f>++0Xfz+fUK{|N1%C{Dhs$_#-UyR(L7qZ!Y|`9~`44 z2UljD!#_U!3SH}JbKxr|{C9mFwEpCF`uGs`{1y!jbe1)Kysr-Se?r&0 z+o{ukgF1(9Qity&>gxHBh6lS`@2{|ta?-!pEI4c$^B?cZA@{k>c9sGQmy`Y2vCRg5 zA@4_aS?~$a)ok|<_BM;dZ@wSxv*k+~)_G|QVM))%rA^4smX9=POO@g81c2E@Z~m1&a5;>_ zXDC-r#F!qMZ|wR}eCuGxE@9ONwk2ym)N&pEhNCQ~7H{nMP5|FJ2;N*Aa~ggLZ>!}% R3JYV(g?B!EUIWEy;Qz_P-z@+D literal 0 HcmV?d00001 diff --git a/static/assets/images/screenshot.png b/static/assets/images/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..6d564dda6223f4c3764c879ead4620bd4d8352bb GIT binary patch literal 38639 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
eL?0C-#qN1Xj?EBQL{x44=mGj=C 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 Wc9ew&k3;`F%K0qpOx@|=fBy$xb~QQx literal 0 HcmV?d00001 diff --git a/static/assets/site.webmanifest b/static/assets/site.webmanifest new file mode 100644 index 0000000..aa4b3ab --- /dev/null +++ b/static/assets/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "assets/images/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "assets/images/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/views/head.tpl.html b/views/head.tpl.html index 9dee56e..d2f0aec 100644 --- a/views/head.tpl.html +++ b/views/head.tpl.html @@ -2,7 +2,10 @@ Wakapi – Coding Statistics - + + + + diff --git a/views/header.tpl.html b/views/header.tpl.html new file mode 100644 index 0000000..bb82ded --- /dev/null +++ b/views/header.tpl.html @@ -0,0 +1,6 @@ +
+ + 📊 + Wakapi + +
\ No newline at end of file diff --git a/views/login.tpl.html b/views/login.tpl.html new file mode 100644 index 0000000..358d40c --- /dev/null +++ b/views/login.tpl.html @@ -0,0 +1,46 @@ + + + +{{ template "head.tpl.html" . }} + + + +{{ template "header.tpl.html" . }} + +
+

Login

+
+ +{{ template "alerts.tpl.html" . }} + +
+
+
+
+ + +
+
+ + +
+
+ + + + +
+
+
+
+ +{{ template "footer.tpl.html" . }} + +{{ template "foot.tpl.html" . }} + + + \ No newline at end of file