Skip to content

Commit

Permalink
Organize and update EUI's wiki docs (#6725)
Browse files Browse the repository at this point in the history
* Organize wiki docs into folders by concern

* Move testing-specific information out of development docs

* Move testing-in-Kibana docs to its own `testing/` file

- we recently received feedback on this from a dev that this was hard to find

+ add more useful information

* Write top-level README for `testing/`

+ bonus jest/cypress doc cleanup

* Overhaul documentation guidelines

- split up guidelines into actual just guidelines, and make it the main README

- split up sections for snippets, playgrounds, and full-screen-demos - they feel important enough to have their own sections (also if we move to EUI+ and remove certain features, it's easier to delete whole files)

- update PR template references

* Move CONTRIBUTING.md to `wiki/contributing-to-eui`

For easier consolidation of all our wiki docs in 1 place

* Component development docs overhaul

- create main README with overview of component design/development

- create separate file for instructions for running locally (still not sure if there's a better place for this, but technically it belongs outside development since it's needed for documentation)

- split out props and ref patterns into their own files

- combine creating component instructions into a single file (similar to `creating-documentation-pages.md`)

* Clean up README wiki links to folders instead of to individual files

* Update/fix multiple links to EUI wiki doc files

+ bonus Kibana link fixes

* Add basic top-level readme for `eui-team-processes`
  • Loading branch information
cee-chen authored Apr 19, 2023
1 parent f5c4761 commit a144b03
Show file tree
Hide file tree
Showing 40 changed files with 685 additions and 758 deletions.
2 changes: 1 addition & 1 deletion .babelrc-optimize.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// See `wiki/consuming.md` for rationale and consumer requirements.
// See `wiki/consuming-eui/README.md` for rationale and consumer requirements.

const baseConfig = require('./.babelrc.js');
// Skip `propType` generation.
Expand Down
8 changes: 4 additions & 4 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Remove or strikethrough items that do not apply to your PR.
- [ ] Checked in both **light and dark** modes
- [ ] Checked in **mobile**
- [ ] Checked in **Chrome**, **Safari**, **Edge**, and **Firefox**
- [ ] Props have proper **autodocs** (using `@default` if default values are missing) and **[playground toggles](https://github.com/elastic/eui/blob/main/wiki/documentation-guidelines.md#adding-playground-toggles)**
- [ ] Added **[documentation](https://github.com/elastic/eui/blob/main/wiki/documentation-guidelines.md)**
- [ ] Props have proper **autodocs** (using `@default` if default values are missing) and **[playground toggles](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/playgrounds.md)**
- [ ] Added **[documentation](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting)**
- [ ] Checked **[Code Sandbox](https://codesandbox.io/)** works for any docs examples
- [ ] Added or updated **[jest](https://github.com/elastic/eui/blob/main/wiki/testing.md) and [cypress](https://github.com/elastic/eui/blob/main/wiki/cypress-testing.md) tests**
- [ ] Added or updated **[jest](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/unit-testing.md) and [cypress](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/testing/cypress-testing.md) tests**
- [ ] Checked for **breaking changes** and labeled appropriately
- [ ] Checked for **accessibility** including keyboard-only and screenreader modes
- [ ] Updated the **[Figma](https://www.figma.com/community/file/964536385682658129)** library counterpart
- [ ] A **[changelog](https://github.com/elastic/eui/blob/main/wiki/documentation-guidelines.md#changelog)** entry exists and is marked appropriately
- [ ] A **[changelog](https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md)** entry exists and is marked appropriately
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ jobs:
with:
changeLogPath: "upcoming_changelogs/${{ github.event.pull_request.number }}.md"
skipLabels: 'skip-changelog'
missingUpdateErrorMessage: 'You need to add a changelog to this PR before it can be merged. @see https://github.com/elastic/eui/blob/main/wiki/documentation-guidelines.md#changelog'
missingUpdateErrorMessage: 'You need to add a changelog to this PR before it can be merged. @see https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/documenting/changelogs.md'
42 changes: 1 addition & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,3 @@
# Contributing to EUI

🙌 Thanks for your interest in contributing to EUI! 🙌

If there isn't an associated feature request or bug report in EUI's backlog yet, [please create an issue](https://github.com/elastic/eui/issues/new) so that you get a chance to discuss the changes you have in mind with the EUI team. This helps the team scope out your work and provide guidance & recommendations.

## New components, features, and bug fixes

When creating new components, adding new features, or fixing bugs, please refer to the **[component development guidelines](wiki/component-development.md)**.

### How we assign work and define our roadmap

EUI is built primarily by employees of Elastic. We try to do this in the open as much as possible, but do utilize closed meetings and other planning tools to dictate our longer term roadmap. We try to transcribe the decisions from these discussions in the form of specifications to Github issues for transparency. In general, once on Github, any issue can be worked on by the community. We sometimes reserve larger projects or ones that are core to our roadmap or design to be done internally. In these cases we mark these issues as `assigned` to a person using Github. We do not, as a policy, assign issues to community members. If you find an issue that is not assigned, assume that you are welcome to work on it and can submit a pull request. Feel free to leave a comment to mark intent and avoid conflict.

### How to ensure the timely review of pull requests

To help the maintainers of EUI better respond to your pull requests please try to adhere to the following guidelines:

1. Treat each other professionally and assume best intent in each others work and suggestions
2. Include screenshots and a summary of your changes in the PR description
3. Fill out the checklist, using ~strikethroughs~ to mark any items that are not applicable
4. Make sure your changes are documented on the demo site and include liberal code comments

Generally you can expect feedback and a review of your pull request from our team within a week. Contributors should limit themselves to three or less active PRs at any one time, which helps us focus review time towards PRs that are close to a merge event. Sometimes it is unclear who has the next step in getting a pull request over the line and the review can lag as a result. If this is the case, feel free to leave a new comment and ask for guidance.

### Feel free to submit pull requests in draft stages

EUI has strict quality and testing standards due to its large downstream footprint and accessibility requirements. Don't feel intimidated and think you need to submit perfect PRs because of this. We welcome draft PRs to show conceptual ideas or enhancements you would like to see. The EUI team normally engages on these PRs in one of two ways, which is largely up to you.

1. We can provide review and guidance for how to get the PR up to the library's standards. (slower, but you might enjoy this)
2. We can commit directly to your PR to get it over the finish line. (faster)

If you have a preference, let us know when you make your PR, but never feel guilty about just handing it off. We're here to help.

### Stale PRs

Stale PRs will be automatically closed by Github's [actions/stale workflow](https://github.com/actions/stale) if they are inactive for ~3 months. If the ball is in EUI's metaphorical court in terms of review, please feel free to ping us to get the feedback round back in motion.

If the ball is in your court in terms of feedback given and changes requested, and the PR ends up auto-closing due to inactivity, the EUI team may take over your PR either by pushing to it directly or closing your PR and opening another that branches off your existing work.

## Helpful documents

Please see our [wiki](https://github.com/elastic/eui#wiki) for more documentation on the "how" of developing on EUI.
👋 This page has [moved to its own wiki folder](./wiki/contributing-to-eui) for readability.
28 changes: 7 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ Traditionally releases are made weekly against whatever is in the `main` branch

### Can I contribute to EUI?

Yes! We welcome community-contributed PRs, especially around feature requests that the EUI team may not have bandwidth to carry out alone. You can find documentation around creating and submitting new components in [CONTRIBUTING.md](CONTRIBUTING.md).
Yes! We welcome community-contributed PRs, especially around feature requests that the EUI team may not have bandwidth to carry out alone. You can find documentation around creating and submitting new components in [our wiki](wiki/contributing-to-eui/).

### What about reporting bugs and feature requests?

Bug reports and feature requests are most welcome, but our roadmap and prioritization are driven primarily by [internal Elastic usage](./CONTRIBUTING.md#how-we-assign-work-and-define-our-roadmap).
Bug reports and feature requests are most welcome, but our roadmap and prioritization are driven primarily by [internal Elastic usage](wiki/contributing-to-eui#how-we-assign-work-and-define-our-roadmap).

Please note that in order to keep our backlog manageable and focused on tasks we intend to complete, feature requests & tech debt issues that are inactive for a year will be auto-closed (bugs will remain open if determined to be reproducible and valid).

This activity counter can be soft reset by commenting on the issue directly, but please do so mindfully. We would ask that you proactively let the EUI team know why this request matters to you or how it impacts you or your users, in order to help us prioritize accordingly.

The EUI team, like everyone else, has a finite amount of time and resources, and it is not humanly possible for us to implement every task or feature requested of us. However, that's where the beauty of open source comes in - if your request is important to you, we strongly encourage you to [contribute code directly to EUI](CONTRIBUTING.md) that addresses your issue or request!
The EUI team, like everyone else, has a finite amount of time and resources, and it is not humanly possible for us to implement every task or feature requested of us. However, that's where the beauty of open source comes in - if your request is important to you, we strongly encourage you to [contribute code directly to EUI](wiki/contributing-to-eui/) that addresses your issue or request!

<!-- TODO: Delete this question once the Emotion migration is complete -->
### What is the status of EUI's theming?
Expand All @@ -49,30 +49,16 @@ The EUI library was previously built upon Sass and is in the process of migratin

## Wiki

### Consumption
Our wiki docs contain instructions and guidelines on multiple areas of EUI usage and development that are too detailed for an initial README. For more information, see:

* [Consuming EUI][consuming]
* [Using EUI with react-router](wiki/react-router.md)

### Maintenance / Contributing

[CONTRIBUTING.md](CONTRIBUTING.md)

* [Component design](wiki/component-design.md)
* [Component development](wiki/component-development.md)
* [Creating components manually](wiki/creating-components-manually.md)
* [Creating components with Yeoman](wiki/creating-components-yeoman.md)
* [Creating icons](wiki/creating-icons.md)
* [Testing](wiki/testing.md)
* [Accessibility Testing](wiki/automated-accessibility-testing.md)
* [Documentation](wiki/documentation-guidelines.md)
* [Releasing versions](wiki/releasing-versions.md)
- [Consuming EUI](wiki/consuming-eui)
- [Contributing to EUI](wiki/contributing-to-eui/)
- [Running EUI locally](wiki/contributing-to-eui/running-eui-locally.md)

## License

[Dual-licensed under Elastic v2 and Server Side Public License, v1][license]. See Elastic's [licensing FAQ][licensing-faq] for details.

[license]: LICENSE.txt
[licensing-faq]: https://www.elastic.co/pricing/faq/licensing#im-using-eui-or-elastic-charts-in-my-application-outside-of-kibana-how-does-this-affect-me
[consuming]: wiki/consuming.md
[docs]: https://elastic.github.io/eui/
2 changes: 1 addition & 1 deletion src-docs/src/views/button/button_example.js
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ export const ButtonExample = {
accept both props to be applied simultaneously to support certain
routing mechansims, it is not usually recommended. For more specific
information on how to integrate EUI buttons with react-router,{' '}
<EuiLink href="https://github.com/elastic/eui/blob/main/wiki/react-router.md#how-react-router-works">
<EuiLink href="https://github.com/elastic/eui/blob/main/wiki/consuming-eui/react-router.md#how-react-router-works">
see this wiki page
</EuiLink>
.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export const GettingStarted = {
<EuiText grow={false}>
<p>
You can read more about other ways to{' '}
<a href="https://github.com/elastic/eui/blob/main/wiki/consuming.md">
<a href="https://github.com/elastic/eui/blob/main/wiki/consuming-eui/">
consume EUI
</a>{' '}
in our wiki.
Expand All @@ -75,7 +75,7 @@ export const GettingStarted = {
functions, and mixins, you will need to consume them through one
of the <Link to="/theming/sass">Sass</Link>,{' '}
<Link to="/theming/theme-provider">Emotion</Link>, or{' '}
<a href="https://github.com/elastic/eui/blob/main/wiki/consuming.md#reusing-the-variables-in-javascript">
<a href="https://github.com/elastic/eui/blob/main/wiki/consuming-eui/README.md#a-not-recommended-legacy-method-to-consume-theming-variables-from-sass">
JSON import
</a>{' '}
methods.
Expand Down
2 changes: 1 addition & 1 deletion src-docs/src/views/icon/icon_example.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ export const IconExample = {
<p>
If you would like to contribute to our growing list of glyphs, you
can follow{' '}
<EuiLink href="https://github.com/elastic/eui/blob/main/wiki/creating-icons.md">
<EuiLink href="https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/developing/creating-icons.md">
these guidelines
</EuiLink>
.
Expand Down
2 changes: 1 addition & 1 deletion src-docs/src/views/link/link.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default () => (
<p>
Here is an example of a{' '}
<EuiLink
href="https://github.com/elastic/eui/blob/main/wiki/react-router.md#how-react-router-works"
href="https://github.com/elastic/eui/blob/main/wiki/consuming-eui/react-router.md#how-react-router-works"
onClick={() => {}}
>
link
Expand Down
2 changes: 1 addition & 1 deletion src-docs/src/views/tool_tip/tool_tip_example.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ export const ToolTipExample = {
you&rsquo;ll need to make sure these props are applied to the root
element rendered by your component. The best way to do that is to
follow{' '}
<a href="https://github.com/elastic/eui/blob/main/wiki/component-design.md#pass-through-props">
<a href="https://github.com/elastic/eui/blob/main/wiki/contributing-to-eui/developing/props.md#pass-through-props">
EUI&rsquo;s guidelines on pass-through props
</a>
.
Expand Down
Loading

0 comments on commit a144b03

Please sign in to comment.