diff --git a/config/app.php b/config/app.php index 7f8021b..c4a829f 100644 --- a/config/app.php +++ b/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', + ], + ]; diff --git a/public/fonts/fa-dtbl-1-preview.html b/public/fonts/fa-dtbl-1-preview.html index 5824a59..f711d34 100644 --- a/public/fonts/fa-dtbl-1-preview.html +++ b/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"; } @@ -278,7 +280,7 @@
-

fa-dtbl-1 contains 44 glyphs:

+

fa-dtbl-1 contains 45 glyphs:

Toggle Preview Characters
@@ -598,6 +600,19 @@
+
+
+ PpPpPpPpPpPpPpPpPpPp +
+
+ 12141618212436486072 +
+
+ + +
+
+
PpPpPpPpPpPpPpPpPpPp @@ -607,7 +622,7 @@
- +
@@ -620,7 +635,7 @@
- +
@@ -633,7 +648,7 @@
- +
@@ -646,7 +661,7 @@
- +
@@ -659,7 +674,7 @@
- +
@@ -672,7 +687,7 @@
- +
@@ -685,7 +700,7 @@
- +
@@ -698,7 +713,7 @@
- +
@@ -711,7 +726,7 @@
- +
@@ -724,7 +739,7 @@
- +
@@ -737,7 +752,7 @@
- +
@@ -750,7 +765,7 @@
- +
@@ -763,7 +778,7 @@
- +
@@ -776,7 +791,7 @@
- +
@@ -789,7 +804,7 @@
- +
@@ -802,7 +817,7 @@
- +
@@ -815,7 +830,7 @@
- +
@@ -828,7 +843,7 @@
- +
@@ -841,7 +856,7 @@
- +
@@ -854,7 +869,7 @@
- +
diff --git a/public/fonts/fa-dtbl-1.css b/public/fonts/fa-dtbl-1.css index b8e2d47..82e5239 100644 --- a/public/fonts/fa-dtbl-1.css +++ b/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"; } diff --git a/public/fonts/fa-dtbl-1.eot b/public/fonts/fa-dtbl-1.eot index d2f207c..4150ed3 100644 Binary files a/public/fonts/fa-dtbl-1.eot and b/public/fonts/fa-dtbl-1.eot differ diff --git a/public/fonts/fa-dtbl-1.svg b/public/fonts/fa-dtbl-1.svg index 028a445..39940c5 100644 --- a/public/fonts/fa-dtbl-1.svg +++ b/public/fonts/fa-dtbl-1.svg @@ -1,11 +1,11 @@ -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 @@ -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" /> - + - - - - - - - - - - - - - - - - - - - diff --git a/public/fonts/fa-dtbl-1.ttf b/public/fonts/fa-dtbl-1.ttf index e58cb69..6a40acc 100644 Binary files a/public/fonts/fa-dtbl-1.ttf and b/public/fonts/fa-dtbl-1.ttf differ diff --git a/public/fonts/fa-dtbl-1.woff2 b/public/fonts/fa-dtbl-1.woff2 index e70226a..2a11077 100644 Binary files a/public/fonts/fa-dtbl-1.woff2 and b/public/fonts/fa-dtbl-1.woff2 differ diff --git a/resources/assets/fa-config/wanted.ini b/resources/assets/fa-config/wanted.ini index b460844..a63e887 100644 --- a/resources/assets/fa-config/wanted.ini +++ b/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 ; diff --git a/resources/assets/sass/_bootstrap.scss b/resources/assets/sass/_bootstrap.scss index f970e95..a3bf6d8 100644 --- a/resources/assets/sass/_bootstrap.scss +++ b/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"; diff --git a/resources/assets/sass/_funding.scss b/resources/assets/sass/_funding.scss new file mode 100644 index 0000000..814f549 --- /dev/null +++ b/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; + } + } +} diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index 7974758..199fd62 100644 --- a/resources/assets/sass/app.scss +++ b/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 { diff --git a/resources/views/about/donate.blade.php b/resources/views/about/donate.blade.php new file mode 100644 index 0000000..7a6fb96 --- /dev/null +++ b/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') +
+
+
+

Donations

+ +

