ืืืื ืืฉ ืื ืคืจืืืงื ืงืื ืคืชืื ืืื ืืืชืจ, ืืื ืื ืืื ืื ืชืืขืื ืืื, ืจืื ืืกืืืืืื ืฉืืื ืืขืืื ืื ืืืจืื. ืืืฉืจื, ืชืืขืื ืืื ืืื ืข ืืื ืืขื ืืช ืขื ืืืชื ืฉืืืืช ืฉืื ืืฉืื. ืืชืืขืื ืื ืืืืื ืฉืื ืฉืื ืืืืืื ืืืืื ืืช ืืคืจืืืงื ืื ืขืืืื ืืคืชื ืขืืืืื ืืช ืืืืจื ืื ืฉืืฉืชื ื ืชืคืงืืืื. ืื ืืืืช ืืืื ืืืช ืขืืืจืืช ืืืืืื ืฉืืืืช ืื ืชืื ืื.
ืื ืืชื ืฆืจืื ืืืชืื ืืงืกื ืืจืื, Markdown ืืื ืืืืคื ืืฆืืื ืช ื-HTML. ืืคืขืืื ืชืืืืจ Markdown ืืื ื ืืกืคืืง. ืืืงืจื ืื, ื ืืื ืืืฉืชืืฉ ืืชืืื HTML. ืืืืืื, ืืืื ืืื ืืืชืืืื ืืืฉืืช. ืืื, ืื ืืชื ืืื ื ืืขืจืืช ืขืืฆืื ืขื ืจืืืื ืืื ืืจื ื ืืงืืจืืื, ืงื ืืืืื ืืืชื ืืชืืขืื ืืงืกื. ืื ืืชื ืืฉืชืืฉ ื-React (ืื ืืื ืืกืืจืช ืืืจืช ืฉื JSX ืืื Preact ืื Vue), ืืชื ืืืื ืืขืฉืืช ืืช ืืืชื ืืืืจ ืขื MDX.
ืืืืจ ืื ืืื ืกืงืืจื ืจืืื ืฉื ืืืื ืืืชืืืช ืชืืขืื ืืืฆืืจืช ืงื ืื ืื. ืื ืื ืืืืื ืืืคืืจืืื ืืื ืืฉืชืืฉืื ื-MDX, โโืืื ืืื ื ืืื ืืืชืจ ืืืืชืจ ืืืื ืชืืขืื.
ืื ืื MDX?
ืงืืืฅ .mdx
ืืขื ืืืชื ืชืืืืจ ืืื Markdown ืื ืืืคืฉืจ ืื ืืืืื ืจืืืื JSX ืืื ืืจืืงืืืืืื ืืืืืืืข ืืืชื ืืชืืื ืฉืื. ืืชืืืื ืืจืืืื Vue ืืื ืืืืคื. ืขื ืื ืช ืืืชืืื ืืขืืื ืขื MDX, ืคืฉืื ืืชืงื ืืช "Create React App". ืืฉื ื ืชืืกืคืื ืขืืืจ Next.js ื-Gatsby. ืื ืืืจืกื ืืืื ืฉื Docusaurus (ืืจืกื 2) ืชืืื ืชืืืื ืืืื ืืช.
ืืชืืืช ืชืืขืื ืขื ืืืงืืกืืืจืืก
ืืชื ืืืงืืกืืืจืืก ืืคืืืกืืืง. ืื ืืฉืชืืฉืื ืื ืืื ืคืจืืืงื ืงืื ืคืชืื ืืืื React. ืืืืฅ ืืืืจื, Redux, Prettier, Gulp ืืืืื ืืฉืชืืฉืื ืื.
ืคืจืืืงืืื ืืืฉืชืืฉืื ื-Docusaurus.
ื ืืชื ืืืฉืชืืฉ ืืืืงืืกืืืจืืก ืืืชืืื ืื ืชืืขืื, ืื ืจืง ืืชืืืืจ ืืืืืช. ืืฉ ืื React ืืชืืช ืืืืกื ืืื ืืข, ืืื ืืชื ืื ืฆืจืื ืืืืืจ ืืืชื ืืื ืืืฉืชืืฉ ืื. ืื ืืืงื ืืช ืงืืฆื Markdown ืฉืื, ืงืืจื ืฉื ืงืกื ืืชืืขืื ืืืื ื ืืืื, ืืขืืฆื ืืงืจืื ืขื ืขืืฆืื ืืคืืคื ืืืื.
ืืชื ืืืื ืืจืืืช ืืช ืชืื ืืช ืืจืืจืช ืืืืื ืฉื Docusaurus ืืืชืจ Redux.
ืืชืจืื ืฉื ืื ื ืขื Docusaurus ืืืืืื ืืืืื ืื ืืืื ืืืืกืก Markdown. ืืืืืฉืช ืชืืืืจ, Prism.js ื ืืื ืืื. ืืืจืืช ืืขืืืื ืฉ-Docusaurus ืืืคืืข ืืืืจืื ื ืืืกืืช, ืืื ืืืืจ ืืืื ืืืื ืืืืชืจ ืฉื 2018 ื-StackShare.
ืืคืฉืจืืืืช ืืืจืืช ืืืฆืืจืช ืชืืื
Docusaurus ืชืืื ื ืืืืืื ืืืฆืืจืช ืชืืขืื. ืืืืื, ืืฉ ืืืืืื ืืืืช ืืจืืื ืืืฆืืจ ืืชืจ ืืื ืืจื ื - ืืชื ืืืื ืืคืจืืก ืคืชืจืื ืืฉืื ืืื ืฉืคื, CMS, ืื ืืืฉืชืืฉ ืืืืืื ืืชืจืื ืกืืื.
ืืืืืื, ืืชืืขืื ืฉื React, ืืขืจืืช ืืขืืฆืื ืฉื IBM, Apollo ื-Ghost CMS ืืฉืชืืฉืื ื-Gatsby, ืืืืื ืืชืจืื ืกืืื ืืืฉืืฉ ืืขืชืื ืงืจืืืืช ืืืืืืื. ืื ืืชื ืขืืื ืขื Vue ืื VuePress ืืื ืืคืฉืจืืช ืืืื ืขืืืจื. ืืคืฉืจืืช ื ืืกืคืช ืืื ืืืฉืชืืฉ ืืืืืื ืฉื ืืชื ื-Python - MkDocs. ืืื ืคืชืื ืืืืืืจ ืขื ืงืืืฅ YAML ืืืื. GitBook ืืื ืื ืืคืฉืจืืช ืืืื, ืืื ืืื ืืื ืืืช ืจืง ืืฆืืืชืื ืคืชืืืื ืืื ืืกืืจืืื. ืืชื ืืืื ืื ืคืฉืื ืืืขืืืช ืงืืฆื Mardown ืืืืฆืขืืช git ืืืขืืื ืืืชื ื- Github.
ืชืืขืื ืจืืืืื: ืืืง, ืกืคืจ ืกืืคืืจืื ืืกืืืืืืืืืืกื
ืื ืืืืช, ืขืืฆืื ืืขืจืืช, ืกืคืจืืืช ืจืืืืื, ืืื ืฉืื ืชืจืฆื ืืงืจืื ืืื, ืืื ืืคืื ืคืืคืืืจืืื ืืืื ืืืืจืื ื. ืืืคืขืชื ืฉื ืืกืืจืืช ืจืืืืื ืืื React ืืืืืื ืฉืืืืืจื ืืื ืืคืฉืจื ืืืคืื ืืืชื ืืคืจืืืงืืื ืฉื ืืืืจืืช ืืืืื ืฉืืืืฉืืื.
Storybook, Docz ื- Styleguidist ืขืืฉืื ืืช ืืืชื ืืืืจ: ืืฆืืืื ืืืื ืืื ืืื ืืจืืงืืืืืื ืืืชืขืืื ืืช ื-API ืฉืืื. ืคืจืืืงื ืืืื ืืืืื ืขืฉืจืืช ืืืฃ ืืืืช ืจืืืืื, ืืืื ืขื ืืฆืืื ืืกืื ืื ืืช ืฉืื ืื. ืื ืืชื ืจืืฆื ืืขืฉืืช ืฉืืืืฉ ืืืืจ ืืจืืืืื, ืื ืฉืื ืฆืจืืืื ืืืขืช ืฉืื ืงืืืืื. ืืื ืืขืฉืืช ืืืช, ืื ืืกืคืืง ืืื ืืงืืื ืืช ืืจืืืืื. ืื ืืืืช ืืกืคืงืืช ืกืงืืจื ืงืื ืืืืคืืฉ ืฉื ืื ืืจืืืืื ืฉืื. ืื ืขืืืจ ืืฉืืืจ ืขื ืขืงืืืืช ืืืืืืืืช ืืืืืื ืข ืืขืืืื ืืืืจืช ืื ืฉื ืืช.
ืืืื ืืื ืืกืคืงืื ืืจื ื ืืื ืืืฆืื ืืฆืืื ืฉืื ืื. ืื ืืืื ืืืืืช ืงืฉื ืืฉืืคื ืื ืืฆื ืฉื ืจืืื ืืืงืฉืจ ืฉื ืืืฉืื ืืืืชื. ืืืงืื ืืืืืฅ ืขื ืืืคืืืงืฆืื ืืคืืขื, ืืืื ืืคืชื ืจืืื ื ืคืจื. ืืคืฉืจ ืืืืื ืืฆืืื ืฉืงืฉื ืืืืืข ืืืืื (ืืืืืื, ืืฆื ืืขืื ื).
ืืฆื ืืืืื ืืืืืืืืช ืฉื ืืฆืืื ืฉืื ืื ืืจืฉืืืช ืืืคืืื ืื, ืืจืื ืืฉ ืฆืืจื ืืืชืื ืชืืืืจ ืืืื ืฉื ืืชืืื โ ื ืืืืงืื ืขืืฆืืืืื, ืืงืจื ืฉืืืืฉ ืื ืชืืืืจ ืชืืฆืืืช ืืืืงืืช ืืืฉืชืืฉ. ืงื ืืืื ืืืืื ืืช Markdown - ืืืืคื ืืืืืืื, ืื ืืืืช ืฆืจืืืืช ืืืืืช ืืฉืื ืืฉืืชืฃ ืขืืืจ ืืขืฆืืื ืืืคืชืืื. Docz, Styleguidist ื-Storybook ืืฆืืขืื ืืจื ืืขืจืื ืืงืืืช ืืช Markdown ืขื ืจืืืืื.
ืืืฆ'
ื ืืื ืืขืืฉืื, Docz ืขืืื ืจืง ืขื React, ืื ืขืืื ืืืืคื ืคืขืื ืขื ืชืืืื ืืจืืืื Preact, Vue ื-web. Docz ืืื ืืขืืื ื ืืืืชืจ ืืืื ืฉืืืฉืช ืืืืื, ืื ืืฆืืื ืืืกืืฃ ืืืขืื ื-14 ืืืืืื ื-Github. ืืืง ืืฆืื ืฉื ื ืืจืืืืื - <Playground>
ะธ < Props >
. ืื ืืืืืืื ืืืฉืืฉืื ืืงืืฆืื .mdx
.
import { Playground, Props } from "docz";
import Button from "../src/Button";
## You can _write_ **markdown**
### You can import and use components
<Button>click</Button>
ืืชื ืืืื ืืขืืืฃ ืขื ืจืืืื React ืืฉืื <Playground>
ืืื ืืืฆืืจ ืื ืืืื ืฉื CodePen ืื CodeSandbox ืืืืื ื - ืืืืืจ, ืืชื ืจืืื ืืช ืืจืืื ืฉืื ืืืืื ืืขืจืื ืืืชื.
<Playground>
<Button>click</Button>
</Playground>
<Props>
ืืฆืื ืืช ืื ืืืืคืืื ืื ืืืืื ืื ืขืืืจ ืจืืื React ืื ืชืื, ืขืจืื ืืจืืจืช ืืืื ืืืื ืื ืืก ื ืืจืฉ.
<Props of={Button} />
ืืืืคื ืืืฉื, ืื ื ืืืฆื ืืช ืืืืฉื ืืืืกืกืช MDX ืืื ืืงืื ืืืืชืจ ืืืื ื ืืืงืื ืืืืชืจ ืืขืืื ืืืชื.
ืื ืืชื ืืขืจืืฅ ืฉื ืืืืื ืืืชืจืื ืืกืืื ืฉื ืืืกืื, Docz ืืฆืืข ืืื ืืืจืฆืืืช ื ืืืจืืช.
ืืืจืื ืืกืื ืื
ืืื ื-Docz, ืืืืืืืช ื ืืชืืืช ืืืืฆืขืืช ืชืืืืจ Markdown. Styleguidist ืืฉืชืืฉ ืืืืงื ืงืื Markdown (ืืจืืืืช ืืฉืืืฉืืช) ืืงืืฆืื ืจืืืืื .md
ืงืืฆืื, ืื ื-MDX.
```js
<Button onClick={() => console.log('clicked')>Push Me</Button>
ืืืืงืื ืฉื ืงืื ื-Markdown ืืืจื ืืื ืจืง ืืฆืืืื ืืช ืืงืื. ืืขืช ืฉืืืืฉ ื- Styleguidist, ืื ืืืฉ ืงืื ืขื ืชื ืฉืคื js
, jsx
ืื javascript
ืืืฆื ืืจืืื React. ืืื Docz, ืืงืื ื ืืชื ืืขืจืืื - ื ืืชื ืืฉื ืืช ืืืคืืื ืื ืืืจืืืช ืืช ืืชืืฆืื ืืืืคื ืืืืื.
Styleguidist ืืฆืืจ ืืืืืืืืช ืืืืืื ืืืคืืื ืื ืืืฆืืจืืช PropTypes, Flow ืื Typescript.
Styleguidist ืชืืื ืืขืช ื-React ืื-Vue.
ืกืคืจ ืกืืคืืจ
Storybook ืืืืื ืืช ืขืฆืื ื"ืกืืืืช ืคืืชืื ืจืืืื ืืืฉืง ืืฉืชืืฉ". ืืืงืื ืืืชืื ืืืืืืืช ืจืืืืื ืืชืื ืงืืฆื Markdown ืื MDX, ืืชื ืืืชื ืืืกืืืจืื ืืชืื ืงืืฆื Javascript. ืืชืื ืืชืขื ืืช ืืืฆื ืืกืคืฆืืคื ืฉื ืจืืื. ืืืืืื, ืืจืืื ืขืฉืืืืช ืืืืืช ืืืกืืืจืืืช ืขืืืจ ืืฆื ืืขืื ื ืืืฆื ืืืฉืืช (ื ืื).
storiesOf('Button', module)
.add('disabled', () => (
<Button disabled>lorem ipsum</Button>
))
ืกืคืจ ืกืืคืืจืื ืืืจืื ืืจืื ืืืชืจ ื- Styleguidist ื-Docz. ืืื ืืื ืขื ืืืช, ืื ืืืืคืฆืื ืืคืืคืืืจืืช ืืืืชืจ, ื-Github ืืคืจืืืงื ืืฉ ืืืชืจ ื-36 ืืืืืื. ืืื ืคืจืืืงื ืงืื ืคืชืื ืขื 000 ืชืืจืืื ืืืืืื ืฆืืืช. ืืื ื ืืฆื ืืฉืืืืฉ ืฉื Airbnb, Algolia, Atlassian, Lyft ื-Salesforce. Storybook ืชืืื ืืืืชืจ ืืกืืจืืช ืืืฉืจ ืืืชืืจืื - React, React Native, Vue, Angular, Mithril, Ember, Riot, Svelte ื-HTML ืจืืื.
ืืืืืืจื ืขืชืืืืช, ืืืื ืฉืืืื ืฉื Docz ื-MDX ืืืฆื.
# Button
Some _notes_ about your button written with **markdown syntax**.
<Story name="disabled">
<Button disabled>lorem ipsum</Button>
</Story>
ืืชืืื ืืช ืืืืฉืืช ืฉื Storybook ืืชืืืืื ืืืืจืื ืืืืื ืืืืืฉืื ืืงืจืืืื, ืื ืจืื ืฉืื ืืืื ืฆืขื ืืืื ืงืืืื.
ืชืืฆืืืช ืฉื
ืืืชืจืื ืืช ืฉื ืกืคืจืืืช ืืืคืืกืื ืืืืื ืืฉืืืื ืืืืืืื ื ืืืืจืื ื-Medium. ืืืฉืจ ืขืืฉืื ืืืช ืืืื, ืื ืืงืืื ืขื ืืฆืืจืช ืืืฆืจืื ืงืฉืืจืื ืืฉืืืจื ืขื ืืืืช. ืืืืื ืฉืืฃ ืืื ืืืืืื ืืืื ืื ืืืฆืืจ ืืขืจืืช ืขืืฆืื ืืฆืืจื ืงืกืืื. ืื ืืืจืฉ ืขืืฆืื ืงืคืื ื ืืขืืฆืื CSS. ืืื ืืฉืืืืข ืืืื ืืืคืื ืืช ืืขืจืืช ืืขืืฆืื ืืืืื ื ืืื ืืืืจื, Docz, Storybook ื- Styleguidist ืื ืืคืฉืจืืืืช ืืฆืืื ืืช.
ืืืช ืืชืจืื. ืื ืืืชื ืกืืช ืืจืืฉืื ื ืฉืื ื-Habrรฉ. ืื ืืชื ืืืฆืืื ืื ืืืืงืื, ืื ืฉืืฉ ืืื ืืฆืขืืช ืืฉืืคืืจ ืืืืืจ - ืืชืื ืืืืืขื ืืืฉืืช.
ืืงืืจ: www.habr.com