Skip to content

DanonymousCoder/Anon-UI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aaac6cd · · Dec 14, 2025

History

26 Commits
Dec 14, 2025
Dec 8, 2025
Dec 14, 2025
Dec 11, 2025
Dec 12, 2025
Nov 23, 2025
Dec 8, 2025
Dec 11, 2025

Repository files navigation

Anon UI

Dark-first utility CSS framework with innovative bracket-based responsive syntax

npm version License: MIT

Why Anon UI?

  • Dark-First: Built for dark mode by default
  • Utility-First: Like Tailwind, but cleaner
  • Bracket Syntax: Group responsive utilities: md-[text-center bg-success p-4]
  • Zero Config: Works out of the box
  • Pure CSS: No PostCSS required
  • Mobile-First: Responsive by default

Installation

Demo Video

https://www.youtube.com/watch?v=r7hC9GpXKv4

Via npm

npm install anon_ui

Via CDN

link rel="stylesheet" href="https://unpkg.com/ano_ui/dist/ano_ui.css" />gt;

Quick Start

1. Install the framework

npm install anon_ui

2. Link in your HTML

>gt;

html>gt;
   head>gt;
     link rel="stylesheet" href="node_modules/anon_ui/dist/anon_ui.css" />gt;
   head>gt;
   body class="bg-primary text-primary">gt;
     h1 class="text-2xl font-bold">gt;Hello Anon UI!h1>gt;
   body>gt;

html>gt;

3. Use responsive bracket syntax

div class="md-[center bg-success p-6] lg-[left bg-danger p-8]">gt;
  Changes style at different breakpoints!

div>gt;

4. Generate responsive CSS

npx anocss parse index.html responsive.css

5. Link generated CSS

link rel="stylesheet" href="responsive.css" />gt;

Syntax Comparison

Tailwind:

div
   class="center md:left lg:right bg-red-500 md:bg-blue-500 lg:bg-green-500"

>gt;div>gt;

Anon UI:

div class="md-[left bg-blue-500] lg-[right bg-green-500]">gt;div>gt;
  • [ X ] Cleaner
  • [ X ] Less repetition
  • [ X ] Grouped by breakpoint

CLI Commands

# Parse HTML and generate responsive CSS

anon_ui parse index.html responsive.css



# Watch mode (auto-rebuild on changes)

anon_ui watch index.html responsive.css



# Create config file

anon_ui init



# Show version

anon_ui --versionon

Utility Classes

Layout

Display & Flexboxxbox

-->

div class="flex">gt;Flexbox containerdiv>gt;

div class="grid">gt;Grid containerdiv>gt;

div class="block">gt;Block elementdiv>gt;

div class="inline-block">gt;Inline blockdiv>gt;

div class="none">gt;Hidden elementdiv>gt;


-->

div class="flex flex-row">gt;Horizontal flexdiv>gt;

div class="flex flex-column">gt;Vertical flexdiv>gt;

div class="flex flex-row-reverse">gt;Reversed horizontaldiv>gt;

div class="flex flex-column-reverse">gt;Reversed verticaldiv>gt;


-->

div class="flex flex-wrap">gt;Wrapping flex itemsdiv>gt;

div class="flex flex-nowrap">gt;No wrappingdiv>gt;


-->

div class="flex items-start">gt;Align topdiv>gt;

div class="flex items-center">gt;Align centerdiv>gt;

div class="flex items-end">gt;Align bottomdiv>gt;

div class="flex items-stretch">gt;Stretch itemsdiv>gt;

div class="flex items-baseline">gt;Align baselinediv>gt;


-->

div class="flex justify-start">gt;Justify startdiv>gt;

div class="flex justify-center">gt;Justify centerdiv>gt;

div class="flex justify-end">gt;Justify enddiv>gt;

div class="flex justify-between">gt;Space betweendiv>gt;

div class="flex justify-around">gt;Space arounddiv>gt;

Grid

div class="grid grid-cols-2">gt;2 columnsdiv>gt;

div class="grid grid-cols-3">gt;3 columnsdiv>gt;

div class="grid grid-cols-4">gt;4 columnsdiv>gt;

div class="grid grid-cols-5">gt;5 columnsdiv>gt;

Width & Heightight

-->

div class="w-full">gt;Full width (100%)div>gt;

div class="w-auto">gt;Auto widthdiv>gt;

div class="w-screen">gt;Viewport width (100vw)div>gt;


-->

div class="max-w-sm">gt;Small max width (600px)div>gt;

div class="max-w-md">gt;Medium max width (725px)div>gt;

div class="max-w-lg">gt;Large max width (1200px)div>gt;

div class="max-w-xl">gt;XL max width (1450px)div>gt;


-->

div class="h-full">gt;Full height (100%)div>gt;

div class="h-auto">gt;Auto heightdiv>gt;

