Giter VIP home page Giter VIP logo

windblade's Introduction

Windblade

Windblade

Tailwind-inspired UnoCSS preset with a better color system, logical properties, and simpler customization.

Homepage | Documentation (WIP) | UnoCSS | Tailwind

Installation

Please see the Docs for installation instrucions.

Usage

Documentation is in development. Until it is complete please follow Tailwind's docs and refer to our documentation for differences. You will not have to refer to Tailwind's docs once our docuentation is complete.

Progress

  • All suitable Tailwind utilities implemented (all except animations).
  • All rtl-tb utilities replaced with logical counterparts (or removed if not possible).
  • Pseudo-classes and pseudo-elements (chose to implement separately via uoncss-preset-mini-variants)
  • Automatic color system.
  • Javascript access to the automatic color system.
  • Detailed README.
  • Basic documentation with demos.
  • Published to NPM.
  • Flexible XML documentation format.
  • Document and reuse features from @unocss-preset-wind.
  • Better bracket (...-[...]) implementation.
  • Documentation search.
  • Listed on UnoCSS readme.

Sponsors

windblade's People

Contributors

eshimischi avatar starlederer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

windblade's Issues

Rework color system

Problem

Current hueless color system based on HSL is not working out well and results in poor contrast and inconsistent perceived lightness. The original plan was to switch to OkLCH when it gains browser support, however it does not look like it is getting wide enough adoption soon while the preset is almost ready to launch. We do not want to be inferior to Tailwind in any aspect so this needs to be reworked.

Solution

Remove / rethink hue and highlight utilities, change semantic color configuration to expect OkLCH values, and compile sRGB hex codes in UnoCSS.

It is unclear at the moment whether hue, lightness and chroma should become completely static or accept modifiers (e.g background-normal-setH(45)-addL(10)) especially since it would be no longer possible to propagate them down the DOM using custom CSS properties.

Explain how to add custom colors

Hello, would you please explain how to add my custom color system into unocss.config.js?
For instance, i added this, it doesn't work

Screenshot 2023-09-05 at 00 20 05

Error installation TS 5.1 and UnoCSS 0.53

Screenshot 2023-06-14 at 00 33 11

Type 'Preset<Theme>' is not assignable to type 'Preset<{}> | Preset<{}>[]'. Type 'Preset<Theme>' is not assignable to type 'Preset<{}>'. Types of property 'rules' are incompatible. Type 'Rule<Theme>[] | undefined' is not assignable to type 'Rule<{}>[] | undefined'. Type 'Rule<Theme>[]' is not assignable to type 'Rule<{}>[]'. Type 'Rule<Theme>' is not assignable to type 'Rule<{}>'. Type '[RegExp, DynamicMatcher<Theme>]' is not assignable to type 'Rule<{}>'. Type '[RegExp, DynamicMatcher<Theme>]' is not assignable to type '[string, CSSObject | CSSEntries] | [RegExp, DynamicMatcher<{}>]'. Type '[RegExp, DynamicMatcher<Theme>]' is not assignable to type '[string, CSSObject | CSSEntries]'. Type at position 0 in source is not compatible with type at position 0 in target. Type 'RegExp' is not assignable to type 'string'.ts(2322)

Convert documentation to markdown

Problem

Currently documentation pages are functions that compose documents with objects and components passed to them which has the following problems:

  • many things that are useful in documentation are not possible (links, text effects)
  • syntax is not most intuitive
  • we are reinventing the wheel which will likely lead to missing / badly designed features

Solution

Keep documentation pages as functions, however change their return types to markdown strings. That way users can still access object like Theme but also get all of the markdown features and a familiar and well-proven syntax.

can't install your preset

 ERR_PNPM_FETCH_404  GET https://registry.npmjs.org/unocss-preset-windblade: Not Found - 404

This error happened while installing a direct dependency of /home/manjaro/DEV/astro uno/uno

unocss-preset-windblade is not in the npm registry, or you have no permission to fetch it.

No authorization header was set for the request.
Progress: resolved 3, reused 3, downloaded 0, added 0

Write documentation

Tasklist:

  • create a documentation workflow
  • document utilities that differ from Tailwind counterparts
  • build a frontend

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.