Skip to content
/ docz Public
forked from doczjs/docz

✍ It has never been so easy to document your things!

License

Notifications You must be signed in to change notification settings

AdriaRios/docz

Repository files navigation

Open Collective Patreon

Chat

✅️   Migration Guide

This documentation is for Docz v2. Follow our migration guide if you haven't upgraded your project yet.

📕 v1 docs

If you're still using v1, you can find the docs here.

🎩   Features

  • 🔩 Powered by Gatsby. Bundling and ecosystem powered by Gatsby.
  • 🧘 Zero config and easy. Don't worry about complex configurations steps.
  • ⚡️ Blazing Fast. Full hot reload support with webpack 4 and automatic code splitting.
  • 💅 Easy to customize. Create and use real customizable themes.
  • 📝 MDX Based. Write markdown enhanced by the power of components.
  • 🎛 Pluggable. Use plugins to manipulate and customize Docz to suit your needs.
  • 🔐 Typescript Support. Full support for TypeScript. Write your type definitions with no extra setup required.

🤔   Why?

Libraries that make development easier are appearing every day. Style guides and design systems are growing in popularity. Today, tools that allow us to get our best work done and be efficient are necessary. We shouldn't be spending too much time on tasks that should be trivial. This is why we created Docz.

Documenting code is one of the most important and time-heavy processes when you're creating something new. A lot of time is wasted on unnecessarily attempting to build a documentation site that will match the style we want.

👉🏻   More info on our website

🎛   Plugins

🗃   Examples

🌍   Around the world

⚠️   Warning

Since the release of v1 you need react and react-dom v16.8.0 or later installed.

📟   Install and Usage

Getting started with Docz is really quick and easy.

If you're starting from scratch use create-docz-app to create your project.

npx create-docz-app my-docz-app 
# or
yarn create docz-app my-docz-app --example typescript

If you want to add docz to a codebase, then add docz using your favourite package manager:

$ yarn add --dev docz@next react react-dom

# or

$ npm install --save-dev docz@next react react-dom

Note: react and react-dom will not be installed automatically. You'll have to install them yourself.

Next, add some .mdx files anywhere in your project:

---
name: Button
route: /
---

import { Playground, Props } from "docz";
import Button from "./Button";

# Button

<Props of={Button} />

## Basic usage

<Playground>
  <Button type="submit">Click me</Button>
  <Button>No, click me</Button>
</Playground>

And a Button component Button.jsx:

import React from "react";
import t from "prop-types";

const Button = ({ children, type }) => <button type={type}>{children}</button>;

Button.propTypes = {
  /**
   * This is a pretty good description for this prop
   * Button type. Learn more about `type` attribute [at MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type)
   */
  type: t.oneOf(["button", "submit", "reset"])
};
Button.defaultProps = {
  type: "button"
};
export default Button;

Finally, run the Docz development server:

$ yarn docz dev

That's it! Now you have some real badass documentation 👊

Any doubt? Check our docs to see more about Docz!

🤝   Contributions

Contributions, issues and feature requests are very welcome. Please make sure to read the Contributing Guide before making a pull request.

💪🏻   Contributors

This project exists thanks to all the people who contribute. [Contribute].

💭   Needing Help?

If you need some help you can chat with us on our Spectrum Community, we have a great team who would be more than happy to help you:

Pedro Nauck
Pedro Nauck

💻 📖 🐛 👀

About

✍ It has never been so easy to document your things!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 59.8%
  • JavaScript 39.0%
  • Other 1.2%