div class="h-screen">gt;Viewport height (100vh)div>gt;

div class="min-h-screen">gt;Min viewport heightdiv>gt;

Border Radius

div class="rounded-sm">gt;Small radiusdiv>gt;

div class="rounded-md">gt;Medium radiusdiv>gt;

div class="rounded-lg">gt;Large radiusdiv>gt;

div class="rounded-xl">gt;XL radiusdiv>gt;

div class="rounded-full">gt;Full radius (circle)div>gt;

div class="rounded">gt;Default radiusdiv>gt;

Spacing

Padding

-->

div class="p-0">gt;No paddingdiv>gt;

div class="p-1">gt;Padding 1div>gt;

div class="p-2">gt;Padding 2div>gt;

div class="p-4">gt;Padding 4div>gt;

div class="p-8">gt;Padding 8div>gt;

div class="p-12">gt;Padding 12div>gt;

div class="p-16">gt;Padding 16div>gt;


ht) -->

div class="px-2">gt;Horizontal paddingdiv>gt;

div class="px-4">gt;Horizontal padding 4div>gt;

div class="px-8">gt;Horizontal padding 8div>gt;


om) -->

div class="py-2">gt;Vertical paddingdiv>gt;

div class="py-4">gt;Vertical padding 4div>gt;

div class="py-8">gt;Vertical padding 8div>gt;

Margin

-->

div class="m-0">gt;No margindiv>gt;

div class="m-2">gt;Margin 2div>gt;

div class="m-4">gt;Margin 4div>gt;

div class="m-8">gt;Margin 8div>gt;


ht) -->

div class="mx-2">gt;Horizontal margindiv>gt;

div class="mx-4">gt;Horizontal margin 4div>gt;

div class="mx-auto">gt;Center with auto marginsdiv>gt;


om) -->

div class="my-2">gt;Vertical margindiv>gt;

div class="my-4">gt;Vertical margin 4div>gt;

div class="my-auto">gt;Vertical auto marginsdiv>gt;

Gap (for Flex & Grid)rid)

div class="flex gap-1">gt;Small gapdiv>gt;

div class="flex gap-2">gt;Gap 2div>gt;

div class="flex gap-4">gt;Gap 4div>gt;

div class="flex gap-8">gt;Gap 8div>gt;

div class="grid gap-6">gt;Grid gap 6div>gt;

Typography

Font Size

p class="text-xs">gt;Extra small textp>gt;

p class="text-sm">gt;Small textp>gt;

p class="text-base">gt;Base text (default)p>gt;

p class="text-md">gt;Medium textp>gt;

p class="text-lg">gt;Large textp>gt;

p class="text-xl">gt;XL textp>gt;

p class="text-2xl">gt;2XL textp>gt;

p class="text-3xl">gt;3XL textp>gt;

p class="text-4xl">gt;4XL textp>gt;

p class="text-5xl">gt;5XL textp>gt;

Font Weight

p class="light">gt;Light (300)p>gt;

p class="normal">gt;Normal (400)p>gt;

p class="medium">gt;Medium (500)p>gt;

p class="semibold">gt;Semibold (600)p>gt;

p class="bold">gt;Bold (700)p>gt;

Text Alignment

p class="left">gt;Left alignedp>gt;

p class="center">gt;Center alignedp>gt;

p class="right">gt;Right alignedp>gt;

Text Transform

p class="uppercase">gt;UPPERCASE TEXTp>gt;

p class="lowercase">gt;lowercase textp>gt;

p class="capitalize">gt;Capitalized Textp>gt;

Colors

Background Colors

div class="bg-primary">gt;Primary backgrounddiv>gt;

div class="bg-secondary">gt;Secondary backgrounddiv>gt;

div class="bg-tertiary">gt;Tertiary backgrounddiv>gt;

div class="bg-accent">gt;Accent backgrounddiv>gt;

div class="bg-neutral">gt;Neutral backgrounddiv>gt;

div class="bg-success">gt;Success backgrounddiv>gt;

div class="bg-warning">gt;Warning backgrounddiv>gt;

Text Colors

p class="text-primary">gt;Primary textp>gt;

p class="text-secondary">gt;Secondary textp>gt;

p class="text-tertiary">gt;Tertiary textp>gt;

Border Colors

div class="border-primary">gt;Primary borderdiv>gt;

div class="border-accent">gt;Accent borderdiv>gt;

Dark Mode

Anon UI is dark by default. For light mode, add .light class:

body class="light">gt;
   -->

body>gt;

Toggle with JavaScript:

document.body.classList.toggle("light");

Customization

Create anon_ui.config.js:

module.exports = {
   input: "src/*_/_.html",
   output: "dist/responsive.css",
   breakpoints: {
     sm: "600px",
     md: "750px",
     lg: "1024px",
     xl: "1400px",
   },

};