Browse Source

added a donate and faq page

pull/35/head
Ondřej Hruška 4 years ago
parent
commit
b0f77be93d
Signed by: MightyPork GPG Key ID: 2C5FD5035250423D
  1. 13
      config/app.php
  2. 97
      public/fonts/fa-dtbl-1-preview.html
  3. 41
      public/fonts/fa-dtbl-1.css
  4. BIN
      public/fonts/fa-dtbl-1.eot
  5. 52
      public/fonts/fa-dtbl-1.svg
  6. BIN
      public/fonts/fa-dtbl-1.ttf
  7. BIN
      public/fonts/fa-dtbl-1.woff2
  8. 2
      resources/assets/fa-config/wanted.ini
  9. 2
      resources/assets/sass/_bootstrap.scss
  10. 17
      resources/assets/sass/_funding.scss
  11. 9
      resources/assets/sass/app.scss
  12. 54
      resources/views/about/donate.blade.php
  13. 99
      resources/views/about/faq.blade.php
  14. 17
      resources/views/about/privacy.blade.php
  15. 41
      resources/views/about/terms.blade.php
  16. 8
      resources/views/layouts/footer.blade.php
  17. 49
      resources/views/layouts/main-nav.blade.php
  18. 9
      routes/web.php

13
config/app.php

@ -231,4 +231,17 @@ return [
],
'allow_regs' => env('ALLOW_REGS', true),
'funding' => [
'target_eur' => +env('FUNDING_TARGET_EUR', 60),
'period' => env('FUNDING_PERIOD', date('Y')),
'collected_eur' => +env('FUNDING_COLLECTED_EUR', 0),
],
'href' => [
'git' => 'https://git.ondrovo.com/MightyPork/datatable.directory',
'bugtracker' => 'https://git.ondrovo.com/MightyPork/datatable.directory/issues',
'feedback' => 'mailto:feedback@datatable.directory?subject=Feedback+for+datatable.directory',
],
];

97
public/fonts/fa-dtbl-1-preview.html

@ -185,6 +185,7 @@
.fa-link:before,
.fa-moon-o:before,
.fa-paper-plane-o:before,
.fa-paypal:before,
.fa-pencil:before,
.fa-plus:before,
.fa-question-circle:before,
@ -243,26 +244,27 @@
.fa-link:before { content: "\f115"; }
.fa-moon-o:before { content: "\f116"; }
.fa-paper-plane-o:before { content: "\f117"; }
.fa-pencil:before { content: "\f118"; }
.fa-plus:before { content: "\f119"; }
.fa-question-circle:before { content: "\f11a"; }
.fa-reply:before { content: "\f11b"; }
.fa-sign-in:before { content: "\f11c"; }
.fa-sign-out:before { content: "\f11d"; }
.fa-spinner:before { content: "\f11e"; }
.fa-star:before { content: "\f11f"; }
.fa-star-o:before { content: "\f120"; }
.fa-sun-o:before { content: "\f121"; }
.fa-table:before { content: "\f122"; }
.fa-th-list:before { content: "\f123"; }
.fa-trash-o:before { content: "\f124"; }
.fa-undo:before { content: "\f125"; }
.fa-upload:before { content: "\f126"; }
.fa-user:before { content: "\f127"; }
.fa-user-circle-o:before { content: "\f128"; }
.fa-user-plus:before { content: "\f129"; }
.fa-users:before { content: "\f12a"; }
.fa-wrench:before { content: "\f12b"; }
.fa-paypal:before { content: "\f118"; }
.fa-pencil:before { content: "\f119"; }
.fa-plus:before { content: "\f11a"; }
.fa-question-circle:before { content: "\f11b"; }
.fa-reply:before { content: "\f11c"; }
.fa-sign-in:before { content: "\f11d"; }
.fa-sign-out:before { content: "\f11e"; }
.fa-spinner:before { content: "\f11f"; }
.fa-star:before { content: "\f120"; }
.fa-star-o:before { content: "\f121"; }
.fa-sun-o:before { content: "\f122"; }
.fa-table:before { content: "\f123"; }
.fa-th-list:before { content: "\f124"; }
.fa-trash-o:before { content: "\f125"; }
.fa-undo:before { content: "\f126"; }
.fa-upload:before { content: "\f127"; }
.fa-user:before { content: "\f128"; }
.fa-user-circle-o:before { content: "\f129"; }
.fa-user-plus:before { content: "\f12a"; }
.fa-users:before { content: "\f12b"; }
.fa-wrench:before { content: "\f12c"; }
</style>
<!--[if lte IE 8]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
@ -278,7 +280,7 @@
<body class="characters-off">
<div id="page" class="container">
<header>
<h1>fa-dtbl-1 contains 44 glyphs:</h1>
<h1>fa-dtbl-1 contains 45 glyphs:</h1>
<a onclick="toggleCharacters(); return false;" href="#">Toggle Preview Characters</a>
</header>
@ -598,6 +600,19 @@
</div>
</div>
<div class="glyph">
<div class="preview-glyphs">
<span class="step size-12"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="fa-paypal" class="fa-paypal"></i></span>
</div>
<div class="preview-scale">
<span class="step">12</span><span class="step">14</span><span class="step">16</span><span class="step">18</span><span class="step">21</span><span class="step">24</span><span class="step">36</span><span class="step">48</span><span class="step">60</span><span class="step">72</span>
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-paypal" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf118;" />
</div>
</div>
<div class="glyph">
<div class="preview-glyphs">
<span class="step size-12"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-14"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-16"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-18"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-21"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-24"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-36"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-48"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-60"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span><span class="step size-72"><span class="letters">Pp</span><i id="fa-pencil" class="fa-pencil"></i></span>
@ -607,7 +622,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-pencil" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf118;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf119;" />
</div>
</div>
@ -620,7 +635,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-plus" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf119;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11a;" />
</div>
</div>
@ -633,7 +648,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-question-circle" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11a;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11b;" />
</div>
</div>
@ -646,7 +661,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-reply" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11b;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11c;" />
</div>
</div>
@ -659,7 +674,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-sign-in" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11c;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11d;" />
</div>
</div>
@ -672,7 +687,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-sign-out" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11d;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11e;" />
</div>
</div>
@ -685,7 +700,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-spinner" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11e;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11f;" />
</div>
</div>
@ -698,7 +713,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-star" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf11f;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf120;" />
</div>
</div>
@ -711,7 +726,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-star-o" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf120;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf121;" />
</div>
</div>
@ -724,7 +739,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-sun-o" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf121;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf122;" />
</div>
</div>
@ -737,7 +752,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-table" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf122;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf123;" />
</div>
</div>
@ -750,7 +765,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-th-list" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf123;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf124;" />
</div>
</div>
@ -763,7 +778,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-trash-o" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf124;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf125;" />
</div>
</div>
@ -776,7 +791,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-undo" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf125;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf126;" />
</div>
</div>
@ -789,7 +804,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-upload" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf126;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf127;" />
</div>
</div>
@ -802,7 +817,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-user" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf127;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf128;" />
</div>
</div>
@ -815,7 +830,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-user-circle-o" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf128;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf129;" />
</div>
</div>
@ -828,7 +843,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-user-plus" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf129;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf12a;" />
</div>
</div>
@ -841,7 +856,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-users" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf12a;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf12b;" />
</div>
</div>
@ -854,7 +869,7 @@
</div>
<div class="usage">
<input class="class" type="text" readonly="readonly" onClick="this.select();" value=".fa-wrench" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf12b;" />
<input class="point" type="text" readonly="readonly" onClick="this.select();" value="&amp;#xf12c;" />
</div>
</div>

