new license and terms of service

This commit is contained in:
Avris 2021-09-07 20:01:52 +02:00
parent 5edff7eb59
commit 536952d283
19 changed files with 149 additions and 196 deletions

48
LICENSE.md Normal file
View File

@ -0,0 +1,48 @@
# Opinionated Queer License v1.0
<small>(OQL-1.0)</small>
© Copyright [Andrea Prusinowsku](https://avris.it), [Kolektyw „Rada Języka Neutralnego”](https://zaimki.pl/kolektyw-rjn)
## Permissions
The creators of this Work (“The Licensor”) grant permission, except as prohibited below,
to any individual, group, organization, charity, business entity or university (“The User”),
to use, copy, modify, merge, publish, and distribute the Work, including software, its source code, documentation, and non-software content,
subject to the following conditions:
## Obligations
The User must give appropriate credit to the Licensor,
provide a copy of this license or a link to this license,
and indicate if and what kind of changes were made.
The User may do so in any reasonable manner,
but not in any way that suggests the Licensor endorses the User or their use.
## Prohibitions
No individual or entity may use this Work for prejudiced or bigoted purposes, including but not limited to:
racism, xenophobia, queerphobia, queer exclusionism, homophobia, transphobia, enbyphobia, misogyny.
No law enforcement, carceral institutions, immigration enforcement entities, military entities, or military contractors
may use the Work for any reason.
No business entity where the ratio of pay (salaried, freelance, stocks, or other benefits)
between the highest and lowest individual in the entity is greater than 50 : 1
may use the Work for any reason.
Unless the User has made substantial changes in the Work,
or uses it only as a part of a new work (eg. as a library, as a part of an anthology, etc.),
they are prohibited from selling the Work.
## Sanctions
If the Licensor notifies the User that they have not complied with the rules of the license,
they can keep their license by complying within 30 days after the notice.
If they do not do so, their license ends immediately.
## Warranty
This Work is provided “as is”, without warranty of any kind, express or implied.
The Licensor will not be liable to anyone for any damages related to the Work or this license,
under any kind of legal claim as far as the law allows.

View File

@ -1,4 +1,4 @@
# Zaimki
# Zaimki.pl / Pronouns.page
## Build Setup
@ -19,6 +19,5 @@ $ nuxt start
```
## Copyright
* **Author:** Andrea [(Avris.it)](https://avris.it)
* **Licence:** [MIT](https://mit.avris.it)
See [LICENSE](./LICENSE.md)

View File

@ -469,9 +469,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Der Quellcode} ist unter der {https://mit.avris.it=MIT} [mit.svg] Lizenz veröffentlicht.<br/>
Das Inhalt unter der {https://creativecommons.org/licenses/by-nc-sa/4.0=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Der Quellcode} und das Inhalt sind unter der {/license=OQL 1.0} Lizenz veröffentlicht.
links: 'Kontakt, Social Media, Support'
notFound:

View File

@ -574,9 +574,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Source code} is licensed under {https://mit.avris.it=MIT} [mit.svg].<br/>
Content is licensed under {https://creativecommons.org/licenses/by-nc-sa/4.0=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Source code} and content are licensed under {/license=OQL 1.0}.
links: 'Contact, social media, support'
notFound:

View File

@ -482,9 +482,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=El código fuente} está publicado bajo la licencia {https://mit.avris.it=MIT} [mit.svg].<br/>
El contenido está publicado bajo la licencia {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.es=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=El código fuente} y el contenido estan publicado bajo la licencia {/license=OQL 1.0}.
links: 'Contacto, redes sociales, apoyo'
notFound:

View File

@ -476,9 +476,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Source code} est sous la licence {https://mit.avris.it=MIT} [mit.svg].<br/>
Le contenu est sous la licence {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Kod źródłowy} et le contenu sont sous licence {/license=OQL 1.0}.
links: 'Contact, réseaux sociaux, soutien'
notFound:

View File

@ -465,9 +465,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Source De broncode wordt} onder de {https://mit.avris.it=MIT}-licentie [mit.svg].<br/>
De inhoud wordt onder de {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.nl=CC BY-NC-SA 4.0}-licentie
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=De broncode} en inhoud vallen onder de {/license=OQL 1.0} licentie.
links: 'Contact, sociale media, support'
notFound:

View File

@ -476,9 +476,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Source code} er lisensiert under {https://mit.avris.it=MIT} [mit.svg].<br/>
Innholdet er lisensiert under {https://creativecommons.org/licenses/by-nc-sa/4.0=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Kildekode} og Innholdet er lisensiert under {/license=OQL 1.0} lisensen.
links: 'Kontakt, sosiale medier, hjelp'
notFound:

View File

@ -1139,11 +1139,8 @@ crud:
loginRequired: '{/konto=Zaloguj się}, aby zgłosić wpis'
footer:
source: 'Kod jest {https://gitlab.com/Avris/Zaimki=udostępniony} na licencji {https://mit.avris.it=MIT}.'
license: >
{https://gitlab.com/Avris/Zaimki=Kod źródłowy} jest udostępniony na licencji {https://mit.avris.it=MIT} [mit.svg].<br/>
Treści są udostępnione na licencji {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.pl=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Kod źródłowy} oraz treści są udostępnione na licencji {/license=OQL 1.0}.
links: 'Kontakt, social media, wsparcie'
notFound:

View File

@ -478,11 +478,8 @@ crud:
loginRequired: 'Faça {/conta=login} para participar do nosso banco de dados'
footer:
source: 'O código fonte está {https://gitlab.com/Avris/Zaimki=publicado} baixo da licença {https://mit.avris.it=MIT}.'
license: >
{https://gitlab.com/Avris/Zaimki=Source code} is licensed under {https://mit.avris.it=MIT} [mit.svg].<br/>
Content is licensed under {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.pt=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=O código-fonte} e o conteúdo são licenciados sob a licença {/license=OQL 1.0}.
links: 'Contato, redes sociais, apoio'
notFound:

View File

@ -489,9 +489,7 @@ crud:
footer:
license: >
{https://gitlab.com/Avris/Zaimki=Source code} is licensed under {https://mit.avris.it=MIT} [mit.svg].<br/>
Content is licensed under {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.yi=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Source code} and content are licensed under {/license=OQL 1.0}.
links: 'Contact, social media, support'
notFound:

View File

@ -448,11 +448,8 @@ crud:
saved: '更改保存成功'
footer:
source: '源代碼{https://gitlab.com/Avris/Zaimki=以}{https://mit.avris.it=MIT}許可發布。'
license: >
{https://gitlab.com/Avris/Zaimki=Source code} is licensed under {https://mit.avris.it=MIT} [mit.svg].<br/>
Content is licensed under {https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh=CC BY-NC-SA 4.0}
[b:creative-commons][b:creative-commons-by][b:creative-commons-nc-eu][b:creative-commons-sa].
{https://gitlab.com/Avris/Zaimki=Source code} and content are licensed under {/license=OQL 1.0}.
links: '通訊錄, 社交媒體, 支持'
notFound:

View File

@ -253,6 +253,7 @@ export default {
routes.push({path: '/' + config.user.route, component: resolve(__dirname, 'routes/user.vue')});
routes.push({path: '/' + config.user.termsRoute, component: resolve(__dirname, 'routes/terms.vue')});
}
routes.push({ path: '/license', component: resolve(__dirname, 'routes/license.vue') });
routes.push({ path: '/admin', component: resolve(__dirname, 'routes/admin.vue') });
if (config.profile.enabled) {

View File

@ -20,31 +20,11 @@
<script>
import { head } from "../src/helpers";
import parseMarkdown from '../src/parseMarkdown';
export default {
async asyncData({route}) {
try {
const content = '<div>' + (await import(`../data/blog/${route.params.slug}.md`)).default
.replace(/<table>/g, '<div class="table-responsive"><table class="table table-striped small">')
.replace(/<\/table>/g, '</table></div>')
.replace(/<a href="http/g, '<a target="_blank" rel="noopener" href="http')
+ '</div>'
;
const titleMatch = content.match('<h1[^>]*>([^<]+)</h1>');
const title = titleMatch ? titleMatch[1] : null;
const imgMatch = content.match('<img src="([^"]+)"[^>]*>');
const img = imgMatch ? imgMatch[1] : null;
return {
content,
title,
img,
}
} catch {
return {
content: null,
};
}
return parseMarkdown((await import(`../data/blog/${route.params.slug}.md`)).default);
},
head() {
return head({

30
routes/license.vue Normal file
View File

@ -0,0 +1,30 @@
<template>
<div v-else class="blog-post">
<div v-html="content"></div>
<Separator icon="heart"/>
<Support/>
<section>
<Share :title="title"/>
</section>
</div>
</template>
<script>
import { head } from "../src/helpers";
import parseMarkdown from '../src/parseMarkdown';
export default {
async asyncData() {
return parseMarkdown((await import(`../LICENSE.md`)).default)
},
head() {
return head({
title: this.title,
banner: this.img,
});
},
};
</script>

View File

@ -5,25 +5,25 @@
<T>terms.header</T>
</h2>
<p class="small"><em><T>terms.lastUpdate</T>: 2021-01-26</em></p>
<p class="small"><em><T>terms.lastUpdate</T>: 2021-09-12</em></p>
<p>
These Terms of Service govern your access to and use of the Service provided on the website
<strong>pronouns.page / zaimki.pl</strong> operated by a team
<strong>pronouns.page / zaimki.pl</strong> operated by the Neutral Language Council collective
who can be contacted via email: <a href="mailto:contact@pronouns.page" target="_blank" rel="noopener">contact@pronouns.page</a>.
</p>
<p>
By using the Services you agree to be bound by these Terms of Service and you consent
to us collecting and processing your data as described in our Privacy Policy.
to us collecting and processing your data as described in our Privacy Policy below.
</p>
<h3>Users and accounts</h3>
<p>
When you create an account with us, you are responsible for safeguarding the password
that you use to access the Service, whether your password is with our Service or a third-party service.
You agree not to disclose your password to any third party.
When you create an account with us, you are responsible for safeguarding the authentication method
that you use to access the Service (that is: password to your email account and/or social media platform).
You agree not to disclose it to any third party.
You must notify us immediately when you become aware of any breach of security or unauthorized use of your account.
</p>
@ -61,30 +61,45 @@
<p>
We make every effort to store your data securely and to ensure that any non-public data we store
are not seized by or transfered to any third party, except those trusted parties described below.
are not seized by or transferred to any third party, except those trusted parties described below.
</p>
<p>
Other than the data that you explicitly post on the Service as Content,
no additional private data is being stored or processed.
Other than the data that you explicitly post on the Service as Content
or share with us implicitly (eg. OAuth access tokens, if you use social login options),
no additional private data connected to your account is being stored or processed.
</p>
<p>You may edit or remove any Content you have posted on the Service.</p>
<p>When you contact us by email we store your email address in order to answer you and to ask you follow-up questions.</p>
<p>We only use a first-party cookie to keep you logged in.</p>
<p>We only use first-party cookies and local storage to keep you logged in and save your preferences.</p>
<p>
We use Matomo to track traffic on the website. Such data has no relation to your username, and your IP is anonymised.
You can read more about the data it stores <a href="https://matomo.org/faq/general/faq_18254/" target="_blank" rel="noopener">here</a>
and about the cookies it uses <a href="https://matomo.org/faq/general/faq_146/" target="_blank" rel="noopener">here</a>.
You can read more about the data it stores
<a href="https://matomo.org/faq/general/faq_18254/" target="_blank" rel="noopener">here</a>
and about the cookies it uses
<a href="https://matomo.org/faq/general/faq_146/" target="_blank" rel="noopener">here</a>.
</p>
<p>
We use arc.io to cover the costs of website maintenance without introducing ads.
You can read more about them and their privacy policy
<a href="https://arc.io/faq" target="_blank" rel="noopener">here</a>.
</p>
<p>
We use hCaptcha to filter out bots and prevent DDoS attacks.
You can read their privacy policy
<a href="https://www.hcaptcha.com/privacy" target="_blank" rel="noopener">here</a>.
</p>
<p>Logs and backups are stored for no longer than 18 months.</p>
<p>
Your personal data are protected by the GDPR, which means you can request
Your personal data are protected by the GDPR, which means you have the right
to see, correct, update and remove the data we store about you.
</p>

View File

@ -5,7 +5,9 @@ export default [
'xenophobia',
'homophobia',
'transphobia',
'enbyphobia',
'queerphobia',
'queer exclusionism',
'misogyny',
'harassment',
'impersonation',

25
src/parseMarkdown.js Normal file
View File

@ -0,0 +1,25 @@
export default async function parseMarkdown(markdown) {
try {
const content = '<div>' +
markdown
.replace(/<table>/g, '<div class="table-responsive"><table class="table table-striped small">')
.replace(/<\/table>/g, '</table></div>')
.replace(/<a href="http/g, '<a target="_blank" rel="noopener" href="http')
+ '</div>'
;
const titleMatch = content.match('<h1[^>]*>([^<]+)</h1>');
const title = titleMatch ? titleMatch[1] : null;
const imgMatch = content.match('<img src="([^"]+)"[^>]*>');
const img = imgMatch ? imgMatch[1] : null;
return {
content,
title,
img,
}
} catch {
return {
content: null,
};
}
}

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg2"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="New document 1">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective10" />
<inkscape:perspective
id="perspective2884"
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
inkscape:vp_z="1 : 0.5 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 0.5 : 1"
sodipodi:type="inkscape:persp3d" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="133.47561"
inkscape:cy="115.06217"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="876"
inkscape:window-height="684"
inkscape:window-x="7"
inkscape:window-y="299"
inkscape:window-maximized="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-796.36218)">
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:15.34917164;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3685"
sodipodi:cx="132.32999"
sodipodi:cy="134.78169"
sodipodi:rx="113.13708"
sodipodi:ry="109.09647"
d="m 245.46706,134.78169 a 113.13708,109.09647 0 1 1 0,-0.002"
transform="matrix(1.0572285,0,0,1.0930227,-12.041291,777.54782)"
sodipodi:start="0"
sodipodi:end="6.2831679"
sodipodi:open="true" />
<g
id="g3676"
transform="matrix(1.1629563,0,0,1.1629563,-17.521998,-165.38579)">
<path
sodipodi:nodetypes="cc"
transform="translate(0,796.36218)"
id="path2890"
d="m 60,102.07143 0,79.28571"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3664"
d="m 87.321429,102.25 0,51.78571"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3666"
d="m 114.46429,102.07143 0.17857,79.10714"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3668"
d="m 141.60714,102.07143 0.17857,16.96428"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3670"
d="m 168.92857,129.39286 0.17857,51.96428"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3672"
d="m 160.53571,110.46429 44.10715,0.17857"
style="fill:none;stroke:#9c0000;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
transform="translate(0,796.36218)"
id="path3674"
d="m 141.78571,129.39286 0,51.78571"
style="fill:none;stroke:#7c7d7e;stroke-width:14.1879797;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB