added a donate and faq page

This commit is contained in:
2018-08-12 10:23:51 +02:00
parent 94fc84615c
commit b0f77be93d
18 changed files with 379 additions and 131 deletions
+2
View File
@@ -60,6 +60,8 @@ file-excel-o # CSV button
reply # reply, or back
arrow-left # back
paypal
# Unused
; sliders
;
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+13 -4
View File
@@ -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>
+28 -13
View File
@@ -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
+5 -3
View File
@@ -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>
+24 -25
View File
@@ -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])
<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>
<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>