41
public/fonts/fa-dtbl-1.css

@ -62,23 +62,24 @@
.fa-link::before { content: "\f115"; }
.fa-moon-o::before { content: "\f116"; }
.fa-paper-plane-o::before { content: "\f117"; }
.fa-pencil::before { content: "\f118"; }
.fa-plus::before { content: "\f119"; }
.fa-question-circle::before { content: "\f11a"; }
.fa-reply::before { content: "\f11b"; }
.fa-sign-in::before { content: "\f11c"; }
.fa-sign-out::before { content: "\f11d"; }
.fa-spinner::before { content: "\f11e"; }
.fa-star::before { content: "\f11f"; }
.fa-star-o::before { content: "\f120"; }
.fa-sun-o::before { content: "\f121"; }
.fa-table::before { content: "\f122"; }
.fa-th-list::before { content: "\f123"; }
.fa-trash-o::before { content: "\f124"; }
.fa-undo::before { content: "\f125"; }
.fa-upload::before { content: "\f126"; }
.fa-user::before { content: "\f127"; }
.fa-user-circle-o::before { content: "\f128"; }
.fa-user-plus::before { content: "\f129"; }
.fa-users::before { content: "\f12a"; }
.fa-wrench::before { content: "\f12b"; }
.fa-paypal::before { content: "\f118"; }
.fa-pencil::before { content: "\f119"; }
.fa-plus::before { content: "\f11a"; }
.fa-question-circle::before { content: "\f11b"; }
.fa-reply::before { content: "\f11c"; }
.fa-sign-in::before { content: "\f11d"; }
.fa-sign-out::before { content: "\f11e"; }
.fa-spinner::before { content: "\f11f"; }
.fa-star::before { content: "\f120"; }
.fa-star-o::before { content: "\f121"; }
.fa-sun-o::before { content: "\f122"; }
.fa-table::before { content: "\f123"; }
.fa-th-list::before { content: "\f124"; }
.fa-trash-o::before { content: "\f125"; }
.fa-undo::before { content: "\f126"; }
.fa-upload::before { content: "\f127"; }
.fa-user::before { content: "\f128"; }
.fa-user-circle-o::before { content: "\f129"; }
.fa-user-plus::before { content: "\f12a"; }
.fa-users::before { content: "\f12b"; }
.fa-wrench::before { content: "\f12c"; }

BIN
public/fonts/fa-dtbl-1.eot

Binary file not shown.

52
public/fonts/fa-dtbl-1.svg

