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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

s^7+!mHII6v6I$?%7f=a@3zhFfyl z3_t#q9(ZA3CH+cz!pRf|ju{G3XG8*>3csq|n>*vi=d+ECUxJtYJXYU&OEFHCufk^1 zQID0ImP^SB1#vbn5R!V-T`MlizVuM%|F7Tpj#RGiKKn9irR4d0yFb3V5b3hM?*KD* z#Ohhc_oyfEZf$H2;590R^ z%NH9j_Lvl6%Er{x*2ebY<*|MHrk-rvwJgQ#ijb4p?ACR!FPO?coM~{#_+i}x87V2L zyq9m^?mhZkIKZUs5%cY3d`A}voVRVWkGa(LzkgP0Ky7#WCfkl5GSk>+&*{;OIiJp8 z;3ItOh(?k5-R9}%Wg=N3PG1*s-S|gGO=P_>XD)M!X|f=L$K&Y^-|QPA`^8tqt-5#X z{!d34UjGMoUa&slW!|I7Vi~~SYRu<*H9_j>w#w@Q=YBT*FnY|hYnk%oa|a%OT%dS^ zVb$}!UCU#BI%&EDvMd!jYIA1x`(xoM8^8QMU$g%C`m%d5Ha}j-FZZwcmM_fHFvstJ zaJR!u{>5>VE|$JoIs5;=_W1o;a{6( zzhk_Sbdgzakc zM{mwp+}Y;Az;UG^fCCc5j^Fd z7t8wj>Gj{a|FGNtnf0?k>r~T}Ffju!O`ppwiY(Lp%J0vf@t)^t(c%lG-K(pr@z zRrw(-nECUHi_(`jlh?Oh%X>Qg-@DmAX77~jsrj#cBHn^CGB}Wbwa<-tA=~`kR4hJj z@?dv~+%w(p4_*7kqf4%Sit0Y9Wa8_rH{IEL`xL$_XV2`fjJP$yYiYr0W{K%3Gj@4R zYf>5*)sNrF1UWR`M6R9V@&ndEqiSlPNZ+ly6Gjezu=N<@G3EN zKiS#LvDf+~r6XJeT@(Zk+z43se%EW?^(u`s)FP5OKK<#ruvX*LqW1;gb1lrxn*%Cj z6s2d}^U_#)!Gw45^UC?_UT+Y$s-C#JX4ku4FRn(f)1T_~z^1pkpWXiL$BGF)YKBHd zVkc9C7#^&4-#DeY{{CKzPww^Y=j(ra&#?W$5}>8Tut09w@+{`n%swl0EQA;gXS3`! zYB}-luSCsT$(-%SJvkaRx^@&at_@6tMWI)XJq)$`EHA7vyd2E%A zhbk{0xN>KUv-TEyHHPE_;U_t4uivyvGO#fEOj+=J^Mz~q$8TH-ofErFD0scC?9PJ@ zEyaB$R%&KZk0WIwR6U*C-A&%>8o<^9urJeF_v?wXJpX17i%+LsCL6S!-;)|0$mMXq zl)ESN^{(Huq;{MC_`9jU_)}lzOoy4Le0HvQ*`{-1<+7FCK^ykf$-ON3l`Grb_p~Gb zM%VwEy-cgVRYwTCuf2X?*L%4WN9SCqepgXA_4?@m4Y7lF7CgwCm-PE)-pbr{Njq7e z&GNml{SHIo)hd&Vf9};T^0C?RO!Bde0!Qz>+&#^&I>Y+*l%DCD9q+|aa=0N+;=_*x zwjVV3>b`3q`ui=rfcfSPf%E%+aI4J!t;w}J?_j^v+XVmr0>@@1pL>|NXkjCFcahc4 zrt~21J7<>3@Sh56s+L~NDs_PAtAHa%heCt((nV807Du>#b`h9x_Jio(?48dKo!sPf z_xlJU!xyPwBeY=HZA?qi}R@hb7nhg7&T6)mQh=JLYzzC=%T9+W&||| zWbEp@>A|vj;)y2nl^R@Ox!2nMKZ^h9&uuwLR8^0EU+3!-{!P~T$IAEp`aYxXsip_R zt6RG++_}{CtcGu1hD406w5Qxl+5GXY`?H?sJee^mm%Yf&xs;`ODj}8C;FeU zK7MV7^x|&sa0ja@hP{(=wr=0zb9WBtc1ANRRC z_Q_9>^+aZG?kdoohYf@AG3ndWZ#FGvz%*ejF^k>hE=@#XTT&~&hYE{!( z)pn>fR_vLPopZ1vn7i+axkKD;$xpWYiyuC+-1Gh`bBb^RYwgV0Md5Z!FaNUMP^K*} zedC0G-tFe={5Gz31rI!n7N@;PnDby8`;W_;C)ccrV2Iqtbn2=ghy5?99}i}S)nD7D zXL7$neVX~NcmI6iWUZ?oy;yoU`S6Lwm#h!y%}7{Lu_?)n_3a@~m9l#+*XRG2%-epk zyNGT6`SvR{kBtl-pZZsA^W5FT!ogvtTQGr*0B4MS@-Wr;!ok@@w|3R#Lpgc zNDkCZ$yD8!Z?F8kLBYYC_l)cFiP}#VW=h>+FS0ey)zgo=erbKHaLM1W57*;oevzqG zZl5-7+IOBcQ-W5k>Z-BpcUl-Qcf*QWc9|Ph%iyI_QwN8A|5T3n zbX{qlGSxRA&nu|zICsNVx2(oc0ZX1!+upO z!3`p-kDX7b-TF+G-PvQZ2?X0X~KliWO zD(q{1r!$rDyl?%gr_Yr+TbSbWfZ+;`oYQ~AOc|X2NvFNIGyB1`> zJ9x@Wtao8x@Z7L@TiNZSoH%^k4jw3cx#xoXhDU4WO>URXvtUh_qCGb!x|~^?^}x3~ zd^;zo*S_3wWrfBa#;{|Sr({p1Fa#O$pP!nz>ETNGjrL4I-xPFqt1a0iTrAhtDClt2 zbj8!lZXF&Twam{a9L?5`67yTIRd@xDE@ypDe>Fs$+4@a&poJi;D_qM?DuQG9C=kLA-~^e7emC-Gm9E#N?zKP zt1hJ~$-693Ho5WD4q0}GO`03-ZLMK*S+Vl7LTFrMx_A3G3vCq>j|jKUd!3(uXHTks)sGk59t*8D^F%Dj z*}glZt1{#8^9i?#x$QrE@o!;&6WhBg+aoRL0*~y=HOtuvOf#~TFY|a& z=J`EeE+YHrycmSzGz|H+{o-d(e_-i zj@UMp6{T(-hWw0dssT&3&-w9Eg@rFD_y2yr{Wt8M_Y}VV!nW~};-SsdY~To6ND#ujudhSmhf|z3*W8aN2BzmCXJVB3x&6EzDNBz;agA^su!n6f~~%M)J(T{!+`U#xk$ z>CW?-)>Fsrg$fua?3HU-e&So|Uyf<}-?N3?zFb}%>nHp>K$=N7{G^rV#O&kV6-$?| zJAUDzZ81;H2Mv3(l1cJhR}_<8Pv>62Fg3bETA4$F-SgO~VqfEvi>fa9FgBQ&@ys;r z2>qtY{r*q#>pKgsEx%(Y(qQ^O=Z;o=?*G3QOFaJU7WY$(&AX5{KQ!&TP~;b#{pF80 zaxpB)k^0m+dBNV-KU6&)>4w_6nsR@gtFxU!=f-Of)2?$_EDZ+oZRS?$C5}P|I5!^R zmSWwKZL)4_xcJehyKb-MXSMrK_^s#uX@3r-0G)}Y?s3BTb$`_Vh{bA8wRL$db_ugF1inJR6>G=Jl%zyd4v~e>Yt7(T{53xYp@pWO064>bS)G{lSGF13z^b|74tzV4%tD!ZE0f>FQZsjTgrH$RqU|JkP!5os{dVM=O@lwjDsBJ)=Pylb`{ zPyK(!x6~9#>;bKNK1rP)058z)7BoFuyt2+J99!y)&-4Z7KY3!p18{@lipVBN&m>=03-}}#B{X(EVe*M&sWB1=S>x~g^L#@NS8C|p+c3RubG_>9t@DmBX)ASpxcYOVSJm|IybNpS2275u z&E92j|Bi^$#l;HSE6s1P*Ry~9Zr8NzTVCG14b$frJ~CJo@b{0>L2Z5S-TVLV-SvO= zNmjcnyQS);^zuiZ{b=;Qd zsBf>{%vpK$CiB82zs$55^=B{y9FpbVw{@<%m>oYOdt%na^JQBvuHW}fX6FB+{2Y9L zy5`64pIKY`*sSi|m%@j;lIA_Pc77G#+^}6QcmLb7$@|zJzZ6mWSo!1%lS!6BxYi+- z!w;KFZ+`6=r6*0(X7KOXS@c=)keQLE@{b>;5!Nte(3{m;ZG%%CS!!CWWN zwkPc{U-tD)E2iXL`ZxDu=El>n-3!j9y>>_snWVSvdTRBrvP6dad${K%Ilky~v5EC@ z*jg*pWOV&n?1jS&4%$pFCH%jydzQ%Ilv-DjCFJAu)i}s&Ny-_;TihqIQUql=8EhVM z{_qw4RLvA>{X~tcL5Y!3JoMh*b196ce;HVtpJYEDefIs^3!Sw^?X@zK?oOY6ZJyGH zKAUSr5(nZIrt~w_YpLqAt2hXp?iDL}bwrcJ(`myxxkVc0TS|TP@7AuiEc&H!X{O4m zUd^Zt>$Uy+4`&A{g|EHFw9z3XGG#^?Ps>gQXO$iQ70V1H794++nDCg-q`LO|J$9o~ zz1cR!8L!Pg@3!50Dfj$-g}01~3tF7NoRFBmDt>2fxZw=ni=0}Ym=7wPE?~ZR|F^ur z?OkCxJ1febKA&{5mBH=7L#ldK`=SakceaJZ+cb&iV;_2(WHx zJeyJT?&L3N(f#~8YwksPtSQm9iCgzlYoo>DNena2d|Gkff#9Eg+S8rBzu!~&&Zk7I zRh-}ZN~lO8^XkK)K5h&5{p3oD{x;)(;o-WE3%kWn>VqY+l7{Ys#%ymME#6oWb=mCfT?slv_FBYrcVFaiN)w zHS1M1exIcWf;jDNnkUrlTrPa9X&= zwC|r>#(UF!SujJ&S2Y&BUJvswxtm)vxXS!_{5mc_K9H91fVw2Uch*3#BY%S`&A%%lwu? z*5!$B5{#cRq<;9ZaI4AZ7!{>9KH1=H_jjb1p8hrW?5@ODGv;}jvNWf-I{)4lcB(sS zh3%xNOk(|KMI=@nQ1oWZ-*%zqa@W?4lbes9oxVruMYFv7<11I*owxbu{V-U~w!~E^ zW7Epc)adCO-mIJZ=c)1XmRjfMt#J%5Vox4^Xu$b%Z;bYmA4hj;mbqwO{BcA^LhAq* z!c({dqUfxt*Icm2J&p{gt>=H< zKB4H$g_~FEOjGuKKDD}U>5BhP&)e>o z?o8_Zdrwf~_$R5od}W+24p#as*S{ZD_I$7`vh-P`?h3uG5BcnClo;O6wE45V-_hoa z&Yp`LQWC94RN@+9B0tKyu3(!H?{qNa;pOfJGaZiSZ27AE``tPIeP6tnuξJ&Bva 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%0Dpwl;KP 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 I=akR{08FKKod5s; literal 0 HcmV?d00001 diff --git a/src/inc/routes/api.mjs b/src/inc/routes/api.mjs index 9db2859..5251cfe 100644 --- a/src/inc/routes/api.mjs +++ b/src/inc/routes/api.mjs @@ -38,7 +38,7 @@ router.get(/^\/api\/p(\/[0-9]+|\/)?(\/[0-9]+)?\/?$/, async (req, res) => { "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
+
+ + +