Giter VIP home page Giter VIP logo

fractal's Introduction

Fractal



Fractal is a tool to help you build and document web component libraries and design systems.

Read the full Fractal documentation

Introduction

Component (or pattern) libraries are a way of designing and building websites in a modular fashion, breaking up the UI into small, reusable chunks that can then later be assembled in a variety of ways to build anything from larger components right up to whole pages.

Fractal helps you assemble, preview and document website component libraries, or even scale up to document entire design systems for your organisation.

Check out the documentation for more information.

Requirements

You'll need a supported LTS version of Node. Fractal may work on unsupported versions, but there is no active support from Fractal and new features may not be backwards compatible with EOL versions of Node.

Getting started

Install into your project (recommended)

npm install @frctl/fractal --save-dev

Then create your fractal.config.js file in the project root, and configure using the official documentation.

Then you can either run npx fractal start to start up the project, or create an alias under the scripts section in your package.json as a shortcut.

e.g.

"scripts": {
    "fractal:start": "fractal start --sync",
    "fractal:build": "fractal build"
}

then

npm run fractal:start

Installing globally

npm i -g @frctl/fractal

This will also give you global access to the fractal command which you can use to scaffold a new Fractal project with fractal new.

The downside is that it's then difficult to use different Fractal versions on different projects.

This option is not recommended until a global Fractal install is capable of offloading to a project specific version.

Examples

While there are no official examples or demo instances, there are lots of public examples on the Awesome Fractal repo.

Contributing

Fractal has an active group of contributors but we are always looking for more help. If you are interested in contributing then please come and say hi on Fractal's Discord server.

Please note we have a code of conduct, please follow it in all your interactions with the project.

Reporting issues & requesting features

We use GitHub issues to track bugs and feature requests. Thank your for taking the time to submit your issue in one of our repositories.

If you rather have a question, please ask it on our Discord server.

Submitting pull requests

We will always welcome pull requests on any of the frctl organisation repositories. Please submit PRs against main branch with an explanation of your intention.

We use conventional commits, which means that every pull request title should conform to the standard.

Development

This repository is a monorepo managed by Lerna. There is only one lockfile in root. This means that all packages must be installed in root, manually added to the packages' package.json files and then bootstrapped with lerna.

To do some work, run the following commands in root:

  1. npm ci
  2. npm run bootstrap

Testing

Fractal is a project that evolved rapidly and organically from a proof-of-concept prototype into a more stable, mature tool. Because of this it's currently pretty far behind where it should be in terms of test coverage. Any contributions on this front would be most welcome!

Existing tests can be run using the npm test command.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Mark Perkins

๐Ÿ’ฌ ๐Ÿ› ๐Ÿ’ป ๐Ÿ–‹ ๐ŸŽจ ๐Ÿ“– ๐Ÿš‡ ๐Ÿ‘€

dkhuntrods

๐Ÿ’ป ๐Ÿ–‹ ๐Ÿ“– ๐Ÿ“‹ ๐Ÿค” ๐Ÿ“†

Matt Chapman

๐Ÿ’ฌ ๐Ÿ› ๐Ÿ’ป ๐Ÿค” ๐Ÿš‡ ๐Ÿšง ๐Ÿ‘€

Mihkel Eidast

๐Ÿ’ฌ ๐Ÿ› ๐Ÿ’ป ๐Ÿšง ๐Ÿ‘€

Benoรฎt Burgener

๐Ÿ’ฌ ๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿค” ๐Ÿšง ๐Ÿ‘€

Veit Lehmann

๐Ÿ’ป

Renรฉ Schleusner

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.