1 | <p align="center" style="margin-bottom: -20px">
|
2 | <img src="https://cdn-std.dprcdn.net/files/acc_649651/BSPk3z">
|
3 | </p>
|
4 |
|
5 | <p align="center">
|
6 | <a href="https://www.npmjs.com/package/docz" target="_blank">
|
7 | <img src="https://badgen.net/npm/v/docz" alt="">
|
8 | </a>
|
9 | <a href="LICENSE.md" target="_blank">
|
10 | <img src="https://badgen.net/badge/license/MIT/blue" alt="">
|
11 | </a>
|
12 | <a href="https://www.npmjs.com/package/docz" target="_blank">
|
13 | <img src="https://badgen.net/npm/dt/docz" alt="">
|
14 | </a>
|
15 | <a href="http://feedback.docz.site/roadmap" target="_blank">
|
16 | <img src="https://img.shields.io/badge/check-our%20roadmap-5362F5.svg" alt="Chat">
|
17 | </a>
|
18 | </p>
|
19 |
|
20 | Docz makes it easy to write and publish beautiful interactive documentation for your code.
|
21 |
|
22 | Create MDX files showcasing your code and Docz turns them into a live-reloading, production-ready site.
|
23 |
|
24 | ![docz example](https://cdn-std.dprcdn.net/files/acc_649651/S2YCID)
|
25 |
|
26 | ## Table of Contents
|
27 |
|
28 |
|
29 | - [Why ?](#why)
|
30 | - [Start a New Project](#start-a-new-project)
|
31 | - [Add Docz to an Existing Project](#add-docz-to-an-existing-project)
|
32 | - [Build](#build)
|
33 | - [Deploy](#deploy)
|
34 | - [Examples](#examples)
|
35 | - [More info on docz.site](#more-info-on-doczsite)
|
36 | - [Used by](#used-by)
|
37 | - [Contributors](#contributors)
|
38 | - [Contributing](#contributing)
|
39 |
|
40 | ## Why ?
|
41 |
|
42 | Documenting code is one of the most important and time-heavy processes when developing software.
|
43 |
|
44 | A lot of time is spent on building and maintaining custom documentation sites.
|
45 |
|
46 | Docz enables you to quickly create live-reloading, seo-friendly, production-ready documentation sites with MDX and customize the look, feel and behavior when required by leveraging [GatsbyJS](https://www.gatsbyjs.org) and [Gatsby theme shadowing](https://www.gatsbyjs.org/docs/themes/shadowing/).
|
47 |
|
48 | ## Start a New Project
|
49 |
|
50 | Use [create-docz-app](https://www.npmjs.com/package/create-docz-app) to quickly get started :
|
51 |
|
52 | ```sh
|
53 | npx create-docz-app my-docz-app
|
54 | # or
|
55 | yarn create docz-app my-docz-app --example typescript
|
56 | ```
|
57 |
|
58 | ## Add Docz to an Existing Project
|
59 |
|
60 | Start by adding `docz` as a dependency :
|
61 |
|
62 | ```bash
|
63 | $ yarn add docz@next # react react-dom
|
64 |
|
65 | # or
|
66 |
|
67 | $ npm install docz@next # react react-dom
|
68 | ```
|
69 |
|
70 | > **Note**: `react` and `react-dom` will not be installed automatically. You'll have to install them yourself.
|
71 |
|
72 | Then, add `.mdx` files anywhere in your project:
|
73 |
|
74 | ```mdx
|
75 | ---
|
76 | name: Button
|
77 | route: /
|
78 | ---
|
79 |
|
80 | import { Playground, Props } from 'docz'
|
81 | import Button from './Button'
|
82 |
|
83 | # Button
|
84 |
|
85 | <Props of={Button} />
|
86 |
|
87 | ## Basic usage
|
88 |
|
89 | <Playground>
|
90 | <Button type="submit">Click me</Button>
|
91 | <Button>No, click me</Button>
|
92 | </Playground>
|
93 | ```
|
94 |
|
95 | And a Button component `Button.jsx`:
|
96 |
|
97 | ```typescript
|
98 | import React from 'react'
|
99 | import t from 'prop-types'
|
100 |
|
101 | const Button = ({ children, type }) => <button type={type}>{children}</button>
|
102 |
|
103 | Button.propTypes = {
|
104 | /**
|
105 | * This is a description for this prop.
|
106 | * Button type.
|
107 | */
|
108 | type: t.oneOf(['button', 'submit', 'reset']),
|
109 | }
|
110 | Button.defaultProps = {
|
111 | type: 'button',
|
112 | }
|
113 | export default Button
|
114 | ```
|
115 |
|
116 | Finally, run:
|
117 |
|
118 | ```bash
|
119 | yarn docz dev
|
120 | ```
|
121 |
|
122 | This will start a local development server and open your documentation site in the browser.
|
123 |
|
124 | ## Build
|
125 |
|
126 | `yarn docz build` will generate a static site for your site in `.docz/dist/`.
|
127 |
|
128 | You can try it out with `yarn docz serve` or by serving the generated site with your favorite static file server (e.g. `npx serve .docz/dist`).
|
129 |
|
130 | You can have `yarn docz build` emit to a different directory by providing a path to the `dest` field in your doczrc.js or from the command line : `yarn docz build --dest docs-site-directory`.
|
131 |
|
132 | ## Deploy
|
133 |
|
134 | The output of docz consists of static assets only. This allows you to deploy your generated `docz` site with any static site hosting provider you'd like.
|
135 |
|
136 | Start by building your site with `yarn docz build`, if you haven't provided a `dest` flag to your config then you will find your generated files in `.docz/dist` to copy to the server.
|
137 |
|
138 | ## Examples
|
139 |
|
140 | - **[basic](https://github.com/doczjs/docz/tree/master/examples/basic)** - Barebones example.
|
141 | - **[gatsby](https://github.com/doczjs/docz/tree/master/examples/gatsby)** - Example using Docz in a Gastby project.
|
142 | - **[react native](https://github.com/doczjs/docz/tree/master/examples/react-native)** - Using Docz in a React Native project.
|
143 | - **[styled-components](https://github.com/doczjs/docz/tree/master/examples/styled-components)** - Using Docz with `styled-components`.
|
144 | - **[with typescript](https://github.com/doczjs/docz/tree/master/examples/typescript)** - Using Docz with Typescript.
|
145 | - **[with flow](https://github.com/doczjs/docz/tree/master/examples/flow)** - Using Docz with Flow.
|
146 | - **[with images](https://github.com/doczjs/docz/tree/master/examples/images)** - Using Docz with images in mdx and jsx.
|
147 |
|
148 | - **[with sass](https://github.com/doczjs/docz/tree/master/examples/sass)** - Using Docz parsing CSS with SASS.
|
149 | - **[with less](https://github.com/doczjs/docz/tree/master/examples/less)** - Using Docz parsing CSS with LESS.
|
150 | - **[with stylus](https://github.com/doczjs/docz/tree/master/examples/css-stylus)** - Using Docz parsing CSS with Stylus.
|
151 | - **with css modules**: works out of the box with gatsby
|
152 |
|
153 | You can check the complete list of docz examples [here](https://github.com/doczjs/docz/tree/master/examples).
|
154 |
|
155 | ## More info on [docz.site](https://docz.site)
|
156 |
|
157 | ## Used by
|
158 |
|
159 | - **[Smooth UI](https://smooth-ui.smooth-code.com/)** - Modern React UI library.
|
160 | - **[Set Protocol Docs](https://docs.setprotocol.com/)** - Documentation site of Set Protocol.
|
161 | - **[RBX](https://dfee.github.io/rbx)** - The Comprehensive Bulma UI Framework for React.
|
162 | - **[Circuit UI](https://circuit.sumup.com/#/)** - React component library for [SumUp](https://sumup.com) web apps.
|
163 | - **[Fannypack](https://fannypack.style)** - A friendly & accessible React UI Kit built with [Reakit](https://reakit.io/).
|
164 | - **[React Pixi](https://reactpixi.org/#/)** - React Fiber renderer for Pixi.
|
165 | - **[React Hotkey Tooltip](https://react-hotkey-tooltip.netlify.com/#/)** - A global Hotkey provider with built in tooltip for React.
|
166 | - **[Sajari React SDK](https://sajari-sdk-react.netlify.com/)** - Library of React Components for the Sajari.
|
167 |
|
168 | ## Contributors
|
169 |
|
170 | This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
171 |
|
172 | <a href="https://github.com/doczjs/docz/graphs/contributors"><img src="https://opencollective.com/docz/contributors.svg?width=890&button=false" /></a>
|
173 |
|
174 | ## Contributing
|
175 |
|
176 | All kinds of contributions are very welcome and appreciated !
|
177 |
|
178 | If you want to contribute time to docz then here's a list of suggestions to get you started :
|
179 |
|
180 | 1. Star the project.
|
181 | 2. Help people in the [issues](https://github.com/doczjs/docz/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) by sharing your knowledge and experience.
|
182 | 3. Find and report issues.
|
183 | 4. Submit PRs to help solve issues or add features.
|
184 | 5. Influence the future of docz with feature requests.
|
185 |
|
186 | If you're looking for a place to start make sure to check issues tagged with :
|
187 |
|
188 | [![Good First Issue](https://img.shields.io/github/issues/doczjs/docz/good%20first%20issue.svg)](https://github.com/doczjs/docz/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
|
189 |
|
190 | And make sure to read the [Contributing Guide](/CONTRIBUTING.md) before making a pull request.
|
191 |
|
192 | You can also contribute money to help secure docz's future.
|
193 |
|
194 | <p align="center">
|
195 | <a href="https://opencollective.com/docz" target="_blank">
|
196 | <img src="https://cdn-std.dprcdn.net/files/acc_649651/Q5nVhT" height="80" alt="Open Collective">
|
197 | </a>
|
198 | </p> |
\ | No newline at end of file |