Skip to content

Commit 803f873

Browse files
authored
Merge pull request #1248 from ethereum/contributing
Contributing reorg [Fixes #1103 + #1247]
2 parents 0df6d15 + fe4e1ee commit 803f873

40 files changed

Lines changed: 1778 additions & 272 deletions

File tree

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2019 Ethereum.org contributors
3+
Copyright (c) 2019 ethereum.org contributors
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 28 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -9,130 +9,25 @@
99
<p>👋 Welcome to ethereum.org!</p>
1010
</h1>
1111

12-
[Ethereum.org](https://ethereum.org) is a primary online resource for the Ethereum community. The purpose of the site is to _“Be the best portal to Ethereum for our growing global community"_ - read more about what this means [here](https://github.com/ethereum/ethereum-org-website/blob/dev/purpose.md).
12+
[ethereum.org](https://ethereum.org) is a primary online resource for the Ethereum community. The purpose of the site is to _“Be the best portal to Ethereum for our growing global community"_ - read more about what this means [here](https://ethereum.org/en/about/).
1313

14-
[Ethereum.org](https://ethereum.org) is improved and changed over time through the contributions of community members who submit content, give feedback, or volunteer their time to managing its evolution. If you’re interested in helping to improve [ethereum.org](https://ethereum.org), start here. This contribution guide will help you get started.
14+
[ethereum.org](https://ethereum.org) is improved and changed over time through the contributions of community members who submit content, give feedback, or volunteer their time to managing its evolution. If you’re interested in helping to improve [ethereum.org](https://ethereum.org), find out [how to contribute](https://ethereum.org/en/contributing/).
1515

16-
<br/>
16+
## The contribution process
1717

18-
## Core Principles
19-
20-
Ethereum.org’s design and content is guided by three core principles:
21-
22-
**🌏 1. Ethereum.org is a portal to resources created by the community**
23-
24-
- It will never be “encyclopedia ethereum” - we can’t add every link, or cover every topic
25-
- Rather, its purpose is to direct people to community-built resources
26-
- Ethereum.org trends toward minimal native-content
27-
28-
**🛠 2. Ethereum.org is a work in progress, because Ethereum is a work in progress**
29-
30-
- It will change over time, as Ethereum evolves and the community evolves with it
31-
- To accommodate long-term changes, the site has a simple design system & modular structure
32-
- Changes to the site are iterative, as we learn more about how people use it and what the community wants from it
33-
- Changes can be proposed by anyone, and we aim to cultivate a community of open-source contributors
34-
35-
**🦄 3. Ethereum.org is not a typical product website**
36-
37-
- Ethereum is multifaceted. It's a project, a platform, a product, a vision of the future, a set of ideologies, a community, and much more.
38-
- The site won't look like every other product site, because Ethereum isn't like every other product.
39-
40-
## How can I contribute?
41-
42-
Keeping in mind the above core principles, there are many ways you can get involved in improving the website!
43-
44-
- Check out our [open issues](https://github.com/ethereum/ethereum-org-website/issues) and see if there are any you can help with
45-
- Join our [Translation Program](https://ethereum.org/en/languages/#ethereum-org-translation-program)
46-
- Add information or links to specific sections that are incomplete, by submitting a pull request
47-
- Identify out-of-date information on ethereum.org (or linked to from ethereum.org) and submit a pull request
48-
- Submit new designs for the front-page HERO image - contact us at website@ethereum.org
49-
- Suggest improvements to our [user persona research](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c)
50-
- Suggest ideas for new pages, new content, or other ways to improve ethereum.org by [opening an issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose)
51-
- Follow progress and collaborate with our team on new features with us in our [Discord server](https://discord.gg/CetY6Y4)
52-
53-
Learn how to submit a pull request in the [Development Lifecycle](#deployment-lifecycle) section.
54-
55-
### Content contributions
56-
57-
As mentioned in [ethereum.org's core principles](#core-principles), the goal is for ethereum.org to serve as a portal to resources created by the community. We strive to direct people to community-built resources vs. replace them. While we trend towards minimal native-content, we have received feedback from the community that it's valuable for us to have some.
58-
59-
When proposing a new page or updating an existing page, keep in mind the goal is not to be a comprehensive encyclopedia of Ethereum but rather to be a stepping stone for someone’s journey into Ethereum. Each page should provide a story: e.g. introducing a topic, answering a question & providing next steps for the visitor to learm more or take a particular action.
60-
61-
#### Notes on specific kinds of contributions
62-
63-
When proposing new items to Ethereum.org we ask contributors to add their new addition(s) to the bottom of each section/list. This helps keep things fair for all contributors. In the future, we may consider adding a ranking system for the sections but for now this is the practice we are employing.
64-
65-
#### I want to add a developer tool or project
66-
67-
Developer tool submissions will be assessed by the following criteria:
68-
69-
- Is it meaningfully differentiated from tools already listed?
70-
- New categories or types of tools
71-
- New features compared to existing similar tools
72-
- Targeted at a distinct use-case not covered by existing similar tools
73-
- Is the tool well documented?
74-
- Does documentation exist?
75-
- Is it sufficient to use the tool?
76-
- Has it been recently updated?
77-
- Is the tool widely used?
78-
- We will consider metrics such as GitHub stars, download statistics, and whether it is used by known companies or projects
79-
- Is the tool of sufficient quality?
80-
- Are there recurring bugs?
81-
- Is the tool reliable?
82-
83-
#### I want to add an educational article or resource
84-
85-
Learning resources will be assessed by the following criteria:
86-
87-
- Is the content up to date?
88-
- Is the information accurate? Is it factual or opinion-based?
89-
- Is the author credible? Do they reference their sources?
90-
- Does this content add distinct value that existing resources/links don't cover?
91-
- Which [user persona](https://www.notion.so/efdn/Ethereum-org-User-Persona-Memo-b44dc1e89152457a87ba872b0dfa366c) does this content serve?
92-
93-
#### I want to add an Ethereum-based application
94-
95-
Dapp submissions will be assessed on the following criteria:
96-
97-
- Is the dapp a "user" application? This page is targeted at a new user, which means it wouldn't be appropriate to list a dev tool or app targeted at sophisticated technical users.
98-
- Does the application have a good user on-boarding process, such that a user can follow the link, and find all the instructions they need to get started?
99-
- Does the application "round out" the list by adding a new kind of application not already present?
100-
- Is there evidence that the application is popular and well established?
101-
102-
[Read the full policy](https://ethereum.org/en/contributing/adding-products/).
103-
104-
### Translation Program
105-
106-
Ethereum is a global project, and we believe it's critical that Ethereum.org is accessible to everyone, regardless of their nationality or language. Our community has been working hard to make this vision a reality.
107-
108-
**Looking for a specific translation?**
109-
110-
We're constantly working to add additional language support & to keep our existing translations up to date. You can [view available translations and the progress of all our translations here](https://ethereum.org/languages/).
111-
112-
**Looking to join our community of translators?**
18+
How updates are made to ethereum.org
11319

114-
Great! We'd love to get you involved. [Follow the instructions here](https://ethereum.org/en/languages/#ethereum-org-translation-program) and join our [Discord server](https://discord.gg/CetY6Y4) to collaborate with other community memebers in the #translations channel. Thank you in advance for your participation!
20+
### Submit an issue
11521

116-
## 🤔 How are decisions about the site made?
22+
- Create a [new issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose)
11723

118-
Decisions about individual PRs, design evolution, and major upgrades to the website are made by a team of people from across the Ethereum ecosystem. This team includes project managers, developers, designers, marketing and communications, and subject matter experts. Community input informs every decision: raising questions in issues, submitting PRs, or contacting the team at website@ethereum.org is helpful!
24+
### Fork the repo
11925

120-
This team currently includes:
26+
If you're not sure, here's how to [fork the repo](https://help.github.com/en/articles/fork-a-repo)
12127

122-
- Anuj Gupta (Ethereum Foundation)
123-
- Amanda Gutterman (ConsenSys)
124-
- Hudson Jameson (Ethereum Foundation Devops)
125-
- Taeyeon Kim (Ethereum Foundation)
126-
- Jamie Pitts (Ethereum Foundation Devops)
127-
- Sam Richards (Ethereum Foundation)
128-
- Joseph Schweitzer (Ethereum Foundation)
129-
- Josh Stark (L4, ETHGlobal, Ethereum Foundation)
130-
- Charles St. Louis (MakerDAO & Ethereum Cat Herders)
131-
- Evan Van Ness (ConsenSys & Ethereum Foundation)
132-
- Alan Woo (Independent designer & developer)
133-
- Ryan Cordell (Ethereum Foundation)
28+
### Set up your local environment (optional)
13429

135-
## Local development
30+
If you're ready to contribute and create your PR, it will help to set up a local environment so you can see your changes.
13631

13732
1. [Set up your development environment](https://www.gatsbyjs.org/tutorial/part-zero/)
13833

@@ -156,41 +51,36 @@ $ yarn
15651
yarn start
15752
```
15853

159-
### Learning Gatsby
160-
161-
Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.org/). Here are some places to start:
162-
163-
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
164-
165-
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.org/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
54+
### Submit your PR
16655

167-
## Deployment Lifecycle
168-
169-
How updates are made to ethereum.org
170-
171-
### Submit
172-
173-
- Create a [new issue](https://github.com/ethereum/ethereum-org-website/issues/new/choose)
174-
- Submit a pull request (PR) to the `dev` branch (you'll need to [fork the repo](https://help.github.com/en/articles/fork-a-repo) in order to submit a PR)
175-
- In your PR commit message, reference the issue it resolves
176-
- e.g. `Add height to sidebar for scroll [Fixes #185]`
177-
- Read [Closing issues using keywords](https://help.github.com/en/articles/closing-issues-using-keywords) for more information
56+
- Make your changes and submit a pull request (PR) to the `dev` branch
57+
- In your PR commit message, reference the issue it resolves
58+
- e.g. `Add height to sidebar for scroll [Fixes #185]`
59+
- Read [Closing issues using keywords](https://help.github.com/en/articles/closing-issues-using-keywords) for more information
17860
- Netlify (our hosting service) deploys all PRs to a publicly accessible preview URL, e.g.:
17961
![Netlify deploy preview](./netlify-deploy-preview.png)
18062
- Confirm your Netlify preview deploy looks & functions as expected
18163

182-
### Review
64+
### Wait for review
18365

184-
- The [website team](https://github.com/ethereum/ethereum-org-website#-how-are-decisions-about-the-site-made) reviews every PR
185-
- See [how decisions are made on content changes](https://github.com/ethereum/ethereum-org-website#notes-on-individual-sub-pages)
66+
- The website team reviews every PR
67+
- See [how decisions are made on content changes](https://ethereum.org/en/contributing/#how-decisions-about-the-site-are-made)
18668
- Acceptable PRs will be approved & merged into the `dev` branch
18769

18870
### Release
18971

190-
- `master` is continually synced to Netlify and will automatically deploy new commits to etheruem.org
191-
- The [website team](https://github.com/ethereum/ethereum-org-website#-how-are-decisions-about-the-site-made) will periodically merge `dev` into `master` (typically multiple times per week)
72+
- `master` is continually synced to Netlify and will automatically deploy new commits to ethereum.org
73+
- The [website team](https://ethereum.org/en/contributing/#how-decisions-about-the-site-are-made) will periodically merge `dev` into `master` (typically multiple times per week)
19274
- You can [view the history of releases](https://github.com/ethereum/ethereum-org-website/releases), which include PR highlights
19375

76+
## Learn about Gatsby
77+
78+
Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.org/). Here are some places to start:
79+
80+
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
81+
82+
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.org/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
83+
19484
## Contributors
19585

19686
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

gatsby-config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const defaultLanguage = `en`
88
module.exports = {
99
siteMetadata: {
1010
// `title` & `description` pulls from respective ${lang}.json files in PageMetadata.js
11-
title: `Ethereum.org`,
11+
title: `ethereum.org`,
1212
description: `Ethereum is a global, decentralized platform for money and new kinds of applications. On Ethereum, you can write code that controls money, and build applications accessible anywhere in the world.`,
1313
url: "https://ethereum.org",
1414
siteUrl: "https://ethereum.org",
@@ -38,8 +38,8 @@ module.exports = {
3838
{
3939
resolve: `gatsby-plugin-manifest`,
4040
options: {
41-
name: `Ethereum.org`,
42-
short_name: `Ethereum.org`,
41+
name: `ethereum.org`,
42+
short_name: `ethereum.org`,
4343
start_url: `/en/`,
4444
background_color: `#fff`,
4545
theme_color: `#1c1ce1`,

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ethereum-org-website",
33
"version": "2.2.0",
4-
"description": "Website of Ethereum.org",
4+
"description": "Website of ethereum.org",
55
"main": "index.js",
66
"repository": "git@github.com:ethereum/ethereum-org-website.git",
77
"author": "Sam Richards <sam.richards@ethereum.org>",
@@ -53,9 +53,10 @@
5353
"pretty-quick": "^2.0.1"
5454
},
5555
"scripts": {
56-
"build": "yarn build:app && yarn build:lambda",
56+
"build": "yarn copy-contributors && yarn build:app && yarn build:lambda",
5757
"build:app": "gatsby build",
5858
"build:lambda": "netlify-lambda build src/lambda",
59+
"copy-contributors": "node src/scripts/copyContributors.js",
5960
"format": "prettier --write \"**/*.{js,jsx,json,md}\"",
6061
"generate-heading-ids": "node src/scripts/generateHeadingIDs.js",
6162
"start": "gatsby develop",

purpose.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/components/ActionCard.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,14 @@ const ActionCard = ({
5757
children,
5858
className,
5959
}) => {
60+
const isImageURL = typeof image === "string" && image.includes("http")
6061
return (
6162
<Card to={to} className={className} hideArrow={true}>
6263
<ImageWrapper className="action-card-image-wrapper">
63-
<Image fixed={image} alt={alt} />
64+
{!isImageURL && <Image fixed={image} alt={alt} />}
65+
{isImageURL && (
66+
<img src={image} alt={alt} className="action-card-image" />
67+
)}
6468
</ImageWrapper>
6569
<Content className="action-card-content">
6670
<h3>{title}</h3>

src/components/Contributors.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import React from "react"
2+
import styled from "styled-components"
3+
4+
import ActionCard from "./ActionCard"
5+
import data from "../data/contributors.json"
6+
7+
const Container = styled.div`
8+
display: flex;
9+
flex-wrap: wrap;
10+
`
11+
12+
const ContributorCard = styled(ActionCard)`
13+
max-width: 132px;
14+
margin: 0.5rem;
15+
16+
.action-card-image-wrapper {
17+
min-height: 100px;
18+
}
19+
.action-card-image {
20+
width: 132px;
21+
height: 132px;
22+
}
23+
.action-card-content {
24+
padding: 1rem;
25+
h3 {
26+
font-size: ${(props) => props.theme.fontSizes.m};
27+
}
28+
p {
29+
margin-bottom: 0;
30+
}
31+
}
32+
`
33+
34+
const Contributors = () => {
35+
return (
36+
<Container>
37+
{data.contributors.map((contributor, idx) => {
38+
return (
39+
<ContributorCard
40+
key={idx}
41+
image={contributor.avatar_url}
42+
to={contributor.profile}
43+
title={contributor.name}
44+
/>
45+
)
46+
})}
47+
</Container>
48+
)
49+
}
50+
51+
export default Contributors

src/components/Footer.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,11 @@ const Footer = () => {
222222
text: "footer-about-us",
223223
shouldDisplay: true,
224224
},
225+
{
226+
to: "/en/contributing/",
227+
text: "Contributing",
228+
shouldDisplay: contentVersion > 1.1,
229+
},
225230
{
226231
to: "/en/languages/",
227232
text: "language-support",

0 commit comments

Comments
 (0)