Giter VIP home page Giter VIP logo

nerdfishui's Introduction

Nerdfishui

Nerdfish Design System


Introducing Nerdfishui - a custom component library built with React and TailwindCSS to help streamline proof of concept development and provide visually pleasing and functional components. Nerdfishui is the perfect tool for developers who want to quickly create stunning and user-friendly interfaces.

It's an opinionated library, so you might not agree with all the design, but you can add your own styles to the components.

It's mainly radix-ui primitives with some custom styling, with strong inspiration from https://ui.shadcn.com

Usage

Installation

To install the component-library run the following within your project directory.

npm

npm install @nerdfish/theme @nerdfish/tailwind-config @nerdfish/ui postcss tailwindcss @tailwindcss/typography lucide-react tailwindcss-animate

yarn

yarn add @nerdfish/theme @nerdfish/tailwind-config @nerdfish/ui postcss tailwindcss @tailwindcss/typography lucide-react tailwindcss-animate

npm

pnpm add @nerdfish/theme @nerdfish/tailwind-config @nerdfish/ui postcss tailwindcss @tailwindcss/typography lucide-react tailwindcss-animate

Configuration

The theme of this library depends on the @tailwindcss/typography plugin. To use it, follow the steps on the plugin source page. https://github.com/tailwindlabs/tailwindcss-typography For animations, you need to install the tailwindcss-animate plugin.

// tailwind.config.js
module.exports = {
  mode: 'jit',
  content: [
    // ... paths that use tailwind
    './node_modules/@nerdfish/**/*.{js,ts,jsx,tsx}', // path to nerdfishui
  ],
  theme: {
    extend: {},
  },
  plugins: [
    require('tailwindcss-animate'),
    require('@tailwindcss/typography'),
    require('@nerdfish/tailwind-config'),
  ],
}
// postcss.config.js
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  },
}

Then you need a global css file which you import at the root of the project

@tailwind base;
@tailwind components;
@tailwind utilities;

Quick start

import * as React from 'react'
import {H1, ThemeProvider} from '@nerdfish/ui'

import '@nerdfish/theme/dist/nerdfishui.css'

function App() {
  return (
    <ThemeProvider>
      <H1>Hello Nerdfish</H1>
    </ThemeProvider>
  )
}

