2
2
3
3
Pull requests are the most helpful contributions.
4
4
5
- We need updates to existing CSS features and to add missing and new features.
6
- A feature only needs a ** title** , a ** description** , and a link to its
7
- ** specification** , because every feature is "* unrecognized* " until we see proof
8
- of a ** stage** change from the [ CSSWG] ( #join-the-csswg ) .
5
+ I love folks who can add missing features and keep existing features up to date.
6
+ A new feature only needs a ** title** , a ** description** , and a link to its
7
+ ** specification** .
9
8
10
9
Non-CSSWG members can still update CSS features by including ** citations** to
11
10
public notes that show how the CSSWG is advancing a feature. If you need
12
11
further clarification, read [ why we are doing this] ( #why-are-we-doing-this ) .
13
12
14
13
### Updating a feature
15
14
16
- Does one of the CSS features listed here have out-of-date info? Goto
17
- [ css-features] ( css-features ) and find the feature you want to update. It’s a
18
- JSON file, so make changes directly to the JSON and
19
- [ make a pull request] ( #making-a-pull-request ) .
15
+ Is one of these CSS features out-of-date? Open [ ` features.json ` ] and find the
16
+ feature you want to update. It’s a JSON file, so make changes directly to the
17
+ file, commit it, and then [ make a pull request] ( #making-a-pull-request ) .
20
18
21
19
### Adding a new feature
22
20
23
- Is an experimental CSS feature not listed here? Add the feature to
24
- [ css-features ] ( css-features ) . You’ll be creating a JSON file, so make additions
25
- directly to the JSON and [ make a pull request] ( #making-a-pull-request ) .
21
+ Is a CSS feature not listed here? Add the feature to [ ` features.json ` ] . Again,
22
+ it’s a JSON file, so make changes directly to the JSON, commit it, and then
23
+ [ make a pull request] ( #making-a-pull-request ) .
26
24
27
25
### Making a Pull Request
28
26
29
27
For best results, be sure your contributions make sense to everyone else. If
30
28
you’re unfamiliar with git, consider the following workflow.
31
29
32
- 1 . To begin; [ fork this project] [ fork ] , clone your fork, and add our upstream.
33
- ``` bash
34
- # Clone your fork of the repo into the current directory
35
- git clone
[email protected] :YOUR_USER/css-db.git
36
-
37
- # Navigate to the newly cloned directory
38
- cd css-db
39
-
40
- # Assign the original repo to a remote called "upstream"
41
- git remote add upstream [email protected] :jonathantneal/css-db.git
42
-
43
- # Install the tools necessary for testing
44
- npm install
45
- ```
46
-
47
- 2. Create a branch for your feature or update :
48
- ` ` ` bash
49
- # Move into a new branch for your new feature
50
- git checkout -b feature/thing
51
- ` ` `
52
- ` ` ` bash
53
- # Or, move into a new branch for your update
54
- git checkout -b update /something
55
- ` ` `
56
-
57
- 3. If your code follows our practices, then push your branch up to your fork :
58
- ` ` ` bash
59
- # Test current code
60
- npm test
61
- ` ` `
62
- ` ` ` bash
63
- # Push the branch for your new feature
64
- git push origin feature/thing
65
- ` ` `
66
- ` ` ` bash
67
- # Or, push the branch for your update
68
- git push origin update/something
69
- ` ` `
30
+ 1 . To begin; [ fork this project] and then clone your fork locally
31
+ ``` bash
32
+ # Clone your fork of this project
33
+ git clone
[email protected] :YOUR_USER/css-db.git
34
+
35
+ # Navigate to your fork of this project
36
+ cd css-db
37
+
38
+ # Install the tools necessary for testing this project
39
+ npm install
40
+
41
+ # Assign the original repo to a remote called "upstream"
42
+ git remote add upstream [email protected] :jonathantneal/css-db.git
43
+ ```
44
+
45
+ 2 . Create a branch for your feature or fix :
46
+ ``` bash
47
+ # Move into a new branch for your feature
48
+ git checkout -b feature/thing
49
+ ```
50
+ ``` bash
51
+ # Move into a new branch for your fix
52
+ git checkout -b fix /something
53
+ ```
54
+
55
+ 3 . If your code follows our practices, then push your feature branch :
56
+ ``` bash
57
+ # Test your code
58
+ npm test
59
+ ```
60
+ ``` bash
61
+ # Push the branch for your new feature
62
+ git push origin feature/thing
63
+ ```
64
+ ``` bash
65
+ # Or, push the branch for your update
66
+ git push origin update/something
67
+ ```
70
68
71
69
---
72
70
73
71
## Advanced Usage: How the JSON file looks
74
72
75
- The only fields you’ll see in our JSON file are, in order:
73
+ The only fields you’ll see in [ ` features.json ` ] are, in order:
76
74
77
75
- ` title ` : the name of the feature.
78
76
- ` description ` : a brief description of the feature.
@@ -85,22 +83,17 @@ The only fields you’ll see in our JSON file are, in order:
85
83
+ ` 2 ` means ** Stage 2** — * Draft* ,
86
84
+ ` 3 ` means ** Stage 3** — * Adoption* ,
87
85
+ ` 4 ` means ** Stage 4** — * Complete* , and
88
- + ` null` means ** No Stage** — * Unrecognized* .
89
- - ` citations` : a list of links related to the feature and its progress.
90
- - ` issues` : a link to issue tracking for the feature.
86
+ + ` -1 ` means ** Rejected** .
91
87
- ` polyfills ` : A list of polyfills used to simulate the feature; which includes
92
- + ` name ` : the shorthand name of the polyfill, and
88
+ + ` type ` : the type of polyfill (e.g. * PostCSS * , * JS Library * ) , and
93
89
+ ` link ` : the URL to the page or repository for the polyfill.
94
90
95
- All contributions must follow the syntax and style of existing JSON files ,
91
+ All contributions must follow the existing syntax and style of the JSON file ,
96
92
which;
97
93
98
- 1. Exist as ` css-features/${ featureName } .json` , where ` featureName` is the
99
- [kebab-case](http://wiki.c2.com/? KebabCase) name representing the title and
100
- thematic category of the feature, like ` hwb-color` , ` matches-pseudo-class` ,
101
- or ` grid-syntax` .
102
- 2. Include at least the required fields; ** title** , ** description** ,
103
- ** specification** , and ** stage** (which is ` null` if you don’t know it).
94
+ 1 . Exists as ` features.json ` , and;
95
+ 2 . Includes at least the required fields; ** title** , ** description** ,
96
+ ** specification** , and ** stage** (which is ` 0 ` if you don’t know it).
104
97
105
98
Did you write the specification you are submitting? It must;
106
99
@@ -109,19 +102,17 @@ Did you write the specification you are submitting? It must;
109
102
3 . Describe how the feature and its parts operate as clearly and completely as
110
103
possible.
111
104
112
- If you’re changing the ** stage** of a feature, be sure to add a ** citation**
113
- that proves its new position in the
114
- [staging process](README.md#staging-process).
105
+ If you’re changing the ** stage** of a feature, be sure to include a link along
106
+ with your PR to prove the new position.
115
107
116
108
---
117
109
118
110
## Join the CSSWG
119
111
120
112
Passionate and informed developers should consider joining the CSSWG. Read the
121
- [instructions for joining the CSSWG](https://www.w3.org/2004/01/pp-impl/32061/instructions).
122
- Supposedly this is very difficult to actually accomplish, so pull requests are
123
- welcomed to update this section with a beginner-friendly version of these
124
- instructions.
113
+ [ instructions for joining the CSSWG] . This is a very difficult to actually
114
+ accomplish, so I welcome pull requests to update this section with some
115
+ beginner-friendly instructions.
125
116
126
117
### Why are we doing this?
127
118
@@ -131,6 +122,8 @@ browsers
131
122
so we have to discern what’s really going on ourselves. If we didn’t, we
132
123
probably wouldn’t need this repository.
133
124
134
- [fork]: fork
125
+ [ fork this project ] : fork
135
126
[ staging process ] : README.md#staging-process
136
127
[ TC39 process ] : https://thefeedbackloop.xyz/tc39-a-process-sketch-stages-0-and-1/
128
+ [ `features.json` ] : features.json
129
+ [ instructions for joining the CSSWG ] : https://www.w3.org/2004/01/pp-impl/32061/instructions
0 commit comments