/
guidelines.js
406 lines (382 loc) · 16.1 KB
/
guidelines.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
import React, { useState } from "react";
import * as System from "~/components/system";
import * as Constants from "~/common/constants";
import { css } from "@emotion/react";
import WebsitePrototypeWrapper from "~/components/core/WebsitePrototypeWrapper";
import WebsitePrototypeHeader from "~/components/core/WebsiteHeader";
import WebsitePrototypeFooter from "~/components/core/WebsiteFooter";
const STYLES_ROOT = css`
width: 100%;
height: 100%;
min-height: 100vh;
background-color: ${Constants.semantic.bgLight};
color: ${Constants.semantic.textGrayDark};
`;
const STYLES_CONTAINER = css`
max-width: 1080px;
margin: 0 auto;
padding: 160px 24px;
position: relative;
@media (max-width: ${Constants.sizes.mobile}px) {
max-width: 480px;
padding: 96px 16px;
}
`;
const STYLES_H1 = css`
font-size: ${Constants.typescale.lvl5};
font-family: ${Constants.font.medium};
font-weight: 400;
line-height: 1.3;
padding: 0px gutterpx 16px gutterpx;
letter-spacing: -0.021rem;
width: 100%;
color: ${Constants.system.grayDark6};
@media (max-width: ${Constants.sizes.tablet}px) {
font-size: ${Constants.typescale.lvl4};
}
@media (max-width: ${Constants.sizes.mobile}px) {
font-size: ${Constants.typescale.lvl3};
}
`;
const STYLES_H2 = css`
font-size: ${Constants.typescale.lvl3};
font-family: ${Constants.font.medium};
font-weight: 400;
line-height: 1.3;
letter-spacing: -0.019rem;
margin-top: 24px;
width: 100%;
color: ${Constants.system.grayDark6};
@media (max-width: ${Constants.sizes.tablet}px) {
font-size: ${Constants.typescale.lvl2};
}
`;
const STYLES_CONTENT_BLOCK1 = css`
width: 40%;
position: -webkit-sticky;
position: sticky;
top: 120px;
@media (max-width: ${Constants.sizes.mobile}px) {
position: relative;
top: 0;
width: 100%;
}
`;
const STYLES_CONTENT_BLOCK2 = css`
margin: -244px 0 0 auto;
width: 55%;
@media (max-width: ${Constants.sizes.mobile}px) {
margin: 48px 0 0 0;
width: 100%;
}
`;
const STYLES_LIST = css`
list-style-type: none;
font-family: ${Constants.font.text};
font-weight: 400;
font-size: ${Constants.typescale.lvl1};
letter-spacing: -0.011rem;
line-height: 1.5;
margin: 4px 0 0 16px;
opacity: 0.7;
padding: 0;
`;
const STYLES_LINK = css`
text-decoration: none;
transition: 200ms ease none;
color: ${Constants.system.grayDark6};
:hover {
color: ${Constants.system.blue};
}
:active {
color: ${Constants.system.blue};
}
:visited {
color: ${Constants.system.grayDark6};
}
`;
const STYLES_COPY_EMAIL = css`
display: inline;
color: ${Constants.system.green};
`;
export function CopyEmail() {
const [copySuccess, setCopySuccess] = useState("");
function copyToClipboard() {
navigator.clipboard.writeText("legal@slate.host");
setCopySuccess(" copied!");
}
return (
<div css={STYLES_COPY_EMAIL}>
<a onClick={copyToClipboard}>legal@slate.host</a>
{copySuccess}
</div>
);
}
export default class GuidelinesPage extends React.Component {
render() {
const title = `Slate: Community Guidelines`;
const description =
"We believe that our mission is best served in an environment that is friendly, safe, and accepting.";
const url = "https://slate.host/guidelines";
return (
<WebsitePrototypeWrapper title={title} description={description} url={url}>
<WebsitePrototypeHeader />
<div css={STYLES_ROOT}>
<div css={STYLES_CONTAINER}>
<div css={STYLES_CONTENT_BLOCK1}>
<h1 css={STYLES_H1}>Community Guidelines</h1>
<br />
<System.P1>In this page</System.P1>
<ul css={STYLES_LIST}>
<li>
<a css={STYLES_LINK} href="#Friendly Harassment-Free Space">
Friendly Harassment-Free Space
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Avoid Marketing or Soliciting">
Avoid Marketing or Soliciting
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Reporting Violations of this Code of Conduct">
Reporting Violations of this Code of Conduct
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Copyright Violations">
Copyright Violations
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Consequences">
Consequences
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Addressing Grievances">
Addressing Grievances
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Contact Info">
Contact Info
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Changes">
Changes
</a>
</li>
<li>
<a css={STYLES_LINK} href="#Credit and License">
Credit and License
</a>
</li>
</ul>
</div>
<div css={STYLES_CONTENT_BLOCK2}>
<System.P1>
We believe that our mission is best served in an environment that is friendly, safe,
and accepting; free from intimidation or harassment. Towards this end, certain
behaviors and practices will not be tolerated.
</System.P1>
<br />
<System.UL>
<System.LI>Be respectful.</System.LI>
<System.LI>
We're here to help: <CopyEmail />
</System.LI>
<System.LI>Abusive behavior is never tolerated.</System.LI>
<System.LI>
Violations of this code may result in swift and permanent expulsion from the Slate
community.
</System.LI>
<System.LI>
"Too long, didn't read" is not a valid excuse for not knowing what is in this
document.
</System.LI>
</System.UL>
<br />
<System.P1>
We expect all members of the Slate community to abide by this Code of Conduct at all
times in all Slate community venues, online and in person, and in one-on-one
communications pertaining to Slate affairs.
</System.P1>
<br />
<System.P1>
This policy covers the usage of Filecoin public infrastructure, as well as other
Filecoin websites, Filecoin related events, and any other services offered by or on
behalf of the Filecoin community. It also applies to behavior in the context of the
Filecoin Open Source project communities, including but not limited to public GitHub
repositories, IRC channels, social media, mailing lists, and public events.
</System.P1>
<br />
<System.P1>
The definitions of various subjective terms such as "discriminatory", "hateful", or
"confusing" will be decided at the sole discretion of the Filecoin abuse team.
</System.P1>
<div id="Friendly Harassment-Free Space">
<br />
<br />
<h2 css={STYLES_H2}>Friendly Harassment-Free Space</h2>
<br />
<System.P1>
We are committed to providing a friendly, safe and welcoming environment for all,
regardless of gender identity, sexual orientation, disability, ethnicity,
religion, age, physical appearance, body size, race, or similar personal
characteristics.We ask that you please respect that people have differences of
opinion regarding technical choices, and that every design or implementation
choice carries a trade-off and numerous costs. There is seldom a single right
answer. A difference of technology preferences is not a license to be rude.{" "}
</System.P1>
<br />
<System.P1>
Any spamming, trolling, flaming, baiting, or other attention-stealing behavior is
not welcome, and will not be tolerated. Harassing other users is never tolerated,
whether via public or private media. Avoid using offensive or harassing nicknames,
or other identifiers that might detract from a friendly, safe, and welcoming
environment for all.{" "}
</System.P1>
<br />
<System.P1>
Harassment includes, but is not limited to: harmful or prejudicial verbal or
written comments related to gender identity, sexual orientation, disability,
ethnicity, religion, age, physical appearance, body size, race, or similar
personal characteristics; inappropriate use of nudity, sexual images, and/or
sexually explicit language in public spaces; threats of physical or non-physical
harm; deliberate intimidation, stalking or following; harassing photography or
recording; sustained disruption of talks or other events; inappropriate physical
contact; and unwelcome sexual attention.{" "}
</System.P1>
<br />
<System.P1>
Media shared through public infrastructure run by the Filecoin team must not
contain illegal or infringing content. You should only publish content via
Filecoin public infrastructure if you have the right to do so. This include
complying with all software license agreements or other intellectual property
restrictions. You will be solely responsible for any violation of laws or others'
intellectual property rights.
</System.P1>
</div>
<div id="Avoid Marketing or Soliciting">
<br />
<br />
<h2 css={STYLES_H2}>Avoid Marketing or Soliciting</h2>
<br />
<System.P1>
You are welcome to post endorsements of tools, products or services that you
personally find useful, but please refrain from blatant advertising, marketing or
any kind of spam. Selling commercial services or fundraising is not allowed.
</System.P1>
</div>
<div id="Reporting Violations of this Code of Conduct">
<br />
<br />
<h2 css={STYLES_H2}>Reporting Violations of this Code of Conduct</h2>
<br />
<System.P1>
If you believe someone is harassing you or has otherwise violated this Code of
Conduct, please contact us at <CopyEmail /> to send us an abuse report. If this is
the initial report of a problem, please include as much detail as possible. It is
easiest for us to address issues when we have more context.
</System.P1>
</div>
<div id="Copyright Violations">
<br />
<br />
<h2 css={STYLES_H2}>Copyright Violations</h2>
<br />
<System.P1>
We respect the intellectual property of others and ask that you do too. If you
believe any content or other materials available through public Filecoin
infrastructure violates a copyright held by you and you would like to submit a
notice pursuant to the Digital Millennium Copyright Act or other similar
international law, you can submit a notice to our agent for service of notice to:{" "}
<CopyEmail />. Please make sure your notice meets the Digital Millennium Copyright
Act requirements.
</System.P1>
</div>
<div id="Consequences">
<br />
<br />
<h2 css={STYLES_H2}>Consequences</h2>
<br />
<System.P1>
All content published to public Filecoin infrastructure is hosted at the sole
discretion of the Filecoin team. Unacceptable behavior from any community member
will not be tolerated. Anyone asked to stop unacceptable behavior is expected to
comply immediately. If a community member engages in unacceptable behavior, the
Filecoin team may take any action they deem appropriate, up to and including a
temporary ban or permanent expulsion from the community without warning (and
without refund in the case of a paid event or service).
</System.P1>
</div>
<div id="Addressing Grievances">
<br />
<br />
<h2 css={STYLES_H2}>Addressing Grievances</h2>
<br />
<System.P1>
Please contact <CopyEmail /> if you need to report a problem or address a
grievance related to an abuse report. If you feel you have been falsely or
unfairly accused of violating this Code of Conduct, you should contact{" "}
<CopyEmail />. We will do our best to ensure that your grievance is handled
appropriately. In general, we will choose the course of action that we judge as
being most in the interest of fostering a safe and friendly community.
</System.P1>
</div>
<div id="Contact Info">
<br />
<br />
<h2 css={STYLES_H2}>Contact Info</h2>
<br />
<System.P1>
Please contact <CopyEmail /> if you need to report a problem or address a
grievance related to an abuse report. You are also encouraged to contact us if you
are curious about something that might be "on the line" between appropriate and
inappropriate content. We are happy to provide guidance to help you be a
successful part of our community.
</System.P1>
</div>
<div id="Changes">
<br />
<br />
<h2 css={STYLES_H2}>Changes</h2>
<br />
<System.P1>
This is a living document and may be updated from time to time. Please refer to
the{" "}
<a
href="https://github.com/filecoin-project/slate/blob/main/pages/guidelines.js"
alt="GitHub Changelog"
target="_BLANK"
>
git history
</a>{" "}
for this document to view the changes.
</System.P1>
</div>
<div id="Credit and License">
<br />
<br />
<h2 css={STYLES_H2}>Credit and License</h2>
<br />
<System.P1>
This Code of Conduct is based on the{" "}
<a href="https://www.npmjs.com/policies/conduct">NPM Code of Conduct</a>. This
document may be reused under a{" "}
<a href="http://creativecommons.org/licenses/by-sa/4.0/">
Creative Commons Attribution-ShareAlike License
</a>
.
</System.P1>
</div>
</div>
</div>
</div>
<WebsitePrototypeFooter />
</WebsitePrototypeWrapper>
);
}
}