|
1 |
| -# CSS Database [<img src="https://rawgit.com/jonathantneal/media-expressions-spec/gh-pages/css-logo.svg" alt="CSS Logo" width="90" height="90" align="right">][CSS Database] |
| 1 | +# CSS Features Database [<img src="https://rawgit.com/jonathantneal/media-expressions-spec/gh-pages/css-logo.svg" alt="CSS Logo" width="90" height="90" align="right">][CSS Database] |
2 | 2 |
|
3 | 3 | [![Build Status][cli-img]][cli-url]
|
4 | 4 | [![Licensing][lic-img]][lic-url]
|
5 | 5 | [![Changelog][log-img]][log-url]
|
6 | 6 |
|
7 | 7 | [CSS Database] is a comprehensive list of CSS features and their positions in the process of becoming implemented web standards. These positions reflect the [TC39 process].
|
8 | 8 |
|
| 9 | +Did you come here to update the status of a CSS feature or add a new one? Quick, read our [CONTRIBUTING.md]. |
| 10 | + |
9 | 11 | ## Staging Process
|
10 | 12 |
|
11 | 13 | This staging process reflects the real-life stability of new CSS features.
|
@@ -34,120 +36,38 @@ A CSS specification formally endorsed by the [CSSWG] and requiring implementatio
|
34 | 36 |
|
35 | 37 | > “This idea is becoming part of the web.”
|
36 | 38 |
|
37 |
| -A CSS specification formally endorsed by the [CSSWG] and being implemented by [recognized browser vendors], possibly behind a flag. It should be considered stable and subject to little change. |
| 39 | +A CSS specification formally endorsed by the [CSSWG] and being implemented by [recognized browser vendors](#recognized-browser-vendors), possibly behind a flag. It should be considered stable and subject to little change. |
38 | 40 |
|
39 | 41 | #### Stage 4: Complete
|
40 | 42 |
|
41 | 43 | > “This idea is part of the web.”
|
42 | 44 |
|
43 |
| -A CSS specification formally endorsed by the [CSSWG] and implemented by all [recognized browser vendors]. |
| 45 | +A CSS specification formally endorsed by the [CSSWG] and implemented by all [recognized browser vendors](#recognized-browser-vendors). |
44 | 46 |
|
45 | 47 | #### No Stage: Unrecognized
|
46 | 48 |
|
47 | 49 | > “I have no idea what I’m doing.”
|
48 | 50 |
|
49 | 51 | This is any specification that has not yet been presented to the [CSSWG], or that has been formally rejected or deprecated by the [CSSWG].
|
50 | 52 |
|
51 |
| -## Contributing |
52 |
| - |
53 |
| -### Join the CSSWG |
54 |
| - |
55 |
| -Passionate and informed developers should consider joining the CSSWG. Read the [instructions for joining the CSSWG]. Pull requests are welcomed to update this section with a beginner-friendly version of those instructions. |
56 |
| - |
57 |
| -### Update this database |
58 |
| - |
59 |
| -Pull requests are some of the greatest contributions, so be sure they are focused in scope and avoid unrelated commits. |
60 |
| - |
61 |
| -- All contributions must follow the syntax and style of existing JSON files, which; |
62 |
| - 1. Exist as `features/${ feature }.json`, where `feature` is a thematic, [kebab-case] label representing the title and category of the feature. |
63 |
| - 2. Include all the [required fields]. |
64 |
| - |
65 |
| -- New features include a link to a specification, which; |
66 |
| - 1. Describes what the feature does in as few words as possible. |
67 |
| - 2. Describes why the feature exists in as few words as possible. |
68 |
| - 3. Describes how the feature and its parts operate as clearly and completely as possible. |
69 |
| - |
70 |
| -- Changing features include a relevant citation proving its new position in the [staging process]. |
71 |
| - |
72 |
| -For best results, be sure your contributions make sense to everyone else. If you’re unfamiliar with git, consider the following workflow. |
73 |
| - |
74 |
| -1. To begin, [fork this project], clone your fork, and add our upstream. |
75 |
| - ```bash |
76 |
| - # Clone your fork of the repo into the current directory |
77 |
| - git clone https://github.com/<your-user>/${ id } |
78 |
| - # Navigate to the newly cloned directory |
79 |
| - cd ${ id } |
80 |
| - # Assign the original repo to a remote called "upstream" |
81 |
| - git remote add upstream https://github.com/${ user }/${ id } |
82 |
| - # Install the tools necessary for development |
83 |
| - npm install |
84 |
| - ``` |
85 |
| - |
86 |
| -2. Create a branch for your feature or update: |
87 |
| - ```bash |
88 |
| - # Move into a new branch for a feature |
89 |
| - git checkout -b feature/thing |
90 |
| - ``` |
91 |
| - ```bash |
92 |
| - # Or, move into a new branch for a update |
93 |
| - git checkout -b update/something |
94 |
| - ``` |
95 |
| - |
96 |
| -3. Be sure your code follows our practices. |
97 |
| - ```bash |
98 |
| - # Test current code |
99 |
| - npm test |
100 |
| - ``` |
101 |
| - |
102 |
| -4. Push your branch up to your fork: |
103 |
| - ```bash |
104 |
| - # Push a feature branch |
105 |
| - git push origin feature/thing |
106 |
| - ``` |
107 |
| - ```bash |
108 |
| - # Or, push a fix branch |
109 |
| - git push origin fix/something |
110 |
| - ``` |
111 |
| - |
112 | 53 | ---
|
113 | 54 |
|
114 | 55 | ## Terminology
|
115 | 56 |
|
116 |
| -### Required Fields |
117 |
| - |
118 |
| -Required fields within a JSON file are, in order: |
119 |
| - |
120 |
| -- **`title`**: a unique name for the feature. |
121 |
| -- **`description`**: a brief description of the feature. |
122 |
| -- **`specification`**: a link to the latest draft of the specification. |
123 |
| -- **`stage`**: the position of the feature within the [staging process]. Stages should be a number, and unrecognized stages should be `null`. |
124 |
| -- **`citations`**: an array of links related to the feature or its progress. |
125 |
| - |
126 |
| -### Additional Fields |
127 |
| - |
128 |
| -Additional fields within a JSON file may be, in order: |
129 |
| - |
130 |
| -- **`issues`**: a link to issue tracking for the feature. |
131 |
| -- **`polyfills`**: an array of links to polyfills for the feature. Each link contains a `name` and `link` field, in that order. |
132 |
| - |
133 | 57 | ### Recognized Browser Vendors
|
134 | 58 |
|
135 | 59 | Recognized browser vendors include, in alphabetical order; Apple, Google, Microsoft, Mozilla, and Opera.
|
136 | 60 |
|
137 |
| -### Champion |
| 61 | +### What is a champion? |
138 | 62 |
|
139 | 63 | A champion is the person responsible for advocating a new CSS feature to completion, performing the legwork necessary to ensure the concerns of interested [CSSWG] members are identified and incorporated into the proposal.
|
140 | 64 |
|
141 | 65 | [Champion]: #champion
|
142 | 66 | [CSSWG]: https://wiki.csswg.org/spec
|
143 | 67 | [CSS Database]: https://github.com/jonathantneal/css-db
|
| 68 | +[CONTRIBUTING.md]: CONTRIBUTING.md |
144 | 69 | [fork this project]: fork
|
145 | 70 | [inside view of the CSSWG]: http://fantasai.inkedblade.net/weblog/2011/inside-csswg/process
|
146 |
| -[instructions for joining the CSSWG]: https://www.w3.org/2004/01/pp-impl/32061/instructions |
147 |
| -[kebab-case]: http://wiki.c2.com/?KebabCase |
148 |
| -[recognized browser vendors]: #recognized-browser-vendors |
149 |
| -[required fields]: #required-fields |
150 |
| -[staging process]: #staging-process |
151 | 71 | [TC39 process]: https://thefeedbackloop.xyz/tc39-a-process-sketch-stages-0-and-1/
|
152 | 72 |
|
153 | 73 | [npm-url]: https://www.npmjs.com/package/css-db
|
|
0 commit comments