Useful Commands

  • pnpm build - Build all packages, including the docs
  • pnpm dev - Run all packages locally and preview the docs
  • pnpm checks - Lint all packages
  • pnpm changeset - Generate a changeset
  • pnpm clean - Clean up all node_modules and dist folders (runs each package's clean script)

Docs

The docs are built with NextJS and MDX. The docs are located in the apps/docs folder.

To run the docs locally, run pnpm dev from the root of the project. This will run the dev script defined in the root package.json:

pnpm dev

Versioning & Publishing Packages

This example uses Changesets to manage versions, create changelogs, and publish to npm. It's preconfigured so you can start publishing packages immediately.

You'll need to create an NPM_TOKEN and GITHUB_TOKEN and add it to your GitHub repository settings to enable access to npm. It's also worth installing the Changesets bot on your repository.

Generating the Changelog

To generate your changelog, run pnpm changeset locally:

  1. Which packages would you like to include? โ€“ This shows which packages and changed and which have remained the same. By default, no packages are included. Press space to select the packages you want to include in the changeset.
  2. Which packages should have a major bump? โ€“ Press space to select the packages you want to bump versions for.
  3. If doing the first major version, confirm you want to release.
  4. Write a summary for the changes.
  5. Confirm the changeset looks as expected.
  6. A new Markdown file will be created in the changeset folder with the summary and a list of the packages included.

Releasing

When you push your code to GitHub, the GitHub Action will run the release script defined in the root package.json:

turbo run build --filter=docs^... && changeset publish

nerdfishui's People

Contributors

darenmalfait avatar renovate[bot] avatar github-actions[bot] avatar

Stargazers

Tim Moraitis avatar  avatar Bruno Wego avatar Hong avatar Huijie Wei avatar

Forkers

moraitis 4ky

nerdfishui's Issues

vercel deployment fails, succeeds on rebuild

Error: The file "/vercel/path0/apps/docs/.next/routes-manifest.json" couldn't be found. This is often caused by a misconfiguration in your project.

Throws above error message

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/delete-workflow-runs.yml
  • Mattraks/delete-workflow-runs v2
.github/workflows/deploy.yml
  • actions/checkout v3@f43a0e5ff2bd294095638e18286ca9a3d1956744
  • actions/setup-node v3@1a4442cacd436585916779262731d5b162bc6ec7
.github/workflows/pr.yml
  • styfle/cancel-workflow-action 0.12.1@85880fa0301c86cca9da44039ee3bb12d3bedbfa
  • actions/checkout v3@f43a0e5ff2bd294095638e18286ca9a3d1956744
  • actions/setup-node v3@1a4442cacd436585916779262731d5b162bc6ec7
  • pnpm/action-setup v3.0.0@a3252b78c470c02df07e9d59298aecedc3ccdd6d
  • actions/cache v3@e12d46a63a90f2fae62d114769bbf2a179198b5c
.github/workflows/release.yml
  • styfle/cancel-workflow-action 0.12.1@85880fa0301c86cca9da44039ee3bb12d3bedbfa
  • actions/checkout v3@f43a0e5ff2bd294095638e18286ca9a3d1956744
  • actions/setup-node v3@1a4442cacd436585916779262731d5b162bc6ec7
  • pnpm/action-setup v3.0.0@a3252b78c470c02df07e9d59298aecedc3ccdd6d
  • actions/cache v3@e12d46a63a90f2fae62d114769bbf2a179198b5c
  • changesets/action v1.4.7
.github/workflows/sync-renovate-changesets.yml
  • step-security/harden-runner v2.8.0@f086349bfa2bd1361f7909c78558e816508cdc10
  • actions/checkout v4.1.6
  • actions/github-script v7.0.1
tooling/github-actions/install/action.yml
  • actions/setup-node v3
  • actions/cache v3
  • actions/cache v3
npm
apps/docs/package.json
  • @mdx-js/loader ^3.0.1
  • @mdx-js/react ^3.0.1
  • @next/env ^14.1.3
  • @next/mdx ^14.1.3
  • @sindresorhus/slugify ^2.2.1
  • @tailwindcss/aspect-ratio ^0.4.2
  • @tailwindcss/typography ^0.5.13
  • @vercel/og ^0.6.2
  • acorn ^8.11.3
  • contentlayer ^0.3.4
  • date-fns ^3.6.0
  • framer-motion ^11.2.10
  • geist ^1.3.0
  • lodash ^4.17.21
  • lucide-react ^0.383.0
  • markdown-wasm ^1.2.0
  • match-sorter ^6.3.4
  • mdast-util-to-string ^4.0.0
  • mdx-annotations ^0.1.4
  • next ^14.1.3
  • next-contentlayer ^0.3.4
  • react ^18.3.1
  • react-day-picker ^8.10.1
  • react-dom ^18.3.1
  • recma-nextjs-static-props ^2.0.0
  • slugify ^1.6.6
  • styled-jsx ^5.1.6
  • tailwindcss-animate ^1.0.7
  • typescript ^5.4.5
  • update ^0.7.4
  • zod ^3.23.8
  • @svgr/webpack ^8.1.0
  • @types/eslint ^8.56.10
  • @types/node ^20.14.2
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • autoprefixer ^10.4.19
  • cross-env ^7.0.3
  • eslint ^8.57.0
  • eslint-config-next ^14.2.3
  • npm-run-all2 ^6.2.0
  • postcss ^8.4.38
  • postcss-cli ^11.0.0
  • postcss-import ^16.1.0
  • postcss-loader ^8.1.1
  • postcss-nesting ^12.1.5
  • prettier ^3.3.0
  • rehype ^13.0.1
  • rehype-autolink-headings ^7.1.0
  • rehype-pretty-code ~0.13.2
  • rehype-slug ^6.0.0
  • remark ^15.0.1
  • remark-code-import ^1.2.0
  • remark-gfm ^3.0.1
  • shiki ^0.14.7
  • tailwindcss ^3.4.3
  • typescript ^5.4.5
  • unist-builder ^4.0.0
  • unist-util-visit ^5.0.0
package.json
  • tailwind ^4.0.0
  • tailwindcss ^3.4.3
  • @changesets/changelog-github ^0.5.0
  • @changesets/cli ^2.27.5
  • @commitlint/cli ^19.3.0
  • @commitlint/config-conventional ^19.2.2
  • eslint ^8.57.0
  • husky ^9.0.11
  • prettier ^3.3.0
  • turbo ^1.13.4
  • pnpm 9.1.4
packages/tailwind-config/package.json
  • tailwindcss 3.4.3
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • eslint ^8.57.0
  • react ^18.3.1
  • tsup ^8.1.0
  • typescript ^5.4.5
packages/theme/package.json
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • eslint ^8.57.0
  • npm-run-all2 ^6.2.0
  • prettier ^3.3.0
  • react ^18.3.1
  • tsup ^8.1.0
  • typescript ^5.4.5
packages/ui/package.json
  • @radix-ui/react-accordion ^1.1.2
  • @radix-ui/react-alert-dialog ^1.0.5
  • @radix-ui/react-aspect-ratio ^1.0.3
  • @radix-ui/react-avatar ^1.0.4
  • @radix-ui/react-collapsible ^1.0.3
  • @radix-ui/react-dialog ^1.0.5
  • @radix-ui/react-dropdown-menu ^2.0.6
  • @radix-ui/react-hover-card ^1.0.7
  • @radix-ui/react-navigation-menu ^1.1.4
  • @radix-ui/react-popover ^1.0.7
  • @radix-ui/react-radio-group ^1.1.3
  • @radix-ui/react-scroll-area ^1.0.5
  • @radix-ui/react-slider ^1.1.2
  • @radix-ui/react-slot ^1.0.2
  • @radix-ui/react-switch ^1.0.3
  • @radix-ui/react-tabs ^1.0.4
  • @radix-ui/react-toggle ^1.0.3
  • @radix-ui/react-toggle-group ^1.0.4
  • @radix-ui/react-tooltip ^1.0.7
  • cmdk ^1.0.0
  • date-fns ^3.6.0
  • input-otp ^1.2.4
  • lucide-react ^0.383.0
  • react-day-picker ^8.10.1
  • shiki ^0.14.7
  • sonner ^1.4.41
  • vaul ^0.9.1
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • eslint ^8.57.0
  • prettier ^3.3.0
  • react ^18.3.1
  • tsup ^8.1.0
  • typescript ^5.4.5
  • react >=18.3.1
  • react-dom >=18.3.1
packages/utils/package.json
  • class-variance-authority ^0.7.0
  • clsx ^2.1.1
  • tailwind-merge ^2.3.0
  • @types/react ^18.3.3
  • @types/react-dom ^18.3.0
  • eslint ^8.57.0
  • prettier ^3.3.0
  • react ^18.3.1
  • tsup ^8.1.0
  • typescript ^5.4.5
tooling/config-eslint/package.json
  • eslint ^8.57.0
  • eslint-config-daren ^5.1.0
  • eslint-config-next 14.2.3
  • eslint-config-turbo ^1.13.4
  • eslint-plugin-react ^7.34.2
  • eslint-plugin-tailwindcss ^3.17.0
  • prettier ^3.3.0
  • typescript ^5.4.5
tooling/config-tailwind/package.json
  • @tailwindcss/line-clamp ^0.4.4
  • @tailwindcss/typography ^0.5.13
  • tailwindcss-animate ^1.0.7
  • tailwindcss ^3.4.3
tooling/config-typescript/package.json
nvm
.nvmrc
  • node 20.14.0

  • Check this box to trigger a request for Renovate to run again on this repository

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.