+ Donations are most welcome, as this is a non-profit endeavour without ads, and keeping it + online is not free. Please use @icon(fa-paypal) PayPal.me to donate. +

+ +

+ The donation gauge below indicates how much money we would need to fully cover the hosting + and domain fees this year. +

+ +
+ + Funding for {{$period}}, target: {{$target}} € + +
+
+ {{$collected}} € +
+
+
+ +

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

+ +

Sponsors

+ +
    +
  • Be the first!
  • +
+
+
+@endsection diff --git a/resources/views/about/faq.blade.php b/resources/views/about/faq.blade.php new file mode 100644 index 0000000..db93d88 --- /dev/null +++ b/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') +
+
+
+

Frequently Asked Questions

+ +
+
How to report bugs?
+
+ You can send us an e-mail, or submit your issues to + our bugtracker. +
+ +
Can I donate?
+
+ Donations are most welcome, please see our donations page. +
+ +
Will there be...?
+
+ 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 bugtracker + for issues marked "TODO", those are planned features. You can also try to add a feature yourself, see below... +
+ +
Is datatable.directory open source?
+
+ Yes. The upstream code is hosted at git.ondrovo.com/MightyPork/datatable.directory, + where you can register and submit issues, comments, and pull requests. +
+ +
How can I contribute?
+
+ If you'd like to help with development, please head over to + our git repository. + We welcome any improvements, ideas, or bug reports. +
+ +
I deleted my table, can I restore it?
+
+ 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. +
+ +
I want to report something illegal / bad
+
+ For now, please send us a feedback e-mail. + A built-in reports system will be added later. +
+ +
What technologies are used?
+
+

+ The server is written in PHP using the Laravel framework. + The data is stored in a PostgreSQL database. + + The front-end is based on Bootstrap 4, + including jQuery Slim, lodash, + the axios HTTP library, + and the reactive JavaScript framework Vue. + We use Webpack to compile and minify JavaScript and SCSS. + + Most icons come from Fork Awesome, using our + Fork Awesome customizer to + exclude unused icons. +

+
+ +
How does it work?
+
+

+ It's complicated, and a great deal of thought went into the database design. +

+ +

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

+
+
+
+
+@endsection diff --git a/resources/views/about/privacy.blade.php b/resources/views/about/privacy.blade.php index fdc47e3..1efddfe 100644 --- a/resources/views/about/privacy.blade.php +++ b/resources/views/about/privacy.blade.php @@ -8,13 +8,22 @@

datatable.directory 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. +

+ +
🍪
+ +

Cookies

+ +

+ We use cookies to track table views, maintain a session, and store some + browser-specific settings.

- We do not share any user data with third parties. + We do not share any data or metrics with third parties.

diff --git a/resources/views/about/terms.blade.php b/resources/views/about/terms.blade.php index 8f42add..c5d9979 100644 --- a/resources/views/about/terms.blade.php +++ b/resources/views/about/terms.blade.php @@ -8,11 +8,36 @@

datatable.directory 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.

+

Usage of the Website

+ +

+ datatable.directory 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. +

+ +

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

+ +

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

+ +

Prohibited Content

+

The following categories of data are prohibited in the directory:

@@ -23,20 +48,10 @@
  • Personal information shared without consent ("doxxing")
  • Racist, sexist, or otherwise offensive content
  • Anything illegal or questionable - (such as links to pirated music, software, cracks, pornography, drug-related content etc.)
  • + (such as links to pirated music, software, cracks, pornography, drug-related content, etc.) -

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

    - -

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

    +

    Abuse

    Site operators reserve the right to hide or delete any objectionable diff --git a/resources/views/layouts/footer.blade.php b/resources/views/layouts/footer.blade.php index ecd8815..3d8ffd3 100644 --- a/resources/views/layouts/footer.blade.php +++ b/resources/views/layouts/footer.blade.php @@ -13,9 +13,11 @@

    diff --git a/resources/views/layouts/main-nav.blade.php b/resources/views/layouts/main-nav.blade.php index d1bc009..aea5eef 100644 --- a/resources/views/layouts/main-nav.blade.php +++ b/resources/views/layouts/main-nav.blade.php @@ -24,33 +24,32 @@
    -