Giter Club home page Giter Club logo

frontpage's Introduction

Storybook website

Storybook is the most popular UI component explorer! This is the website for https://storybook.js.org/.

Note: This is not the docs, those are located here.

πŸ›  Contributing

Contributions welcome! If it’s something small like grammar or punctuation, open up a pull request. If it’s a bigger change or new feature, add an issue for discussion.

Workflow

  1. Feature idea or bugfix?
  2. Build new UI or tweak existing UI in Storybook first
  3. Integrate with Gatsby
  4. Ensure tests pass in Circle CI storybooks/frontpage
  5. Ensure site works and is QAed via Netlify previews
  6. Ensure no visual bugs in Chromatic storybooks/frontpage
  7. Pull request

Running the project locally

πŸ“• Storybook instructions

The Storybook for Storybook contains every UI component. The UI is built following Component-Driven Development, a process that builds UIs from the β€œbottom up” starting with components and ending with screens. That means contributors should compose UIs in Storybook before integration with the Gatsby app.

  1. yarn install
  2. yarn build
  3. yarn run storybook

Gatsby instructions

Gatsby is used for basic routing and static site generation.

  1. yarn start to run the entire site

  2. yarn start:skip-addons to skip building the addon catalog

Docs content

The content for the documentation section is in the docs/ subdirectory of the Storybook monorepo: https://github.com/storybookjs/storybook/tree/next/docs.

To run this app while editing those files, checkout both this repository and the monorepo, and link them from this app:

yarn link-monorepo-docs path/to/monorepo

Alternatively, if you just want to serve the current content, run:

yarn extract-monorepo-docs $branch

Release notes

Release notes are stored in the src/content/releases directory as .md files. The name of the file corresponds with the version (major.minor) of the release and will be used to populate the link to the specific release from the releases page.

Within the release's .md file, frontmatter is used to create a page title, while the rest of the content is parsed using gatsby-transformer-remark and styled with selectors in src/styles/formatting.js.

Publishing new versions

See detailed docs

Environment variables

In development and with local production builds, environment variables can be configured with .env files as explained here. Variables are prefixed with GATSBY_ when that variable needs to be available in client-side code.

In deploy previews and production deploys, these variables are set with Netlify's build variables.

Search

Search within the docs is powered by DocSearch. In order for this to work, an environment variable is required:

GATSBY_ALGOLIA_API_KEY

How to setup on your machine:

  1. Create a .env.development file locally
  2. Get the key here: https://app.netlify.com/sites/storybook-frontpage/settings/deploys#environment
  3. Add GATSBY_ALGOLIA_API_KEY=key to the file from step 1

The site is crawled every 24 hours so any updates will be reflected in that amount of time.

Blog posts

The latest blog post is fetched from Ghost. You will need to add In order for this to work, an environment variable is required:

GHOST_STORYBOOK_API_KEY

How to setup on your machine:

  1. Create a .env.development file locally
  2. Get the key here: https://storybookblog.ghost.io/ghost
  3. Add GHOST_STORYBOOK_API_KEY=key to the file from step 1

Tooling

This project uses these tools to make our job easier.

πŸ’« Deploys by Netlify

Master and branches are automatically deployed by Netlify every commit.

πŸ–Ό Visual testing by Chromatic

All stories in the Storybook are automatically visual tested on desktop and mobile each commit. Ensure all baselines are βœ… accepted before merging.

🚦 Continuous integration by Circle CI

Every build a test suite runs. Ensure there are no errors before merging.

frontpage's People

Contributors

andarist avatar bhishp avatar dakebl avatar dependabot[bot] avatar domyen avatar ghengeveld avatar glazy avatar graup avatar hypnosphi avatar imgbotapp avatar jonathankolnik avatar jonniebigodes avatar keraito avatar kylegach avatar kylesuss avatar landsman avatar lucas-carl avatar mertkahyaoglu avatar ndelangen avatar olejech avatar rbardini avatar sagirk avatar samrobbins85 avatar shilman avatar tinymachine avatar tmeasday avatar tonai avatar usulpro avatar winkervsbecks avatar yannbf avatar

Stargazers

 avatar

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.