@ -1,11 +1,11 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2018-8-10: Created with FontForge (http://fontforge.org)
2018-8-12: Created with FontForge (http://fontforge.org)
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20170805 at Fri Aug 10 18:42:51 2018
Created by FontForge 20170805 at Sun Aug 12 09:25:43 2018
By ondra
The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/OFL). Fork Awesome is a fork based of off Font Awesome 4.7.0 by Dave Gandy. More info on licenses at https://forkawesome.github.io
</metadata>
@ -19,10 +19,10 @@ The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/
panose-1="2 0 5 3 0 0 0 0 0 0"
ascent="1536"
descent="-256"
bbox="-0.202124 -256.168 2048 1536.16"
bbox="-0.470077 -256.168 2048 1536.16"
underline-thickness="89.6"
underline-position="-179.2"
unicode-range="U+0020-F12B"
unicode-range="U+0020-F12C"
/>
<missing-glyph />
<glyph glyph-name="space" unicode=" " horiz-adv-x="200"
@ -112,73 +112,77 @@ c28 1 51 -15 61 -39c11 -25 4 -54 -15 -72c-114 -104 -177 -246 -177 -400c0 -300 24
<glyph glyph-name="paper-plane-o" unicode="&#xf117;" horiz-adv-x="1792"
d="M1764 1525c21 -15 31 -39 27 -64l-256 -1536c-3 -19 -15 -35 -32 -45c-9 -5 -20 -8 -31 -8c-8 0 -16 2 -24 5l-527 215l-298 -327c-12 -14 -29 -21 -47 -21c-8 0 -16 1 -23 4c-25 10 -41 34 -41 60v452l-472 193c-23 9 -38 30 -40 55c-2 24 11 47 32 59l1664 960
c21 13 48 12 68 -2zM1422 26l221 1323l-1434 -827l336 -137l863 639l-478 -797z" />
<glyph glyph-name="pencil" unicode="&#xf118;" horiz-adv-x="1515"
<glyph glyph-name="paypal" unicode="&#xf118;" horiz-adv-x="1519"
d="M1510 890c13 -60 10 -129 -4 -204c-65 -330 -284 -444 -565 -444h-44c-34 0 -62 -25 -68 -59l-4 -19l-55 -346l-2 -15c-7 -34 -35 -59 -69 -59h-251c-28 0 -46 23 -42 51c18 112 35 224 53 336s36 223 54 335c3 24 19 37 43 37c40 0 80 1 131 0c72 -1 155 3 236 21
c108 24 206 68 287 144c73 68 122 152 155 246c15 44 27 88 35 133c2 12 5 10 12 5c55 -41 86 -96 98 -162zM1338 1172c0 -82 -19 -160 -46 -236c-52 -151 -150 -259 -302 -315c-81 -29 -166 -41 -252 -42c-60 -1 -120 0 -180 0c-65 0 -106 -32 -118 -96
c-14 -76 -69 -430 -85 -530c-1 -7 -4 -10 -12 -10h-295c-30 0 -52 26 -48 55l232 1471c6 38 40 67 79 67h598c43 0 142 -19 209 -45c142 -55 220 -167 220 -319z" />
<glyph glyph-name="pencil" unicode="&#xf119;" horiz-adv-x="1515"
d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928c0 13 -9 22 -22 22c-6 0 -12 -2 -17 -7l-542 -542c-5 -5 -7 -11 -7 -17c0 -13 9 -22 22 -22c6 0 12 2 17 7l542 542c5 5 7 11 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024c0 -34 -14 -67 -37 -90
l-166 -166l-416 416l166 165c23 24 56 38 90 38s67 -14 91 -38l235 -234c23 -24 37 -57 37 -91z" />
<glyph glyph-name="plus" unicode="&#xf119;" horiz-adv-x="1408"
<glyph glyph-name="plus" unicode="&#xf11a;" horiz-adv-x="1408"
d="M1408 800v-192c0 -53 -43 -96 -96 -96h-416v-416c0 -53 -43 -96 -96 -96h-192c-53 0 -96 43 -96 96v416h-416c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h416v416c0 53 43 96 96 96h192c53 0 96 -43 96 -96v-416h416c53 0 96 -43 96 -96z" />
<glyph glyph-name="question-circle" unicode="&#xf11a;"
<glyph glyph-name="question-circle" unicode="&#xf11b;"
d="M896 160v192c0 18 -14 32 -32 32h-192c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h192c18 0 32 14 32 32zM1152 832c0 183 -192 320 -364 320c-163 0 -285 -70 -371 -213c-9 -14 -5 -32 8 -42l132 -100c5 -4 12 -6 19 -6c9 0 19 4 25 12c47 60 67 78 86 92
c17 12 50 24 86 24c64 0 123 -41 123 -85c0 -52 -27 -78 -88 -106c-71 -32 -168 -115 -168 -212v-36c0 -18 14 -32 32 -32h192c18 0 32 14 32 32c0 23 29 72 76 99c76 43 180 101 180 253zM1536 640c0 -424 -344 -768 -768 -768s-768 344 -768 768s344 768 768 768
s768 -344 768 -768z" />
<glyph glyph-name="reply" unicode="&#xf11b;" horiz-adv-x="1792"
<glyph glyph-name="reply" unicode="&#xf11c;" horiz-adv-x="1792"
d="M1792 416c0 -140 -70 -323 -127 -451c-11 -23 -22 -55 -37 -76c-7 -10 -14 -17 -28 -17c-20 0 -32 16 -32 35c0 16 4 34 5 50c3 41 5 82 5 123c0 477 -283 560 -714 560h-224v-256c0 -35 -29 -64 -64 -64c-17 0 -33 7 -45 19l-512 512c-12 12 -19 28 -19 45s7 33 19 45
l512 512c12 12 28 19 45 19c35 0 64 -29 64 -64v-256h224c328 0 736 -58 875 -403c42 -106 53 -221 53 -333z" />
<glyph glyph-name="sign-in" unicode="&#xf11c;"
<glyph glyph-name="sign-in" unicode="&#xf11d;"
d="M1184 640c0 -17 -7 -33 -19 -45l-544 -544c-12 -12 -28 -19 -45 -19c-35 0 -64 29 -64 64v288h-448c-35 0 -64 29 -64 64v384c0 35 29 64 64 64h448v288c0 35 29 64 64 64c17 0 33 -7 45 -19l544 -544c12 -12 19 -28 19 -45zM1536 992v-704c0 -159 -129 -288 -288 -288
h-320c-17 0 -32 15 -32 32c0 28 -13 96 32 96h320c88 0 160 72 160 160v704c0 88 -72 160 -160 160h-288c-25 0 -64 -5 -64 32c0 28 -13 96 32 96h320c159 0 288 -129 288 -288z" />
<glyph glyph-name="sign-out" unicode="&#xf11d;" horiz-adv-x="1568"
<glyph glyph-name="sign-out" unicode="&#xf11e;" horiz-adv-x="1568"
d="M640 96c0 -28 13 -96 -32 -96h-320c-159 0 -288 129 -288 288v704c0 159 129 288 288 288h320c17 0 32 -15 32 -32c0 -28 13 -96 -32 -96h-320c-88 0 -160 -72 -160 -160v-704c0 -88 72 -160 160 -160h288c25 0 64 5 64 -32zM1568 640c0 -17 -7 -33 -19 -45l-544 -544
c-12 -12 -28 -19 -45 -19c-35 0 -64 29 -64 64v288h-448c-35 0 -64 29 -64 64v384c0 35 29 64 64 64h448v288c0 35 29 64 64 64c17 0 33 -7 45 -19l544 -544c12 -12 19 -28 19 -45z" />
<glyph glyph-name="spinner" unicode="&#xf11e;" horiz-adv-x="1664"
<glyph glyph-name="spinner" unicode="&#xf11f;" horiz-adv-x="1664"
d="M462 142c0 -70 -57 -128 -128 -128c-70 0 -128 58 -128 128c0 71 58 128 128 128c71 0 128 -57 128 -128zM960 -64c0 -71 -57 -128 -128 -128s-128 57 -128 128s57 128 128 128s128 -57 128 -128zM256 640c0 -71 -57 -128 -128 -128s-128 57 -128 128s57 128 128 128
s128 -57 128 -128zM1458 142c0 -70 -58 -128 -128 -128c-71 0 -128 58 -128 128c0 71 57 128 128 128c70 0 128 -57 128 -128zM494 1138c0 -88 -72 -160 -160 -160s-160 72 -160 160s72 160 160 160s160 -72 160 -160zM1664 640c0 -71 -57 -128 -128 -128s-128 57 -128 128
s57 128 128 128s128 -57 128 -128zM1024 1344c0 -106 -86 -192 -192 -192s-192 86 -192 192s86 192 192 192s192 -86 192 -192zM1554 1138c0 -124 -101 -224 -224 -224c-124 0 -224 100 -224 224c0 123 100 224 224 224c123 0 224 -101 224 -224z" />
<glyph glyph-name="star" unicode="&#xf11f;" horiz-adv-x="1664"
<glyph glyph-name="star" unicode="&#xf120;" horiz-adv-x="1664"
d="M1664 889c0 -18 -13 -35 -26 -48l-363 -354l86 -500c1 -7 1 -13 1 -20c0 -26 -12 -50 -41 -50c-14 0 -28 5 -40 12l-449 236l-449 -236c-13 -7 -26 -12 -40 -12c-29 0 -42 24 -42 50c0 7 1 13 2 20l86 500l-364 354c-12 13 -25 30 -25 48c0 30 31 42 56 46l502 73
l225 455c9 19 26 41 49 41s40 -22 49 -41l225 -455l502 -73c24 -4 56 -16 56 -46z" />
<glyph glyph-name="star-o" unicode="&#xf120;" horiz-adv-x="1664"
<glyph glyph-name="star-o" unicode="&#xf121;" horiz-adv-x="1664"
d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889c0 -18 -13 -35 -26 -48l-363 -354l86 -500c1 -7 1 -13 1 -20c0 -27 -12 -50 -41 -50c-14 0 -28 5 -40 12l-449 236l-449 -236c-13 -7 -26 -12 -40 -12
c-29 0 -42 24 -42 50c0 7 1 13 2 20l86 500l-364 354c-12 13 -25 30 -25 48c0 30 31 42 56 46l502 73l225 455c9 19 26 41 49 41s40 -22 49 -41l225 -455l502 -73c24 -4 56 -16 56 -46z" />
<glyph glyph-name="sun-o" unicode="&#xf121;" horiz-adv-x="1707"
<glyph glyph-name="sun-o" unicode="&#xf122;" horiz-adv-x="1707"
d="M1430 640c0 318 -258 576 -576 576s-576 -258 -576 -576s258 -576 576 -576s576 258 576 576zM1706 363c-3 -10 -11 -17 -20 -20l-292 -96v-306c0 -10 -5 -20 -13 -26c-9 -6 -19 -8 -29 -4l-292 94l-180 -248c-6 -8 -16 -13 -26 -13s-20 5 -26 13l-180 248l-292 -94
c-10 -4 -20 -2 -29 4c-8 6 -13 16 -13 26v306l-292 96c-9 3 -17 10 -20 20s-2 21 4 29l180 248l-180 248c-6 9 -7 19 -4 29s11 17 20 20l292 96v306c0 10 5 20 13 26c9 6 19 8 29 4l292 -94l180 248c12 16 40 16 52 0l180 -248l292 94c10 4 20 2 29 -4c8 -6 13 -16 13 -26
v-306l292 -96c9 -3 17 -10 20 -20s2 -20 -4 -29l-180 -248l180 -248c6 -8 7 -19 4 -29z" />
<glyph glyph-name="table" unicode="&#xf122;" horiz-adv-x="1664"
<glyph glyph-name="table" unicode="&#xf123;" horiz-adv-x="1664"
d="M512 160v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM512 544v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1024 160v192c0 18 -14 32 -32 32h-320
c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM512 928v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1024 544v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192
c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1536 160v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1024 928v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32z
M1536 544v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1536 928v192c0 18 -14 32 -32 32h-320c-18 0 -32 -14 -32 -32v-192c0 -18 14 -32 32 -32h320c18 0 32 14 32 32zM1664 1248v-1088c0 -88 -72 -160 -160 -160
h-1344c-88 0 -160 72 -160 160v1088c0 88 72 160 160 160h1344c88 0 160 -72 160 -160z" />
<glyph glyph-name="th-list" unicode="&#xf123;" horiz-adv-x="1792"
<glyph glyph-name="th-list" unicode="&#xf124;" horiz-adv-x="1792"
d="M512 288v-192c0 -53 -43 -96 -96 -96h-320c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h320c53 0 96 -43 96 -96zM512 800v-192c0 -53 -43 -96 -96 -96h-320c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h320c53 0 96 -43 96 -96zM1792 288v-192c0 -53 -43 -96 -96 -96h-960
c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h960c53 0 96 -43 96 -96zM512 1312v-192c0 -53 -43 -96 -96 -96h-320c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h320c53 0 96 -43 96 -96zM1792 800v-192c0 -53 -43 -96 -96 -96h-960c-53 0 -96 43 -96 96v192c0 53 43 96 96 96
h960c53 0 96 -43 96 -96zM1792 1312v-192c0 -53 -43 -96 -96 -96h-960c-53 0 -96 43 -96 96v192c0 53 43 96 96 96h960c53 0 96 -43 96 -96z" />
<glyph glyph-name="trash-o" unicode="&#xf124;" horiz-adv-x="1408"
<glyph glyph-name="trash-o" unicode="&#xf125;" horiz-adv-x="1408"
d="M512 800v-576c0 -18 -14 -32 -32 -32h-64c-18 0 -32 14 -32 32v576c0 18 14 32 32 32h64c18 0 32 -14 32 -32zM768 800v-576c0 -18 -14 -32 -32 -32h-64c-18 0 -32 14 -32 32v576c0 18 14 32 32 32h64c18 0 32 -14 32 -32zM1024 800v-576c0 -18 -14 -32 -32 -32h-64
c-18 0 -32 14 -32 32v576c0 18 14 32 32 32h64c18 0 32 -14 32 -32zM1152 76v948h-896v-948c0 -48 27 -76 32 -76h832c5 0 32 28 32 76zM480 1152h448l-48 117c-3 4 -12 10 -17 11h-317c-6 -1 -14 -7 -17 -11zM1408 1120v-64c0 -18 -14 -32 -32 -32h-96v-948
c0 -110 -72 -204 -160 -204h-832c-88 0 -160 90 -160 200v952h-96c-18 0 -32 14 -32 32v64c0 18 14 32 32 32h309l70 167c20 49 80 89 133 89h320c53 0 113 -40 133 -89l70 -167h309c18 0 32 -14 32 -32z" />
<glyph glyph-name="undo" unicode="&#xf125;"
<glyph glyph-name="undo" unicode="&#xf126;"
d="M1536 640c0 -423 -345 -768 -768 -768c-229 0 -445 101 -591 277c-10 13 -9 32 2 43l137 138c7 6 16 9 25 9c9 -1 18 -5 23 -12c98 -127 245 -199 404 -199c282 0 512 230 512 512s-230 512 -512 512c-131 0 -255 -50 -348 -137l137 -138c19 -18 24 -46 14 -69
c-10 -24 -33 -40 -59 -40h-448c-35 0 -64 29 -64 64v448c0 26 16 49 40 59c23 10 51 5 69 -14l130 -129c141 133 332 212 529 212c423 0 768 -345 768 -768z" />
<glyph glyph-name="upload" unicode="&#xf126;" horiz-adv-x="1664"
<glyph glyph-name="upload" unicode="&#xf127;" horiz-adv-x="1664"
d="M1280 64c0 35 -29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64s64 29 64 64zM1536 64c0 35 -29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64s64 29 64 64zM1664 288v-320c0 -53 -43 -96 -96 -96h-1472c-53 0 -96 43 -96 96v320c0 53 43 96 96 96h427c27 -74 98 -128 181 -128
h256c83 0 154 54 181 128h427c53 0 96 -43 96 -96zM1339 936c-10 -24 -33 -40 -59 -40h-256v-448c0 -35 -29 -64 -64 -64h-256c-35 0 -64 29 -64 64v448h-256c-26 0 -49 16 -59 40c-10 23 -5 51 14 69l448 448c12 13 29 19 45 19s33 -6 45 -19l448 -448
c19 -18 24 -46 14 -69z" />
<glyph glyph-name="user" unicode="&#xf127;" horiz-adv-x="1280"
<glyph glyph-name="user" unicode="&#xf128;" horiz-adv-x="1280"
d="M1280 137c0 -146 -96 -265 -213 -265h-854c-117 0 -213 119 -213 265c0 263 65 567 327 567c81 -79 191 -128 313 -128s232 49 313 128c262 0 327 -304 327 -567zM1024 1024c0 -212 -172 -384 -384 -384s-384 172 -384 384s172 384 384 384s384 -172 384 -384z" />
<glyph glyph-name="user-circle-o" unicode="&#xf128;" horiz-adv-x="1792"
<glyph glyph-name="user-circle-o" unicode="&#xf129;" horiz-adv-x="1792"
d="M896 1536c495 0 896 -401 896 -896c0 -492 -399 -896 -896 -896c-496 0 -896 403 -896 896c0 495 401 896 896 896zM1515 185c93 128 149 285 149 455c0 423 -345 768 -768 768s-768 -345 -768 -768c0 -170 56 -327 149 -455c36 179 123 327 306 327
c81 -79 191 -128 313 -128s232 49 313 128c183 0 270 -148 306 -327zM1280 832c0 -212 -172 -384 -384 -384s-384 172 -384 384s172 384 384 384s384 -172 384 -384z" />
<glyph glyph-name="user-plus" unicode="&#xf129;" horiz-adv-x="2048"
<glyph glyph-name="user-plus" unicode="&#xf12a;" horiz-adv-x="2048"
d="M704 640c-212 0 -384 172 -384 384s172 384 384 384s384 -172 384 -384s-172 -384 -384 -384zM1664 512h352c17 0 32 -15 32 -32v-192c0 -17 -15 -32 -32 -32h-352v-352c0 -17 -15 -32 -32 -32h-192c-17 0 -32 15 -32 32v352h-352c-17 0 -32 15 -32 32v192
c0 17 15 32 32 32h352v352c0 17 15 32 32 32h192c17 0 32 -15 32 -32v-352zM928 288c0 -70 58 -128 128 -128h256v-238c-49 -36 -111 -50 -171 -50h-874c-160 0 -267 96 -267 259c0 226 53 573 346 573c16 0 27 -7 39 -17c98 -75 193 -122 319 -122s221 47 319 122
c12 10 23 17 39 17c85 0 160 -32 217 -96h-223c-70 0 -128 -58 -128 -128v-192z" />
<glyph glyph-name="users" unicode="&#xf12a;" horiz-adv-x="1920"
<glyph glyph-name="users" unicode="&#xf12b;" horiz-adv-x="1920"
d="M593 640c-104 -3 -198 -48 -265 -128h-134c-100 0 -194 48 -194 159c0 81 -3 353 124 353c21 0 125 -85 260 -85c46 0 90 8 133 23c-3 -22 -5 -44 -5 -66c0 -91 29 -181 81 -256zM1664 3c0 -162 -107 -259 -267 -259h-874c-160 0 -267 97 -267 259c0 226 53 573 346 573
c34 0 158 -139 358 -139s324 139 358 139c293 0 346 -347 346 -573zM640 1280c0 -141 -115 -256 -256 -256s-256 115 -256 256s115 256 256 256s256 -115 256 -256zM1344 896c0 -212 -172 -384 -384 -384s-384 172 -384 384s172 384 384 384s384 -172 384 -384zM1920 671
c0 -111 -94 -159 -194 -159h-134c-67 80 -161 125 -265 128c52 75 81 165 81 256c0 22 -2 44 -5 66c43 -15 87 -23 133 -23c135 0 239 85 260 85c127 0 124 -272 124 -353zM1792 1280c0 -141 -115 -256 -256 -256s-256 115 -256 256s115 256 256 256s256 -115 256 -256z" />
<glyph glyph-name="wrench" unicode="&#xf12b;" horiz-adv-x="1641"
<glyph glyph-name="wrench" unicode="&#xf12c;" horiz-adv-x="1641"
d="M363 64c0 35 -29 64 -64 64s-64 -29 -64 -64s29 -64 64 -64s64 29 64 64zM1007 484l-682 -682c-23 -23 -56 -37 -90 -37s-67 14 -91 37l-106 108c-24 23 -38 56 -38 90s14 67 38 91l681 681c52 -131 157 -236 288 -288zM1641 919c0 -33 -12 -74 -23 -106
c-63 -178 -234 -301 -423 -301c-247 0 -448 201 -448 448s201 448 448 448c73 0 168 -22 229 -63c10 -7 16 -16 16 -28c0 -11 -7 -22 -16 -28l-293 -169v-224l193 -107c33 19 265 165 285 165s32 -15 32 -35z" />
</font>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

BIN
public/fonts/fa-dtbl-1.ttf

Binary file not shown.

BIN
public/fonts/fa-dtbl-1.woff2

Binary file not shown.

2
resources/assets/fa-config/wanted.ini

@ -60,6 +60,8 @@ file-excel-o # CSV button
reply # reply, or back
arrow-left # back
paypal
# Unused
; sliders
;

2
resources/assets/sass/_bootstrap.scss

@ -23,7 +23,7 @@
@import "~bootstrap/scss/badge";
//@import "~bootstrap/scss/jumbotron";
@import "~bootstrap/scss/alert";
//@import "~bootstrap/scss/progress";
@import "~bootstrap/scss/progress";
@import "~bootstrap/scss/media";
@import "~bootstrap/scss/list-group";
@import "~bootstrap/scss/close";

17
resources/assets/sass/_funding.scss

@ -0,0 +1,17 @@
.funding-progress {
height: 2rem;
@extend .box-shadow;
border: 1px solid $success;
.progress-bar {
span {
display: inline-block;
white-space: nowrap;
padding: dist(1);
font-size: 1rem;
color: white;
text-shadow: 0 1px 2px black,
0 1px 2px black;
font-weight: bold;
}
}
}

9
resources/assets/sass/app.scss

@ -5,6 +5,14 @@ html {
overflow-y: scroll;
}
dd {
margin-left: dist(4);
}
dt {
font-size: 1.2rem;
}
@import "helpers";
@import "fa-utils";
@import "block-collapse";
@ -24,6 +32,7 @@ html {
@import "bootstrap-customizations/table";
@import "infobox";
@import "funding";
.bio-table {
td {

54
resources/views/about/donate.blade.php

@ -0,0 +1,54 @@
@extends('layouts.app')
@php
$target = config('app.funding.target_eur');
$collected = config('app.funding.collected_eur');
$period = config('app.funding.period');
$percent = ($collected / $target) * 100;
if ($percent == 0) $percent = 1; // make a bit of the green show up
@endphp
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<h1>Donations</h1>
<p>
Donations are most welcome, as this is a non-profit endeavour without ads, and keeping it
online is not free. Please use <a href="https://www.paypal.me/MightyPork">@icon(fa-paypal) PayPal.me</a> to donate.
</p>
<p>
The donation gauge below indicates how much money we would need to fully cover the hosting
and domain fees this year.
</p>
<div class="m-3">
<b>
Funding for {{$period}}, target: {{$target}}&nbsp;
</b>
<div class="progress funding-progress">
<div class="progress-bar progress-bar-striped bg-success"
role="progressbar" style="width: {{$percent}}%" aria-valuenow="{{$percent}}"
aria-valuemin="0" aria-valuemax="100">
<span>{{$collected}}&nbsp;</span>
</div>
</div>
</div>
<p>
The gauge is updated manually and PayPal is not instant either, so don't worry if it takes a bit
for your donation to show up. If you'd like to be listed as a sponsor, please write it in the
PayPal note.
</p>
<h2>Sponsors</h2>
<ul>
<li class="text-muted">Be the first!</li>
</ul>
</div>
</div>
@endsection

99
resources/views/about/faq.blade.php

@ -0,0 +1,99 @@
@extends('layouts.app')
@php
$target = config('app.funding.target_eur');
$collected = config('app.funding.collected_eur');
$period = config('app.funding.period');
$percent = ($collected / $target) * 100;
if ($percent == 0) $percent = 1; // make a bit of the green show up
@endphp
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<h1>Frequently Asked Questions</h1>
<dl>
<dt>How to report bugs?</dt>
<dd>
You can <a href="{{ config('app.href.feedback') }}">send us an e-mail</a>, or submit your issues to
our <a href="{{ config('app.href.bugtracker') }}">bugtracker</a>.
</dd>
<dt>Can I donate?</dt>
<dd>
Donations are most welcome, please see our <a href="{{route('donate')}}">donations page</a>.
</dd>
<dt>Will there be...?</dt>
<dd>
The answer is likely yes, but keep in mind that this is a hobby project without any budget,
so things tend to go slowly. You can check the <a href="{{ config('app.href.bugtracker') }}">bugtracker</a>
for issues marked "TODO", those are planned features. You can also try to add a feature yourself, see below...
</dd>
<dt>Is datatable.directory open source?</dt>
<dd>
Yes. The upstream code is hosted at <a href="{{ config('app.href.git') }}">git.ondrovo.com/MightyPork/datatable.directory</a>,
where you can register and submit issues, comments, and pull requests.
</dd>
<dt>How can I contribute?</dt>
<dd>
If you'd like to help with development, please head over to
<a href="{{ config('app.href.git') }}">our git repository</a>.
We welcome any improvements, ideas, or bug reports.
</dd>
<dt>I deleted my table, can I restore it?</dt>
<dd>
Tables can't be restored, but there is a chance that your table data could be, if you reach the admin
quickly. If anyone made a fork of your table, you can also simply fork it back.
</dd>
<dt>I want to report something illegal / bad</dt>
<dd>
For now, please send us a <a href="{{ config('app.href.feedback') }}">feedback e-mail</a>.
A built-in reports system will be added later.
</dd>
<dt>What technologies are used?</dt>
<dd>
<p>
The server is written in <a href="http://php.net/">PHP</a> using the <a href="https://laravel.com/">Laravel</a> framework.
The data is stored in a <a href="https://www.postgresql.org/">PostgreSQL</a> database.
The front-end is based on <a href="https://getbootstrap.com/">Bootstrap 4</a>,
including <a href="https://jquery.com/">jQuery Slim</a>, <a href="https://lodash.com/">lodash</a>,
the <a href="https://github.com/axios/axios">axios</a> HTTP library,
and the reactive JavaScript framework <a href="https://vuejs.org/">Vue</a>.
We use <a href="https://webpack.js.org/">Webpack</a> to compile and minify JavaScript and <a href="https://sass-lang.com/">SCSS</a>.
Most icons come from <a href="https://forkawesome.github.io/Fork-Awesome/">Fork Awesome</a>, using our
<a href="https://git.ondrovo.com/MightyPork/fork-awesome-customizer">Fork Awesome customizer</a> to
exclude unused icons.
</p>
</dd>
<dt>How does it work?</dt>
<dd>
<p>
It's complicated, and a great deal of thought went into the database design.
</p>
<p>
A key thing to know is that table rows and revisions are immutable, and work in a way
a bit similar to Git, except we don't actually use Git, it's all in the database.
Rows and columns have unique IDs that ensure a change proposal (merge request) can be applied to any
fork of a table, and in any revision. A row change results in a new copy of the row being created,
but maintaining the original row ID. Columns are, likewise, identified by their IDs; names are defined
only in the revision object (a "header" of a table version), so changing a column name or order does not
alter the row data in any way.
</p>
</dd>
</dl>
</div>
</div>
@endsection

17
resources/views/about/privacy.blade.php

@ -8,13 +8,22 @@
<p>
<i>datatable.directory</i> does not collect anything beyond what users
themselves enter into the application, plus limited data from OAuth providers
to facilitate social logins. User IP addresses and other technical data may be
temporarily written to the server log for debugging purposes.
themselves enter into the application, plus limited data from OAuth2 providers
to facilitate social logins. User IP addresses and other technical info may be
written to the temporary server log.
</p>
<div class="float-right m-2 mt-1 ml-3 no-mobile" style="font-size: 5em">🍪</div>
<h2>Cookies</h2>
<p>
We use cookies to track table views, maintain a session, and store some
browser-specific settings.
</p>
<p>
We do not share any user data with third parties.
We do not share any data or metrics with third parties.
</p>
</div>
</div>

41
resources/views/about/terms.blade.php

@ -8,11 +8,36 @@
<p>
<i>datatable.directory</i> is provided free of charge to the public
with the expectation of being a useful development tool for sharing
with the expectation of being a useful (not only) development tool for sharing
tables of structured data. The website hosts user-provided content
and disclaims any responsibility for the correctness of this data.
</p>
<h2>Usage of the Website</h2>
<p>
<i>datatable.directory</i> is meant as an alternative to sites like GitHub Gist
or Pastebin, and serves a similar purpose, that is, the sharing of data with others.
It is not a CDN, and it is not meant to be used by bots or scripts. Updating a table
with a script is allowed, but keep in mind that we maintain all historical revisions,
so updating a table too often may put a strain on the server. Think of it like
a GitHub optimized for tables, except on a much smaller server.
</p>
<p>
Please do not try to upload very large datasets (i.e. over 10.000 entries),
such as star catalogs, or the unicode character map, which are already
available elsewhere. These are generally better served by dedicated websites.
</p>
<p>
Further, we ask you to refrain from using the export API excessively, or scraping our
table pages, when the results are invariant and can be cached. Excessive
requests may result in blacklisting to protect the server.
</p>
<h2>Prohibited Content</h2>
<p>
The following categories of data are prohibited in the directory:
</p>
@ -23,20 +48,10 @@
<li>Personal information shared without consent ("doxxing")</li>
<li>Racist, sexist, or otherwise offensive content</li>
<li>Anything illegal or questionable
(such as links to pirated music, software, cracks, pornography, drug-related content etc.)</li>
(such as links to pirated music, software, cracks, pornography, drug-related content, etc.)</li>
</ul>
<p>
Please do not try to upload very large datasets (i.e. over 10.000 entries),
such as star catalogs, or the unicode character map, which are already
available elsewhere. These are generally better served by dedicated websites.
</p>
<p>
Further, we ask users to refrain from abusing the API or scraping the table pages
when the results are invariant and can be easily cached. Excessive requests
may result in user or IP ban to protect the server.
</p>
<h2>Abuse</h2>
<p>
Site operators reserve the right to hide or delete any objectionable

8
resources/views/layouts/footer.blade.php

@ -13,9 +13,11 @@
<nav class="ml-auto d-block">
<h3 class="sr-only">Useful links:</h3>
<ul class="sr-list">
<li><a href="/about/privacy" class="ml-2">Privacy</a>
<li><a href="/about/terms" class="ml-2">Terms</a>
<li><a href="mailto:admin@datatable.directory?subject=Feedback" class="ml-2">Contact</a>
<li><a href="{{ route('privacy') }}" class="ml-2">Privacy</a>
<li><a href="{{ route('terms') }}" class="ml-2">Terms</a>
<li><a href="{{ route('faq') }}" class="ml-2">FAQ</a>
<li><a href="{{ route('donate') }}" class="ml-2">Donate</a>
<li><a href="{{ config('app.href.feedback') }}" class="ml-2">Feedback</a>
</ul>
</nav>
</nav>

49
resources/views/layouts/main-nav.blade.php

@ -24,33 +24,32 @@
</button>
<div class="noscript-hide">
<div class="collapse navbar-collapse" id="mainNavContent">
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest()
@include('layouts.guest-buttons')
@else
{{-- Logged in --}}
@include('layouts.nav-buttons', ['dropdown' => false])
<li class="nav-item dropdown no-mobile">
<a id="mainNavDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" v-pre>
@icon(fa-user-circle-o fa-pr){{--
--}}{{ user()->title }} <span class="caret"></span>
</a>
<div class="collapse navbar-collapse" id="mainNavContent">
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest()
@include('layouts.guest-buttons')
@else
{{-- Logged in --}}
@include('layouts.nav-buttons', ['dropdown' => false])
<li class="nav-item dropdown no-mobile">
<a id="mainNavDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false" v-pre>
@icon(fa-user-circle-o fa-pr){{--
--}}{{ user()->title }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="mainNavDropdown">
@include('layouts.nav-buttons', ['dropdown' => true])
</div>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="mainNavDropdown">
@include('layouts.nav-buttons', ['dropdown' => true])
</div>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</li>
@endif
</ul>
</div>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</li>
@endif
</ul>
</div>
</div>
<noscript>

9
routes/web.php

@ -21,6 +21,15 @@ Route::get('/about/privacy', function () {
return view('about.privacy');
})->name('privacy');
Route::get('/about/faq', function () {
return view('about.faq');
})->name('faq');
Route::get('/about/donate', function () {
return view('about.donate');
})->name('donate');
Route::get('/', 'DashController@view')->name('dash');
// redirect home to user home

Loading…
Cancel
Save