From 48d631f53612e97f4adb382cdaf5b43f883befb9 Mon Sep 17 00:00:00 2001 From: Flummi Date: Thu, 25 Apr 2019 19:25:38 +0000 Subject: [PATCH] stuff lol --- .gitattributes | 1 + b/.empty | 0 package-lock.json | 56 +++++++++++++++ package.json | 1 + public/css/f0ck.css | 132 +++++++++++++++++++++++++++++++++++ public/css/milligram.min.css | 3 + public/img/f0ck_logo.png | Bin 0 -> 46826 bytes src/inc/routes/api.mjs | 2 +- src/inc/routes/inc/index.mjs | 3 + src/inc/routes/index.mjs | 21 +++++- t/.empty | 0 views/index.html.tpl | 29 ++++++++ 12 files changed, 245 insertions(+), 3 deletions(-) delete mode 100644 b/.empty create mode 100644 public/css/f0ck.css create mode 100644 public/css/milligram.min.css create mode 100644 public/img/f0ck_logo.png create mode 100644 src/inc/routes/inc/index.mjs delete mode 100644 t/.empty create mode 100644 views/index.html.tpl diff --git a/.gitattributes b/.gitattributes index cc1fa38..77d29f5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ *.mjs gitlab-language=javascript +*.tpl gitlab-language=html diff --git a/b/.empty b/b/.empty deleted file mode 100644 index e69de29..0000000 diff --git a/package-lock.json b/package-lock.json index 83377cb..6711bac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "optional": true + }, "cuffeo": { "version": "git+https://gitfap.de/keinBot/cuffeo.git#d55586ce5520d4119fa0900ef15ce8736fc62364", "from": "git+https://gitfap.de/keinBot/cuffeo.git" @@ -13,6 +19,17 @@ "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" }, + "handlebars": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -36,10 +53,49 @@ "long": "^4.0.0" } }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "uglify-js": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.8.tgz", + "integrity": "sha512-GFSjB1nZIzoIq70qvDRtWRORHX3vFkAnyK/rDExc0BN7r9+/S+Voz3t/fwJuVfjppAMz+ceR2poE7tkhvnVwQQ==", + "optional": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" } } } diff --git a/package.json b/package.json index 8e09e59..10dd61e 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "cuffeo": "git+https://gitfap.de/keinBot/cuffeo.git", + "handlebars": "^4.1.2", "mariadb": "^2.0.3" } } diff --git a/public/css/f0ck.css b/public/css/f0ck.css new file mode 100644 index 0000000..6ea1764 --- /dev/null +++ b/public/css/f0ck.css @@ -0,0 +1,132 @@ +/* f0ck.me Stylesheet v2 */ +/* Created in April of 2019 by the notorious and super sexy Alman Abu Ottermann */ +/* This style makes use of the Milligram CSS framework and might not work as expected without! */ +/* Contact: sirx @ f0ck . it */ +/* This style is not meant to be used anywhere else than on f0ck.me or any other f0ck related website! */ + +/*Theming*/ +:root { + --primary-color: #302AE6; + --secondary-color: #536390; + --font-color: #424242; + --bg-color: #090f13; + --heading-color: #292922; +} + +[data-theme="light"] { + --primary-color: #9A97F3; + --secondary-color: #818cab; + --font-color: #e1e1ff; + --bg-color: black; + --heading-color: #818cab; +} +/*End of Theming*/ + +/* Body */ +body { + background-color: var(--bg-color); + color: var(--font-color); +} +/* End of Body */ + +/* Fieldset & Legend +legend { + border-radius: 2px; + background: black; + font-family: monospace; + border: 1px white solid; + color: white; +} + +fieldset { + border: 1px solid white; + padding: 20px; + background: black; +} +End of Fieldset & Legend */ + +/* NAV */ +button { + background: #000101; + border: 1px solid white; + border-radius: 0px; + vertical-align: bottom !important; +} + +img.logo { + height: 48px; +} +/* END OF NAV */ + +/* f0ck Grid! */ +.f0ckgrid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); + grid-gap: 20px; + align-items: stretch; +} + +.f0ckgrid img { + box-shadow: 2px 2px 6px 0px rgb(0, 0, 0); + max-width: 100%; +} +/* End of f0ck Grid! */ + +/* Image Thumbs */ +a img.thumb { + border: 2px solid black; + transition: .1s ease-out; +} + +img.thumb:hover { + box-shadow: 0px 0px 0px 2px #dac8d2; + border-radius: 5px; + transition: .1s ease-in; +} +/* End of Image Thumbs */ + +/* List Styling +ul.f0ck-links { + list-style: none; + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +li.post { + width: 128px; + height: 128px; + margin-top: 5px; + line-height: 128px; + float: left; + margin: 5px; + transition: .1s ease-out; +} + +li.post:hover { + box-shadow: 0px 0px 0px 2px #dac8d2; + border-radius: 5px; + transition: .1s ease-in; +} + +li.post:hover img { +border-radius: 5px; +opacity: 0.8; +} +End of List Styling */ + +/* MISC */ +::-webkit-scrollbar { + width: 12px; +} + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + border-radius: 10px; +} + +::-webkit-scrollbar-thumb { + border-radius: 10px; + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); +} diff --git a/public/css/milligram.min.css b/public/css/milligram.min.css new file mode 100644 index 0000000..1051cbf --- /dev/null +++ b/public/css/milligram.min.css @@ -0,0 +1,3 @@ +*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#606c76;font-family:'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;font-size:1.6em;font-weight:300;letter-spacing:.01em;line-height:1.6}blockquote{border-left:0.3rem solid #d1d1d1;margin-left:0;margin-right:0;padding:1rem 1.5rem}blockquote *:last-child{margin-bottom:0}.button,button,input[type='button'],input[type='reset'],input[type='submit']{background-color:#9b4dca;border:0.1rem solid #9b4dca;border-radius:.4rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;height:3.8rem;letter-spacing:.1rem;line-height:3.8rem;padding:0 3.0rem;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover,button:focus,button:hover,input[type='button']:focus,input[type='button']:hover,input[type='reset']:focus,input[type='reset']:hover,input[type='submit']:focus,input[type='submit']:hover{background-color:#606c76;border-color:#606c76;color:#fff;outline:0}.button[disabled],button[disabled],input[type='button'][disabled],input[type='reset'][disabled],input[type='submit'][disabled]{cursor:default;opacity:.5}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover,input[type='button'][disabled]:focus,input[type='button'][disabled]:hover,input[type='reset'][disabled]:focus,input[type='reset'][disabled]:hover,input[type='submit'][disabled]:focus,input[type='submit'][disabled]:hover{background-color:#9b4dca;border-color:#9b4dca}.button.button-outline,button.button-outline,input[type='button'].button-outline,input[type='reset'].button-outline,input[type='submit'].button-outline{background-color:transparent;color:#9b4dca}.button.button-outline:focus,.button.button-outline:hover,button.button-outline:focus,button.button-outline:hover,input[type='button'].button-outline:focus,input[type='button'].button-outline:hover,input[type='reset'].button-outline:focus,input[type='reset'].button-outline:hover,input[type='submit'].button-outline:focus,input[type='submit'].button-outline:hover{background-color:transparent;border-color:#606c76;color:#606c76}.button.button-outline[disabled]:focus,.button.button-outline[disabled]:hover,button.button-outline[disabled]:focus,button.button-outline[disabled]:hover,input[type='button'].button-outline[disabled]:focus,input[type='button'].button-outline[disabled]:hover,input[type='reset'].button-outline[disabled]:focus,input[type='reset'].button-outline[disabled]:hover,input[type='submit'].button-outline[disabled]:focus,input[type='submit'].button-outline[disabled]:hover{border-color:inherit;color:#9b4dca}.button.button-clear,button.button-clear,input[type='button'].button-clear,input[type='reset'].button-clear,input[type='submit'].button-clear{background-color:transparent;border-color:transparent;color:#9b4dca}.button.button-clear:focus,.button.button-clear:hover,button.button-clear:focus,button.button-clear:hover,input[type='button'].button-clear:focus,input[type='button'].button-clear:hover,input[type='reset'].button-clear:focus,input[type='reset'].button-clear:hover,input[type='submit'].button-clear:focus,input[type='submit'].button-clear:hover{background-color:transparent;border-color:transparent;color:#606c76}.button.button-clear[disabled]:focus,.button.button-clear[disabled]:hover,button.button-clear[disabled]:focus,button.button-clear[disabled]:hover,input[type='button'].button-clear[disabled]:focus,input[type='button'].button-clear[disabled]:hover,input[type='reset'].button-clear[disabled]:focus,input[type='reset'].button-clear[disabled]:hover,input[type='submit'].button-clear[disabled]:focus,input[type='submit'].button-clear[disabled]:hover{color:#9b4dca}code{background:#f4f5f6;border-radius:.4rem;font-size:86%;margin:0 .2rem;padding:.2rem .5rem;white-space:nowrap}pre{background:#f4f5f6;border-left:0.3rem solid #9b4dca;overflow-y:hidden}pre>code{border-radius:0;display:block;padding:1rem 1.5rem;white-space:pre}hr{border:0;border-top:0.1rem solid #f4f5f6;margin:3.0rem 0}input[type='email'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='url'],input[type='color'],input[type='date'],input[type='month'],input[type='week'],input[type='datetime'],input[type='datetime-local'],input:not([type]),textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0.1rem solid #d1d1d1;border-radius:.4rem;box-shadow:none;box-sizing:inherit;height:3.8rem;padding:.6rem 1.0rem;width:100%}input[type='email']:focus,input[type='number']:focus,input[type='password']:focus,input[type='search']:focus,input[type='tel']:focus,input[type='text']:focus,input[type='url']:focus,input[type='color']:focus,input[type='date']:focus,input[type='month']:focus,input[type='week']:focus,input[type='datetime']:focus,input[type='datetime-local']:focus,input:not([type]):focus,textarea:focus,select:focus{border-color:#9b4dca;outline:0}select{background:url('data:image/svg+xml;utf8,') center right no-repeat;padding-right:3.0rem}select:focus{background-image:url('data:image/svg+xml;utf8,')}textarea{min-height:6.5rem}label,legend{display:block;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}fieldset{border-width:0;padding:0}input[type='checkbox'],input[type='radio']{display:inline}.label-inline{display:inline-block;font-weight:normal;margin-left:.5rem}.container{margin:0 auto;max-width:112.0rem;padding:0 2.0rem;position:relative;width:100%}.row{display:flex;flex-direction:column;padding:0;width:100%}.row.row-no-padding{padding:0}.row.row-no-padding>.column{padding:0}.row.row-wrap{flex-wrap:wrap}.row.row-top{align-items:flex-start}.row.row-bottom{align-items:flex-end}.row.row-center{align-items:center}.row.row-stretch{align-items:stretch}.row.row-baseline{align-items:baseline}.row .column{display:block;flex:1 1 auto;margin-left:0;max-width:100%;width:100%}.row .column.column-offset-10{margin-left:10%}.row .column.column-offset-20{margin-left:20%}.row .column.column-offset-25{margin-left:25%}.row .column.column-offset-33,.row .column.column-offset-34{margin-left:33.3333%}.row .column.column-offset-50{margin-left:50%}.row .column.column-offset-66,.row .column.column-offset-67{margin-left:66.6666%}.row .column.column-offset-75{margin-left:75%}.row .column.column-offset-80{margin-left:80%}.row .column.column-offset-90{margin-left:90%}.row .column.column-10{flex:0 0 10%;max-width:10%}.row .column.column-20{flex:0 0 20%;max-width:20%}.row .column.column-25{flex:0 0 25%;max-width:25%}.row .column.column-33,.row .column.column-34{flex:0 0 33.3333%;max-width:33.3333%}.row .column.column-40{flex:0 0 40%;max-width:40%}.row .column.column-50{flex:0 0 50%;max-width:50%}.row .column.column-60{flex:0 0 60%;max-width:60%}.row .column.column-66,.row .column.column-67{flex:0 0 66.6666%;max-width:66.6666%}.row .column.column-75{flex:0 0 75%;max-width:75%}.row .column.column-80{flex:0 0 80%;max-width:80%}.row .column.column-90{flex:0 0 90%;max-width:90%}.row .column .column-top{align-self:flex-start}.row .column .column-bottom{align-self:flex-end}.row .column .column-center{-ms-grid-row-align:center;align-self:center}@media (min-width: 40rem){.row{flex-direction:row;margin-left:-1.0rem;width:calc(100% + 2.0rem)}.row .column{margin-bottom:inherit;padding:0 1.0rem}}a{color:#9b4dca;text-decoration:none}a:focus,a:hover{color:#606c76}dl,ol,ul{list-style:none;margin-top:0;padding-left:0}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{font-size:90%;margin:1.5rem 0 1.5rem 3.0rem}ol{list-style:decimal inside}ul{list-style:circle inside}.button,button,dd,dt,li{margin-bottom:1.0rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}table{border-spacing:0;width:100%}td,th{border-bottom:0.1rem solid #e1e1e1;padding:1.2rem 1.5rem;text-align:left}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}b,strong{font-weight:bold}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:300;letter-spacing:-.1rem;margin-bottom:2.0rem;margin-top:0}h1{font-size:4.6rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:2.8rem;line-height:1.3}h4{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h5{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h6{font-size:1.6rem;letter-spacing:0;line-height:1.4}img{max-width:100%}.clearfix:after{clear:both;content:' ';display:table}.float-left{float:left}.float-right{float:right} + +/*# sourceMappingURL=milligram.min.css.map */ \ No newline at end of file diff --git a/public/img/f0ck_logo.png b/public/img/f0ck_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3b667035c7d57a4ec402e7aacfe0c3b5d82b2349 GIT binary patch literal 46826 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 { "items": [], "last": id }; - rows.forEach((e,i,a) => { + rows.forEach(e => { items.items.push({ "id": e.id, "mime": e.mime diff --git a/src/inc/routes/inc/index.mjs b/src/inc/routes/inc/index.mjs new file mode 100644 index 0000000..768eb0b --- /dev/null +++ b/src/inc/routes/inc/index.mjs @@ -0,0 +1,3 @@ +export const queries = { + items: "select id, mime from f0ck.items order by id desc limit 72" +}; diff --git a/src/inc/routes/index.mjs b/src/inc/routes/index.mjs index bb2f52b..3914ae3 100644 --- a/src/inc/routes/index.mjs +++ b/src/inc/routes/index.mjs @@ -1,5 +1,22 @@ import router from "../router"; +import fs from "fs"; +import sql from "../sql"; +import handlebars from "handlebars"; -router.get(/^\/$/, (req, res) => { - res.end("index lol"); +import { queries } from "./inc/index"; + +const template = fs.readFileSync("./views/index.html.tpl", "utf-8"); + +router.get(/^\/$/, async (req, res) => { + const db = await sql; + res.writeHead(200, { 'Content-Type': 'text/html' }); + + db.query(queries.items) + .then(items => { + const tpl = handlebars.compile(template); + res.end(tpl({ items: items })); + }).catch(err => res.end(JSON.stringify( err ), 'utf-8')); + + /*const tpl = handlebars.compile(template); + res.end(tpl());*/ }); diff --git a/t/.empty b/t/.empty deleted file mode 100644 index e69de29..0000000 diff --git a/views/index.html.tpl b/views/index.html.tpl new file mode 100644 index 0000000..70818b4 --- /dev/null +++ b/views/index.html.tpl @@ -0,0 +1,29 @@ + + + + + + + + f0ck! + + + + + +
+ {{#each items}} + + {{/each}} +
+
+
Made with 666 souls in mind and 2 liters of fresh virgin blood
+
+ + +