@@ -22,17 +22,18 @@ a 'skin'. A skin provides:
2222 * The containing application
2323 * Zero or more 'modules' containing non-UI functionality
2424
25- As of Aug 2018, the only skin that exists is [ ` vector-im/element-web ` ] ( https://github.com/vector-im/element-web/ ) ; it and
25+ As of Aug 2018, the only skin that exists is
26+ [ ` vector-im/element-web ` ] ( https://github.com/vector-im/element-web/ ) ; it and
2627` matrix-org/matrix-react-sdk ` should effectively
2728be considered as a single project (for instance, matrix-react-sdk bugs
2829are currently filed against vector-im/element-web rather than this project).
2930
3031Translation Status
31- ==================
32+ ------------------
3233[ ![ Translation status] ( https://translate.element.io/widgets/element-web/-/multi-auto.svg )] ( https://translate.element.io/engage/element-web/?utm_source=widget )
3334
3435Developer Guide
35- ===============
36+ ---------------
3637
3738Platform Targets:
3839 * Chrome, Firefox and Safari.
@@ -51,21 +52,25 @@ Please follow the Matrix JS/React code style as per:
5152https://github.com/matrix-org/matrix-react-sdk/blob/master/code_style.md
5253
5354Code should be committed as follows:
54- * All new components: https://github.com/matrix-org/matrix-react-sdk/tree/master/src/components
55- * Element-specific components: https://github.com/vector-im/element-web/tree/master/src/components
56- * In practice, ` matrix-react-sdk ` is still evolving so fast that the maintenance
57- burden of customising and overriding these components for Element can seriously
58- impede development. So right now, there should be very few (if any) customisations for Element.
55+ * All new components:
56+ https://github.com/matrix-org/matrix-react-sdk/tree/master/src/components
57+ * Element-specific components:
58+ https://github.com/vector-im/element-web/tree/master/src/components
59+ * In practice, ` matrix-react-sdk ` is still evolving so fast that the
60+ maintenance burden of customising and overriding these components for
61+ Element can seriously impede development. So right now, there should be
62+ very few (if any) customisations for Element.
5963 * CSS: https://github.com/matrix-org/matrix-react-sdk/tree/master/res/css
60- * Theme specific CSS & resources: https://github.com/matrix-org/matrix-react-sdk/tree/master/res/themes
64+ * Theme specific CSS & resources:
65+ https://github.com/matrix-org/matrix-react-sdk/tree/master/res/themes
6166
6267React components in matrix-react-sdk come in two different flavours:
6368'structures' and 'views'. Structures are stateful components which handle the
6469more complicated business logic of the app, delegating their actual presentation
6570rendering to stateless 'view' components. For instance, the RoomView component
66- that orchestrates the act of visualising the contents of a given Matrix chat room
67- tracks lots of state for its child components which it passes into them for visual
68- rendering via props.
71+ that orchestrates the act of visualising the contents of a given Matrix chat
72+ room tracks lots of state for its child components which it passes into them for
73+ visual rendering via props.
6974
7075Good separation between the components is maintained by adopting various best
7176practices that anyone working with the SDK needs to be aware of and uphold:
@@ -82,18 +87,19 @@ practices that anyone working with the SDK needs to be aware of and uphold:
8287
8388 * Per-view CSS is optional - it could choose to inherit all its styling from
8489 the context of the rest of the app, although this is unusual for any but
85- * Theme specific CSS & resources: https://github.com/matrix-org/matrix-react-sdk/tree/master/res/themes
86- structural components (lacking presentation logic) and the simplest view
87- components.
90+ * Theme specific CSS & resources:
91+ https://github.com/matrix-org/matrix-react-sdk/tree/master/res/themes
92+ structural components (lacking presentation logic) and the simplest view
93+ components.
8894
8995 * The view MUST * only* refer to the CSS rules defined in its own CSS file.
9096 'Stealing' styling information from other components (including parents)
9197 is not cool, as it breaks the independence of the components.
9298
93- * CSS classes are named with an app-specific name-spacing prefix to try to avoid
94- CSS collisions. The base skin shipped by Matrix.org with the matrix-react-sdk
95- uses the naming prefix "mx_ ". A company called Yoyodyne Inc might use a
96- prefix like "yy_ " for its app-specific classes.
99+ * CSS classes are named with an app-specific name-spacing prefix to try to
100+ avoid CSS collisions. The base skin shipped by Matrix.org with the
101+ matrix-react-sdk uses the naming prefix "mx_ ". A company called Yoyodyne
102+ Inc might use a prefix like "yy_ " for its app-specific classes.
97103
98104 * CSS classes use upper camel case when they describe React components - e.g.
99105 .mx_MessageTile is the selector for the CSS applied to a MessageTile view.
@@ -130,13 +136,13 @@ the distinction between 'structural' and 'view' components, so we backed away
130136from it.
131137
132138Github Issues
133- =============
139+ -------------
134140
135141All issues should be filed under https://github.com/vector-im/element-web/issues
136142for now.
137143
138144Development
139- ===========
145+ -----------
140146
141147Ensure you have the latest LTS version of Node.js installed.
142148
@@ -145,9 +151,10 @@ guide](https://classic.yarnpkg.com/docs/install) if you do not have it
145151already. This project has not yet been migrated to Yarn 2, so please ensure
146152` yarn --version ` shows a version from the 1.x series.
147153
148- ` matrix-react-sdk ` depends on [ ` matrix-js-sdk ` ] ( https://github.com/matrix-org/matrix-js-sdk ) . To make use of changes in the
149- latter and to ensure tests run against the develop branch of ` matrix-js-sdk ` ,
150- you should set up ` matrix-js-sdk ` :
154+ ` matrix-react-sdk ` depends on
155+ [ ` matrix-js-sdk ` ] ( https://github.com/matrix-org/matrix-js-sdk ) . To make use of
156+ changes in the latter and to ensure tests run against the develop branch of
157+ ` matrix-js-sdk ` , you should set up ` matrix-js-sdk ` :
151158
152159``` bash
153160git clone https://github.com/matrix-org/matrix-js-sdk
@@ -170,16 +177,17 @@ yarn install
170177See the [ help for ` yarn link ` ] ( https://classic.yarnpkg.com/docs/cli/link ) for
171178more details about this.
172179
173- Running tests
174- =============
180+ ### Running tests
175181
176182Ensure you've followed the above development instructions and then:
177183
178184``` bash
179185yarn test
180186```
181187
182- ## End-to-End tests
188+ ### End-to-End tests
183189
184- Make sure you've got your Element development server running (by doing ` yarn start ` in element-web), and then in this project, run ` yarn run e2etests ` .
185- See [ ` test/end-to-end-tests/README.md ` ] ( https://github.com/matrix-org/matrix-react-sdk/blob/develop/test/end-to-end-tests/README.md ) for more information.
190+ Make sure you've got your Element development server running (by doing `yarn
191+ start` in element-web), and then in this project, run ` yarn run e2etests`. See
192+ [ ` test/end-to-end-tests/README.md ` ] ( https://github.com/matrix-org/matrix-react-sdk/blob/develop/test/end-to-end-tests/README.md )
193+ for more information.
0 commit comments