├── .github └── workflows │ └── npm-publish.yml ├── .gitignore ├── LICENSE ├── README.md ├── data.js ├── index.js ├── package-lock.json └── package.json /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | 2 | name: "Publish to NPM" 3 | 4 | on: 5 | push: 6 | branches: 7 | - master 8 | 9 | jobs: 10 | release: 11 | name: "Publish to NPM" 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v2.3.4 16 | - name: Setup Node.js environment 17 | uses: actions/setup-node@v2.1.2 18 | with: 19 | node-version: 12 20 | registry-url: https://registry.npmjs.org 21 | - id: check 22 | uses: EndBug/version-check@v1 23 | with: 24 | file-url: https://unpkg.com/tailwindcss-document-cli@latest/package.json 25 | static-checking: localIsNew 26 | - run: npm install 27 | - name: publish 28 | run: npm publish 29 | if: steps.check.outputs.changed == 'true' 30 | env: 31 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} 32 | 33 | 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Pouya Saadeghi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tailwind CSS Document CLI 2 | 3 | If you're tired of opening [tailwindcss.com](https://tailwindcss.com/) website every minute to look up for class names or available utility values, install this package 😅 4 | 5 | ![](https://raw.githubusercontent.com/saadeghi/files/main/tailwindcss-document-cli/demo.gif) 6 | 7 | ## Features 8 | - Search Tailwind CSS class names in your CLI 9 | - There's a link to the website if you need more details 10 | - Fuzzy search 11 | 12 | 13 | ## Install 14 | Install globally (with `-g`). 15 | ``` 16 | npm i tailwindcss-document-cli -g 17 | ``` 18 | 19 | ## Use 20 | just type `tw` with any word. 21 | ``` 22 | tw z-index 23 | ``` 24 | ``` 25 | 🔍 Found 1 result for z-index 26 | 27 | Z-index https://tailwindcss.com/docs/z-index 28 | z-[0|10|20|30|40|50|auto] 29 | ``` 30 | --- 31 | ``` 32 | tw underline 33 | ``` 34 | ``` 35 | 🔍 Found 1 result for underline 36 | 37 | Text Decoration https://tailwindcss.com/docs/text-decoration 38 | underline 39 | line-through 40 | no-underline 41 | ``` 42 | --- 43 | ``` 44 | tw font vr 45 | ``` 46 | ``` 47 | 🔍 Found 1 result for font vr 48 | 49 | Font Variant Numeric https://tailwindcss.com/docs/font-variant-numeric 50 | normal-nums 51 | ordinal 52 | slashed-zero 53 | lining-nums 54 | oldstyle-nums 55 | proportional-nums 56 | tabular-nums 57 | diagonal-fractions 58 | stacked-fractions 59 | ``` 60 | --- 61 | It's fuzzy search so it forgives your typo 🤓 62 | and tries to find similar results 63 | ``` 64 | tw pading 65 | ``` 66 | ``` 67 | 🔍 Found 2 results for pading 68 | 69 | Padding https://tailwindcss.com/docs/padding 70 | [p|py|px|pt|pr|pb|pl]-[0|1|2|3|4|5|6|10|12|16|20|24|32|40|48|56|64|px] 71 | 72 | Line Height https://tailwindcss.com/docs/line-height 73 | leading-[3|4|5|6|7|8|9|10|none|tight|snug|normal|relaxed|loose] 74 | ``` 75 | -------------------------------------------------------------------------------- /data.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = [ 3 | { 4 | title: 'Container', 5 | permalink: 'container', 6 | values: [ 7 | { name: 'container' }, 8 | ], 9 | }, { 10 | title: 'Box Sizing', 11 | permalink: 'box-sizing', 12 | values: [ 13 | { name: 'box-[border|content]' }, 14 | ], 15 | }, { 16 | title: 'Display', 17 | permalink: 'display', 18 | values: [ 19 | { name: 'block' }, 20 | { name: 'inline-block' }, 21 | { name: 'inline' }, 22 | { name: 'flex' }, 23 | { name: 'inline-flex' }, 24 | { name: 'table' }, 25 | { name: 'table-caption' }, 26 | { name: 'table-cell' }, 27 | { name: 'table-column' }, 28 | { name: 'table-column-group' }, 29 | { name: 'table-footer-group' }, 30 | { name: 'table-header-group' }, 31 | { name: 'table-row-group' }, 32 | { name: 'table-row' }, 33 | { name: 'flow-root' }, 34 | { name: 'grid' }, 35 | { name: 'inline-grid' }, 36 | { name: 'contents' }, 37 | { name: 'hidden' }, 38 | ], 39 | }, { 40 | title: 'Floats', 41 | permalink: 'float', 42 | values: [ 43 | { name: 'float-[right|left|none]' }, 44 | { name: 'clearfix' }, 45 | ], 46 | }, { 47 | title: 'Clear', 48 | permalink: 'clear', 49 | values: [ 50 | { name: 'clear-[left|right|both|none]' }, 51 | ], 52 | }, { 53 | title: 'Object Fit', 54 | permalink: 'object-fit', 55 | values: [ 56 | { name: 'object-[contain|cover|fill|none|scale-down]' }, 57 | ], 58 | }, { 59 | title: 'Object Position', 60 | permalink: 'object-position', 61 | values: [ 62 | { name: 'object-bottom' }, 63 | { name: 'object-center' }, 64 | { name: 'object-left' }, 65 | { name: 'object-left-bottom' }, 66 | { name: 'object-left-top' }, 67 | { name: 'object-right' }, 68 | { name: 'object-right-bottom' }, 69 | { name: 'object-right-top' }, 70 | { name: 'object-top' }, 71 | ], 72 | }, { 73 | title: 'Overflow', 74 | permalink: 'overflow', 75 | values: [ 76 | { name: 'overflow-[auto|hidden|visible|scroll]' }, 77 | { name: 'overflow-x-[auto|hidden|visible|scroll]' }, 78 | { name: 'overflow-y-[auto|hidden|visible|scroll]' }, 79 | { name: 'scrolling-[touch|auto]' }, 80 | ], 81 | }, { 82 | title: 'Overscroll Behavior', 83 | permalink: 'overscroll-behavior', 84 | values: [ 85 | { name: 'overscroll-[auto|contain|none]' }, 86 | { name: 'overscroll-y-[auto|contain|none]' }, 87 | { name: 'overscroll-x-[auto|contain|none]' }, 88 | ], 89 | }, { 90 | title: 'Position', 91 | permalink: 'position', 92 | values: [ 93 | { name: 'static' }, 94 | { name: 'fixed' }, 95 | { name: 'absolute' }, 96 | { name: 'relative' }, 97 | { name: 'sticky' }, 98 | ], 99 | }, { 100 | title: 'Top / Right / Bottom / Left', 101 | permalink: 'top-right-bottom-left', 102 | values: [ 103 | { name: 'inset-[0|auto]' }, 104 | { name: 'inset-y-[0|auto]' }, 105 | { name: 'inset-x-[0|auto]' }, 106 | { name: 'top-[0|auto]' }, 107 | { name: 'right-[0|auto]' }, 108 | { name: 'bottom-[0|auto]' }, 109 | { name: 'left-[0|auto]' }, 110 | ], 111 | }, { 112 | title: 'Visibility', 113 | permalink: 'visibility', 114 | values: [ 115 | { name: 'visible' }, 116 | { name: 'invisible' }, 117 | ], 118 | }, { 119 | title: 'Z-index', 120 | permalink: 'z-index', 121 | values: [ 122 | { name: 'z-[0|10|20|30|40|50|auto]' }, 123 | ], 124 | }, { 125 | title: 'Flex Direction', 126 | permalink: 'flex-direction', 127 | values: [ 128 | { name: 'flex-row' }, 129 | { name: 'flex-row-reverse' }, 130 | { name: 'flex-col' }, 131 | { name: 'flex-col-reverse' }, 132 | ], 133 | }, { 134 | title: 'Flex Wrap', 135 | permalink: 'flex-wrap', 136 | values: [ 137 | { name: 'flex-wrap' }, 138 | { name: 'flex-wrap-reverse' }, 139 | { name: 'flex-no-wrap' }, 140 | ], 141 | }, { 142 | title: 'Flex', 143 | permalink: 'flex', 144 | values: [ 145 | { name: 'flex-1' }, 146 | { name: 'flex-auto' }, 147 | { name: 'flex-initial' }, 148 | { name: 'flex-none' }, 149 | ], 150 | }, { 151 | title: 'Flex Grow', 152 | permalink: 'flex-grow', 153 | values: [ 154 | { name: 'flex-grow-0' }, 155 | { name: 'flex-grow' }, 156 | ], 157 | }, { 158 | title: 'Flex Shrink', 159 | permalink: 'flex-shrink', 160 | values: [ 161 | { name: 'flex-shrink-0' }, 162 | { name: 'flex-shrink' }, 163 | ], 164 | }, { 165 | title: 'Order', 166 | permalink: 'order', 167 | values: [ 168 | { name: 'order-[1|2|3|4|5|6|7|8|9|10|11|12]' }, 169 | { name: 'order-[first|last|none]' }, 170 | ], 171 | }, { 172 | title: 'Grid Template Columns', 173 | permalink: 'grid-template-columns', 174 | values: [ 175 | { name: 'grid-cols-[1|2|3|4|5|6|7|8|9|10|11|12|none]' }, 176 | ], 177 | }, { 178 | title: 'Grid Column Start / End', 179 | permalink: 'grid-column', 180 | values: [ 181 | { name: 'col-auto' }, 182 | { name: 'col-span-[1|2|3|4|5|6|7|8|9|10|11|12|full]' }, 183 | { name: 'col-start-[1|2|3|4|5|6|7|8|9|10|11|12|13|auto]' }, 184 | { name: 'col-end-[1|2|3|4|5|6|7|8|9|10|11|12|13|auto]' }, 185 | ], 186 | }, { 187 | title: 'Grid Template Rows', 188 | permalink: 'grid-template-rows', 189 | values: [ 190 | { name: 'grid-rows-[1|2|3|4|5|6|none]' }, 191 | ], 192 | }, { 193 | title: 'Grid Row Start / End', 194 | permalink: 'grid-row', 195 | values: [ 196 | { name: 'row-auto' }, 197 | { name: 'row-span-[1|2|3|4|5|6|full]' }, 198 | { name: 'row-start-[1|2|3|4|5|6|7|auto]' }, 199 | { name: 'row-end-[1|2|3|4|5|6|7|auto]' }, 200 | ], 201 | }, { 202 | title: 'Grid Auto Flow', 203 | permalink: 'grid-auto-flow', 204 | values: [ 205 | { name: 'grid-flow-row' }, 206 | { name: 'grid-flow-col' }, 207 | { name: 'grid-flow-row-dense' }, 208 | { name: 'grid-flow-col-dense' }, 209 | ], 210 | }, { 211 | title: 'Grid Auto Columns', 212 | permalink: 'grid-auto-columns', 213 | values: [ 214 | { name: 'auto-cols-auto' }, 215 | { name: 'auto-cols-min' }, 216 | { name: 'auto-cols-max' }, 217 | { name: 'auto-cols-fr' }, 218 | ], 219 | }, { 220 | title: 'Grid Auto Rows', 221 | permalink: 'grid-auto-rows', 222 | values: [ 223 | { name: 'auto-rows-auto' }, 224 | { name: 'auto-rows-min' }, 225 | { name: 'auto-rows-max' }, 226 | { name: 'auto-rows-fr' }, 227 | ], 228 | }, { 229 | title: 'Gap', 230 | permalink: 'gap', 231 | values: [ 232 | { name: 'gap-[0|1|2|3|4|5|6|8|10|12|16|20|24|32|40|48|56|64|px]' }, 233 | { name: 'gap-x-[0|1|2|3|4|5|6|8|10|12|16|20|24|32|40|48|56|64|px]' }, 234 | { name: 'gap-y-[0|1|2|3|4|5|6|8|10|12|16|20|24|32|40|48|56|64|px]' }, 235 | ], 236 | }, { 237 | title: 'Justify Content', 238 | permalink: 'justify-content', 239 | values: [ 240 | { name: 'justify-[start|end|center|between|around|evenly]' }, 241 | ], 242 | }, { 243 | title: 'Justify Items', 244 | permalink: 'justify-items', 245 | values: [ 246 | { name: 'justify-items-[auto|start|end|center|stretch]' }, 247 | ], 248 | }, { 249 | title: 'Justify Self', 250 | permalink: 'justify-self', 251 | values: [ 252 | { name: 'justify-self-[auto|start|end|center|stretch]' }, 253 | ], 254 | }, { 255 | title: 'Align Content', 256 | permalink: 'align-content', 257 | values: [ 258 | { name: 'content-[center|start|end|between|around|evenly]' }, 259 | ], 260 | }, { 261 | title: 'Align Items', 262 | permalink: 'align-items', 263 | values: [ 264 | { name: 'items-[start|end|center|baseline|stretch]' }, 265 | ], 266 | }, { 267 | title: 'Align Self', 268 | permalink: 'align-self', 269 | values: [ 270 | { name: 'self-[auto|start|end|center|stretch]' }, 271 | ], 272 | }, { 273 | title: 'Place Content', 274 | permalink: 'place-content', 275 | values: [ 276 | { name: 'place-content-[center|start|end|between|around|evenly|stretch]' }, 277 | ], 278 | }, { 279 | title: 'Place Items', 280 | permalink: 'place-items', 281 | values: [ 282 | { name: 'place-items-[auto|start|end|center|stretch]' }, 283 | ], 284 | }, { 285 | title: 'Place Self', 286 | permalink: 'place-self', 287 | values: [ 288 | { name: 'place-self-[auto|start|end|center|stretch]' }, 289 | ], 290 | }, { 291 | title: 'Padding', 292 | permalink: 'padding', 293 | values: [ 294 | { name: '[p|py|px|pt|pr|pb|pl]-[0|1|2|3|4|5|6|10|12|16|20|24|32|40|48|56|64|px]' }, 295 | ], 296 | }, { 297 | title: 'Margin', 298 | permalink: 'margin', 299 | values: [ 300 | { name: '[m|my|mx|mt|mr|mb|ml]-[0|0.5|1|1.5|2|2.5|3|3.5|4|5|6|7|8|9|10|11|12|14|16|20|24|28|32|36|40|44|48|52|56|60|64|72|80|96|auto|px]' }, 301 | { name: '-[m|my|mx|mt|mr|mb|ml]-[0|0.5|1|1.5|2|2.5|3|3.5|4|5|6|7|8|9|10|11|12|14|16|20|24|28|32|36|40|44|48|52|56|60|64|72|80|96|px]' }, 302 | ], 303 | }, { 304 | title: 'Space Between', 305 | permalink: 'space', 306 | values: [ 307 | { name: 'space-[x|y]-[0|1|2|3|4|5|6|10|12|16|20|24|32|40|48|56|64|px|reverse]' }, 308 | { name: '-space-[x|y]-[0|1|2|3|4|5|6|10|12|16|20|24|32|40|48|56|64|px]' }, 309 | ], 310 | }, { 311 | title: 'Width', 312 | permalink: 'width', 313 | values: [ 314 | { name: 'w-[0|0.5|1|1.5|2|2.5|3|3.5|4|5|6|7|8|9|10|11|12|14|16|20|24|28|32|36|40|44|48|52|56|60|64|72|80|96|px]' }, 315 | { name: 'w-[1/2|1/3|2/3|1/4|2/4|3/4]' }, 316 | { name: 'w-[1/5|2/5|3/5|4/5]' }, 317 | { name: 'w-[1/6|2/6|3/6|4/6|5/6]' }, 318 | { name: 'w-[1/12|2/12|3/12|4/12|5/12|6/12|7/12|8/12|9/12|10/12|11/12]' }, 319 | { name: 'w-[full|screen|auto]' }, 320 | ], 321 | }, { 322 | title: 'Min-Width', 323 | permalink: 'min-width', 324 | values: [ 325 | { name: 'min-w-[0|full|min|max]' }, 326 | ], 327 | }, { 328 | title: 'Max-Width', 329 | permalink: 'max-width', 330 | values: [ 331 | { name: 'max-w-[0|none|xs|sm|md|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|full|min|max|prose]' }, 332 | { name: 'max-w-screen-[sm|md|lg|xl|2xl]' }, 333 | ], 334 | }, { 335 | title: 'Height', 336 | permalink: 'height', 337 | values: [ 338 | { name: 'h-[0|0.5|1|1.5|2|2.5|3|3.5|4|5|6|7|8|9|10|11|12|14|16|20|24|28|32|36|40|44|48|52|56|60|64|72|80|96|px]' }, 339 | { name: 'h-[1/2|1/3|2/3|1/4|2/4|3/4]' }, 340 | { name: 'h-[1/5|2/5|3/5|4/5]' }, 341 | { name: 'h-[1/6|2/6|3/6|4/6|5/6]' }, 342 | { name: 'h-[full|screen|auto]' }, 343 | ], 344 | }, { 345 | title: 'Min-Height', 346 | permalink: 'min-height', 347 | values: [ 348 | { name: 'min-h-[0|full|screen]' }, 349 | ], 350 | }, { 351 | title: 'Max-Height', 352 | permalink: 'max-height', 353 | values: [ 354 | { name: 'max-h-[0|0.5|1|1.5|2|2.5|3|3.5|4|5|6|7|8|9|10|11|12|14|16|20|24|28|32|36|40|44|48|52|56|60|64|72|80|96|px]' }, 355 | { name: 'max-h-[full|screen]' }, 356 | ], 357 | }, { 358 | title: 'Font Family', 359 | permalink: 'font-family', 360 | values: [ 361 | { name: 'font[sans|serif|mono]' }, 362 | ], 363 | }, { 364 | title: 'Font Size', 365 | permalink: 'font-size', 366 | values: [ 367 | { name: 'text-[xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl]' }, 368 | ], 369 | }, { 370 | title: 'Font Smoothing', 371 | permalink: 'font-smoothing', 372 | values: [ 373 | { name: 'antialiased' }, 374 | { name: 'subpixel-antialiased' }, 375 | ], 376 | }, { 377 | title: 'Font Style', 378 | permalink: 'font-style', 379 | values: [ 380 | { name: 'italic' }, 381 | { name: 'not-italic' }, 382 | ], 383 | }, { 384 | title: 'Font Weight', 385 | permalink: 'font-weight', 386 | values: [ 387 | { name: 'font-[hairline|thin|light|normal|medium|semibold|bold|extrabold|black]' }, 388 | ], 389 | }, { 390 | title: 'Font Variant Numeric', 391 | permalink: 'font-variant-numeric', 392 | values: [ 393 | { name: 'normal-nums' }, 394 | { name: 'ordinal' }, 395 | { name: 'slashed-zero' }, 396 | { name: 'lining-nums' }, 397 | { name: 'oldstyle-nums' }, 398 | { name: 'proportional-nums' }, 399 | { name: 'tabular-nums' }, 400 | { name: 'diagonal-fractions' }, 401 | { name: 'stacked-fractions' }, 402 | ], 403 | }, { 404 | title: 'Letter Spacing', 405 | permalink: 'letter-spacing', 406 | values: [ 407 | { name: 'tracking-[tighter|tight|normal|wide|wider|widest]' }, 408 | ], 409 | }, { 410 | title: 'Line Height', 411 | permalink: 'line-height', 412 | values: [ 413 | { name: 'leading-[3|4|5|6|7|8|9|10|none|tight|snug|normal|relaxed|loose]' }, 414 | ], 415 | }, { 416 | title: 'List Style Type', 417 | permalink: 'list-style-type', 418 | values: [ 419 | { name: 'list-[none|disc|decimal]' }, 420 | ], 421 | }, { 422 | title: 'List Style Position', 423 | permalink: 'list-style-position', 424 | values: [ 425 | { name: 'list-[inside|outside]' }, 426 | ], 427 | }, { 428 | title: 'Placeholder Color', 429 | permalink: 'placeholder-color', 430 | values: [ 431 | { name: 'placeholder-[transparent|current|black|white]' }, 432 | { name: 'placeholder-gray-[100|200|300|400|500|600|700|800|900]' }, 433 | { name: 'placeholder-red-[100|200|300|400|500|600|700|800|900]' }, 434 | { name: 'placeholder-orange-[100|200|300|400|500|600|700|800|900]' }, 435 | { name: 'placeholder-yellow-[100|200|300|400|500|600|700|800|900]' }, 436 | { name: 'placeholder-green-[100|200|300|400|500|600|700|800|900]' }, 437 | { name: 'placeholder-teal-[100|200|300|400|500|600|700|800|900]' }, 438 | { name: 'placeholder-blue-[100|200|300|400|500|600|700|800|900]' }, 439 | { name: 'placeholder-indigo-[100|200|300|400|500|600|700|800|900]' }, 440 | { name: 'placeholder-purple-[100|200|300|400|500|600|700|800|900]' }, 441 | { name: 'placeholder-pink-[100|200|300|400|500|600|700|800|900]' }, 442 | ], 443 | }, { 444 | title: 'Placeholder Opacity', 445 | permalink: 'placeholder-opacity', 446 | values: [ 447 | { name: 'placeholder-opacity-[0|25|50|75|100]' }, 448 | ], 449 | }, { 450 | title: 'Text Align', 451 | permalink: 'text-align', 452 | values: [ 453 | { name: 'text-[left|center|right|justify]' }, 454 | ], 455 | }, { 456 | title: 'Text Color', 457 | permalink: 'text-color', 458 | values: [ 459 | { name: 'text-[transparent|current|black|white]' }, 460 | { name: 'text-gray-[100|200|300|400|500|600|700|800|900]' }, 461 | { name: 'text-red-[100|200|300|400|500|600|700|800|900]' }, 462 | { name: 'text-orange-[100|200|300|400|500|600|700|800|900]' }, 463 | { name: 'text-yellow-[100|200|300|400|500|600|700|800|900]' }, 464 | { name: 'text-green-[100|200|300|400|500|600|700|800|900]' }, 465 | { name: 'text-teal-[100|200|300|400|500|600|700|800|900]' }, 466 | { name: 'text-blue-[100|200|300|400|500|600|700|800|900]' }, 467 | { name: 'text-indigo-[100|200|300|400|500|600|700|800|900]' }, 468 | { name: 'text-purple-[100|200|300|400|500|600|700|800|900]' }, 469 | { name: 'text-pink-[100|200|300|400|500|600|700|800|900]' }, 470 | ], 471 | }, { 472 | title: 'Text Opacity', 473 | permalink: 'text-opacity', 474 | values: [ 475 | { name: 'text-opacity-[0|25|50|75|100]' }, 476 | ], 477 | }, { 478 | title: 'Text Decoration', 479 | permalink: 'text-decoration', 480 | values: [ 481 | { name: 'underline' }, 482 | { name: 'line-through' }, 483 | { name: 'no-underline' }, 484 | ], 485 | }, { 486 | title: 'Text Transform', 487 | permalink: 'text-transform', 488 | values: [ 489 | { name: 'uppercase' }, 490 | { name: 'lowercase' }, 491 | { name: 'capitalize' }, 492 | { name: 'normal-case' }, 493 | ], 494 | }, { 495 | title: 'Vertical Align', 496 | permalink: 'vertical-align', 497 | values: [ 498 | { name: 'align-[baseline|top|middle|bottom|text-top|text-bottom]' }, 499 | ], 500 | }, { 501 | title: 'Whitespace', 502 | permalink: 'whitespace', 503 | values: [ 504 | { name: 'whitespace-[normal|nowrap|pre|pre-line|pre-wrap]' }, 505 | ], 506 | }, { 507 | title: 'Word Break', 508 | permalink: 'word-break', 509 | values: [ 510 | { name: 'break-[normal|words|all]' }, 511 | { name: 'truncate' }, 512 | ], 513 | }, { 514 | title: 'Background Attachment', 515 | permalink: 'background-attachment', 516 | values: [ 517 | { name: 'bg-[fixed|local|scroll]' }, 518 | ], 519 | }, { 520 | title: 'Background Clip', 521 | permalink: 'background-clip', 522 | values: [ 523 | { name: 'bg-clip-[border|padding|content|text]' }, 524 | ], 525 | }, { 526 | title: 'Background Color', 527 | permalink: 'background-color', 528 | values: [ 529 | { name: 'bg-[transparent|current|black|white]' }, 530 | { name: 'bg-gray-[100|200|300|400|500|600|700|800|900]' }, 531 | { name: 'bg-red-[100|200|300|400|500|600|700|800|900]' }, 532 | { name: 'bg-orange-[100|200|300|400|500|600|700|800|900]' }, 533 | { name: 'bg-yellow-[100|200|300|400|500|600|700|800|900]' }, 534 | { name: 'bg-green-[100|200|300|400|500|600|700|800|900]' }, 535 | { name: 'bg-teal-[100|200|300|400|500|600|700|800|900]' }, 536 | { name: 'bg-blue-[100|200|300|400|500|600|700|800|900]' }, 537 | { name: 'bg-indigo-[100|200|300|400|500|600|700|800|900]' }, 538 | { name: 'bg-purple-[100|200|300|400|500|600|700|800|900]' }, 539 | { name: 'bg-pink-[100|200|300|400|500|600|700|800|900]' }, 540 | ], 541 | }, { 542 | title: 'Background Opacity', 543 | permalink: 'background-opacity', 544 | values: [ 545 | { name: 'bg-opacity-[0|25|50|75|100]' }, 546 | ], 547 | }, { 548 | title: 'Background Position', 549 | permalink: 'background-position', 550 | values: [ 551 | { name: 'bg-bottom' }, 552 | { name: 'bg-center' }, 553 | { name: 'bg-left' }, 554 | { name: 'bg-left-bottom' }, 555 | { name: 'bg-left-top' }, 556 | { name: 'bg-right' }, 557 | { name: 'bg-right-bottom' }, 558 | { name: 'bg-right-top' }, 559 | { name: 'bg-top' }, 560 | ], 561 | }, { 562 | title: 'Background Repeat', 563 | permalink: 'background-repeat', 564 | values: [ 565 | { name: 'bg-repeat' }, 566 | { name: 'bg-no-repeat' }, 567 | { name: 'bg-repeat-x' }, 568 | { name: 'bg-repeat-y' }, 569 | { name: 'bg-repeat-round' }, 570 | { name: 'bg-repeat-space' }, 571 | ], 572 | }, { 573 | title: 'Background Size', 574 | permalink: 'background-size', 575 | values: [ 576 | { name: 'bg-[auto|cover|contain]' }, 577 | ], 578 | }, { 579 | title: 'Background Image', 580 | permalink: 'background-image', 581 | values: [ 582 | { name: 'bg-none' }, 583 | { name: 'bg-gradient-to-[t|tr|r|br|b|bl|l|tl]' }, 584 | ], 585 | }, { 586 | title: 'Gradient Color Stops', 587 | permalink: 'gradient-color-stops', 588 | values: [ 589 | { name: 'from-[transparent|current|black|white]' }, 590 | { name: 'from-gray-[100|200|300|400|500|600|700|800|900]' }, 591 | { name: 'from-red-[100|200|300|400|500|600|700|800|900]' }, 592 | { name: 'from-orange-[100|200|300|400|500|600|700|800|900]' }, 593 | { name: 'from-yellow-[100|200|300|400|500|600|700|800|900]' }, 594 | { name: 'from-green-[100|200|300|400|500|600|700|800|900]' }, 595 | { name: 'from-teal-[100|200|300|400|500|600|700|800|900]' }, 596 | { name: 'from-blue-[100|200|300|400|500|600|700|800|900]' }, 597 | { name: 'from-indigo-[100|200|300|400|500|600|700|800|900]' }, 598 | { name: 'from-purple-[100|200|300|400|500|600|700|800|900]' }, 599 | { name: 'from-pink-[100|200|300|400|500|600|700|800|900]' }, 600 | { name: 'via-[transparent|current|black|white]' }, 601 | { name: 'via-gray-[100|200|300|400|500|600|700|800|900]' }, 602 | { name: 'via-red-[100|200|300|400|500|600|700|800|900]' }, 603 | { name: 'via-orange-[100|200|300|400|500|600|700|800|900]' }, 604 | { name: 'via-yellow-[100|200|300|400|500|600|700|800|900]' }, 605 | { name: 'via-green-[100|200|300|400|500|600|700|800|900]' }, 606 | { name: 'via-teal-[100|200|300|400|500|600|700|800|900]' }, 607 | { name: 'via-blue-[100|200|300|400|500|600|700|800|900]' }, 608 | { name: 'via-indigo-[100|200|300|400|500|600|700|800|900]' }, 609 | { name: 'via-purple-[100|200|300|400|500|600|700|800|900]' }, 610 | { name: 'via-pink-[100|200|300|400|500|600|700|800|900]' }, 611 | { name: 'to-[transparent|current|black|white]' }, 612 | { name: 'to-gray-[100|200|300|400|500|600|700|800|900]' }, 613 | { name: 'to-red-[100|200|300|400|500|600|700|800|900]' }, 614 | { name: 'to-orange-[100|200|300|400|500|600|700|800|900]' }, 615 | { name: 'to-yellow-[100|200|300|400|500|600|700|800|900]' }, 616 | { name: 'to-green-[100|200|300|400|500|600|700|800|900]' }, 617 | { name: 'to-teal-[100|200|300|400|500|600|700|800|900]' }, 618 | { name: 'to-blue-[100|200|300|400|500|600|700|800|900]' }, 619 | { name: 'to-indigo-[100|200|300|400|500|600|700|800|900]' }, 620 | { name: 'to-purple-[100|200|300|400|500|600|700|800|900]' }, 621 | { name: 'to-pink-[100|200|300|400|500|600|700|800|900]' }, 622 | ], 623 | }, { 624 | title: 'Border Radius', 625 | permalink: 'border-radius', 626 | values: [ 627 | { name: 'rounded' }, 628 | { name: 'rounded-[none|sm|md|lg|xl|2xl|3xl|full]' }, 629 | { name: 'rounded-t-[none|sm|md|lg|xl|2xl|3xl|full]' }, 630 | { name: 'rounded-r-[none|sm|md|lg|xl|2xl|3xl|full]' }, 631 | { name: 'rounded-b-[none|sm|md|lg|xl|2xl|3xl|full]' }, 632 | { name: 'rounded-l-[none|sm|md|lg|xl|2xl|3xl|full]' }, 633 | { name: 'rounded-tl-[none|sm|md|lg|xl|2xl|3xl|full]' }, 634 | { name: 'rounded-tr-[none|sm|md|lg|xl|2xl|3xl|full]' }, 635 | { name: 'rounded-bl-[none|sm|md|lg|xl|2xl|3xl|full]' }, 636 | { name: 'rounded-br-[none|sm|md|lg|xl|2xl|3xl|full]' }, 637 | 638 | ], 639 | }, { 640 | title: 'Border Width', 641 | permalink: 'border-width', 642 | values: [ 643 | { name: 'border' }, 644 | { name: 'border-[0|2|4|8]' }, 645 | { name: 'border-[t|r|b|l]' }, 646 | { name: 'border-t-[0|2|4|8]' }, 647 | { name: 'border-r-[0|2|4|8]' }, 648 | { name: 'border-b-[0|2|4|8]' }, 649 | { name: 'border-l-[0|2|4|8]' }, 650 | ], 651 | }, { 652 | title: 'Border Color', 653 | permalink: 'border-color', 654 | values: [ 655 | { name: 'border-[transparent|current|black|white]' }, 656 | { name: 'border-gray-[100|200|300|400|500|600|700|800|900]' }, 657 | { name: 'border-red-[100|200|300|400|500|600|700|800|900]' }, 658 | { name: 'border-orange-[100|200|300|400|500|600|700|800|900]' }, 659 | { name: 'border-yellow-[100|200|300|400|500|600|700|800|900]' }, 660 | { name: 'border-green-[100|200|300|400|500|600|700|800|900]' }, 661 | { name: 'border-teal-[100|200|300|400|500|600|700|800|900]' }, 662 | { name: 'border-blue-[100|200|300|400|500|600|700|800|900]' }, 663 | { name: 'border-indigo-[100|200|300|400|500|600|700|800|900]' }, 664 | { name: 'border-purple-[100|200|300|400|500|600|700|800|900]' }, 665 | { name: 'border-pink-[100|200|300|400|500|600|700|800|900]' }, 666 | ], 667 | }, { 668 | title: 'Border Opacity', 669 | permalink: 'border-opacity', 670 | values: [ 671 | { name: 'border-opacity-[0|25|50|75|100]' }, 672 | ], 673 | }, { 674 | title: 'Border Style', 675 | permalink: 'border-style', 676 | values: [ 677 | { name: 'border-[solid|dashed|dotted|double|none]' }, 678 | ], 679 | }, { 680 | title: 'Divide Width', 681 | permalink: 'divide-width', 682 | values: [ 683 | { name: 'divide-[x|y]' }, 684 | { name: 'divide-x-[0|2|4|8|reverse]' }, 685 | { name: 'divide-y-[0|2|4|8|reverse]' }, 686 | ], 687 | }, { 688 | title: 'Divide Color', 689 | permalink: 'divide-color', 690 | values: [ 691 | { name: 'divide-[transparent|current|black|white]' }, 692 | { name: 'divide-gray-[100|200|300|400|500|600|700|800|900]' }, 693 | { name: 'divide-red-[100|200|300|400|500|600|700|800|900]' }, 694 | { name: 'divide-orange-[100|200|300|400|500|600|700|800|900]' }, 695 | { name: 'divide-yellow-[100|200|300|400|500|600|700|800|900]' }, 696 | { name: 'divide-green-[100|200|300|400|500|600|700|800|900]' }, 697 | { name: 'divide-teal-[100|200|300|400|500|600|700|800|900]' }, 698 | { name: 'divide-blue-[100|200|300|400|500|600|700|800|900]' }, 699 | { name: 'divide-indigo-[100|200|300|400|500|600|700|800|900]' }, 700 | { name: 'divide-purple-[100|200|300|400|500|600|700|800|900]' }, 701 | { name: 'divide-pink-[100|200|300|400|500|600|700|800|900]' }, 702 | ], 703 | }, { 704 | title: 'Divide Opacity', 705 | permalink: 'divide-opacity', 706 | values: [ 707 | { name: 'divide-opacity-[0|25|50|75|100]' }, 708 | ], 709 | }, { 710 | title: 'Divide Style', 711 | permalink: 'divide-style', 712 | values: [ 713 | { name: 'divide-[solid|dashed|dotted|double|none]' }, 714 | ], 715 | }, { 716 | title: 'Border Collapse', 717 | permalink: 'border-collapse', 718 | values: [ 719 | { name: 'border-[collapse|seperate]' }, 720 | ], 721 | }, { 722 | title: 'Table Layout', 723 | permalink: 'table-layout', 724 | values: [ 725 | { name: 'table-[auto|fixed]' }, 726 | ], 727 | }, { 728 | title: 'Box Shadow', 729 | permalink: 'box-shadow', 730 | values: [ 731 | { name: 'shadow' }, 732 | { name: 'shadow-[xs|sm|md|lg|xl|2xl|inner|outline|none]' }, 733 | ], 734 | }, { 735 | title: 'Opacity', 736 | permalink: 'opacity', 737 | values: [ 738 | { name: 'opacity-[0|25|50|75|100]' }, 739 | ], 740 | }, { 741 | title: 'Transition Property', 742 | permalink: 'transition-property', 743 | values: [ 744 | { name: 'transition' }, 745 | { name: 'transition-[none|all|colors|opacity|shadow|transform]' }, 746 | ], 747 | }, { 748 | title: 'Transition Duration', 749 | permalink: 'transition-duration', 750 | values: [ 751 | { name: 'duration-[75|100|150|200|300|500|700|1000]' }, 752 | ], 753 | }, { 754 | title: 'Transition Timing Function', 755 | permalink: 'transition-timing-function', 756 | values: [ 757 | { name: 'ease-[linear|in|out|in-out]' }, 758 | ], 759 | }, { 760 | title: 'Transition Delay', 761 | permalink: 'transition-delay', 762 | values: [ 763 | { name: 'delay-[75|100|150|200|300|500|700|1000]' }, 764 | ], 765 | }, { 766 | title: 'Animation', 767 | permalink: 'animation', 768 | values: [ 769 | { name: 'animate-[none|spin|ping|pulse|bounce]' }, 770 | ], 771 | }, { 772 | title: 'Scale', 773 | permalink: 'scale', 774 | values: [ 775 | { name: 'scale-[0|50|75|90|95|100|105|110|125|150]' }, 776 | { name: 'scale-x-[0|50|75|90|95|100|105|110|125|150]' }, 777 | { name: 'scale-y-[0|50|75|90|95|100|105|110|125|150]' }, 778 | ], 779 | }, { 780 | title: 'Rotate', 781 | permalink: 'rotate', 782 | values: [ 783 | { name: 'rotate-[0|1|2|3|6|12|45|90|180]' }, 784 | { name: '-rotate-[1|2|3|6|12|45|90|180]' }, 785 | ], 786 | }, { 787 | title: 'Translate', 788 | permalink: 'translate', 789 | values: [ 790 | { name: 'translate-x-[0|1|2|3|4|5|6|7|8|10|12|16|20|24|32|40|48|56|64|px|full|1/2]' }, 791 | { name: '-translate-x-[1|2|3|4|5|6|7|8|10|12|16|20|24|32|40|48|56|64|px|full|1/2]' }, 792 | { name: 'translate-y-[0|1|2|3|4|5|6|7|8|10|12|16|20|24|32|40|48|56|64|px|full|1/2]' }, 793 | { name: '-translate-y-[1|2|3|4|5|6|7|8|10|12|16|20|24|32|40|48|56|64|px|full|1/2]' }, 794 | ], 795 | }, { 796 | title: 'Skew', 797 | permalink: 'skew', 798 | values: [ 799 | { name: 'skew-x-[0|1|2|3|6|12]' }, 800 | { name: '-skew-x-[1|2|3|6|12]' }, 801 | { name: 'skew-y-[0|1|2|3|6|12]' }, 802 | { name: '-skew-x-[1|2|3|6|12]' }, 803 | ], 804 | }, { 805 | title: 'Transform Origin', 806 | permalink: 'transform-origin', 807 | values: [ 808 | { name: 'origin-center' }, 809 | { name: 'origin-top' }, 810 | { name: 'origin-top-right' }, 811 | { name: 'origin-right' }, 812 | { name: 'origin-bottom-right' }, 813 | { name: 'origin-bottom' }, 814 | { name: 'origin-bottom-left' }, 815 | { name: 'origin-left' }, 816 | { name: 'origin-top-left' }, 817 | ], 818 | }, { 819 | title: 'Appearance', 820 | permalink: 'appearance', 821 | values: [ 822 | { name: 'appearance-none' }, 823 | ], 824 | }, { 825 | title: 'Cursor', 826 | permalink: 'cursor', 827 | values: [ 828 | { name: 'cursor-[auto|default|pointer|wait|text|move|not-allowed]' }, 829 | ], 830 | }, { 831 | title: 'Outline', 832 | permalink: 'outline', 833 | values: [ 834 | { name: 'outline-[none|white|black]' }, 835 | ], 836 | }, { 837 | title: 'Pointer Events', 838 | permalink: 'pointer-events', 839 | values: [ 840 | { name: 'pointer-events-[none|auto]' }, 841 | ], 842 | }, { 843 | title: 'Resize', 844 | permalink: 'resize', 845 | values: [ 846 | { name: 'resize' }, 847 | { name: 'resize-[none|y|x]' }, 848 | ], 849 | }, { 850 | title: 'User Select', 851 | permalink: 'user-select', 852 | values: [ 853 | { name: 'select-[none|text|all|auto]' }, 854 | ], 855 | }, { 856 | title: 'Fill', 857 | permalink: 'fill', 858 | values: [ 859 | { name: 'fill-current' }, 860 | ], 861 | }, { 862 | title: 'Stroke', 863 | permalink: 'stroke', 864 | values: [ 865 | { name: 'stroke-current' }, 866 | ], 867 | }, { 868 | title: 'Stroke Width', 869 | permalink: 'stroke-width', 870 | values: [ 871 | { name: 'stroke-[0|1|2]' }, 872 | ], 873 | }, { 874 | title: 'Screen Readers', 875 | permalink: 'screen-readers', 876 | values: [ 877 | { name: 'sr-only' }, 878 | { name: 'not-sr-only' }, 879 | ] 880 | }, { 881 | title: 'Breakpoints', 882 | permalink: 'breakpoints', 883 | values: [ 884 | { name: 'sm (640px)' }, 885 | { name: 'md (768px)' }, 886 | { name: 'lg (1024px)' }, 887 | { name: 'xl (1280px)' }, 888 | { name: '2xl (1536px)' }, 889 | ] 890 | }, { 891 | title: 'Responsive Design', 892 | permalink: 'responsive-design', 893 | values: [ 894 | { name: 'sm (min-width:640px)' }, 895 | { name: 'md (min-width:768px)' }, 896 | { name: 'lg (min-width:1024px)' }, 897 | { name: 'xl (min-width:1280px)' }, 898 | { name: '2xl (min-width:1536px)' }, 899 | ] 900 | }, { 901 | title: 'Dark Mode', 902 | permalink: 'dark-mode', 903 | values: [ 904 | { name: 'dark:CLASS' }, 905 | ] 906 | }, { 907 | title: 'Hover, Focus, & Other States', 908 | permalink: 'hover-focus-and-other-states', 909 | values: [ 910 | { name: 'Hover:CLASS' }, 911 | { name: 'Focus:CLASS' }, 912 | { name: 'Active:CLASS' }, 913 | { name: 'Group-hover:CLASS' }, 914 | { name: 'Group-focus:CLASS' }, 915 | { name: 'Focus-within:CLASS' }, 916 | { name: 'Focus-visible:CLASS' }, 917 | { name: 'Motion-safe:CLASS' }, 918 | { name: 'Motion-reduce:CLASS' }, 919 | { name: 'Disabled:CLASS' }, 920 | { name: 'Visited:CLASS' }, 921 | { name: 'Checked:CLASS' }, 922 | { name: 'First-child:CLASS' }, 923 | { name: 'Last-child:CLASS' }, 924 | { name: 'Odd-child:CLASS' }, 925 | { name: 'Even-child:CLASS' }, 926 | ] 927 | }, { 928 | title: 'Text Overflow', 929 | permalink: 'text-overflow', 930 | values: [ 931 | { name: 'truncate' }, 932 | { name: 'overflow-ellipsis' }, 933 | { name: 'overflow-clip' }, 934 | ] 935 | }, { 936 | title: 'Transform', 937 | permalink: 'transform', 938 | values: [ 939 | { name: 'transform' }, 940 | { name: 'transform-none' }, 941 | { name: 'transform-gpu' }, 942 | ] 943 | }, { 944 | title: 'responsive-design', 945 | permalink: 'responsive-design', 946 | values: [ 947 | { name: 'transform' }, 948 | { name: 'transform-none' }, 949 | { name: 'transform-gpu' }, 950 | ] 951 | }, { 952 | title: 'ring-color', 953 | permalink: 'ring-color', 954 | values: [ 955 | { name: 'ring-[transparent|current|black|white]' }, 956 | { name: 'ring-gray-[100|200|300|400|500|600|700|800|900]' }, 957 | { name: 'ring-red-[100|200|300|400|500|600|700|800|900]' }, 958 | { name: 'ring-orange-[100|200|300|400|500|600|700|800|900]' }, 959 | { name: 'ring-yellow-[100|200|300|400|500|600|700|800|900]' }, 960 | { name: 'ring-green-[100|200|300|400|500|600|700|800|900]' }, 961 | { name: 'ring-teal-[100|200|300|400|500|600|700|800|900]' }, 962 | { name: 'ring-blue-[100|200|300|400|500|600|700|800|900]' }, 963 | { name: 'ring-indigo-[100|200|300|400|500|600|700|800|900]' }, 964 | { name: 'ring-purple-[100|200|300|400|500|600|700|800|900]' }, 965 | { name: 'ring-pink-[100|200|300|400|500|600|700|800|900]' }, 966 | ] 967 | }, { 968 | title: 'ring-offset-color', 969 | permalink: 'ring-offset-color', 970 | values: [ 971 | { name: 'ring-offset-[transparent|current|black|white]' }, 972 | { name: 'ring-offset-gray-[100|200|300|400|500|600|700|800|900]' }, 973 | { name: 'ring-offset-red-[100|200|300|400|500|600|700|800|900]' }, 974 | { name: 'ring-offset-orange-[100|200|300|400|500|600|700|800|900]' }, 975 | { name: 'ring-offset-yellow-[100|200|300|400|500|600|700|800|900]' }, 976 | { name: 'ring-offset-green-[100|200|300|400|500|600|700|800|900]' }, 977 | { name: 'ring-offset-teal-[100|200|300|400|500|600|700|800|900]' }, 978 | { name: 'ring-offset-blue-[100|200|300|400|500|600|700|800|900]' }, 979 | { name: 'ring-offset-indigo-[100|200|300|400|500|600|700|800|900]' }, 980 | { name: 'ring-offset-purple-[100|200|300|400|500|600|700|800|900]' }, 981 | { name: 'ring-offset-pink-[100|200|300|400|500|600|700|800|900]' }, 982 | ] 983 | }, { 984 | title: 'ring-offset-width', 985 | permalink: 'ring-offset-width', 986 | values: [ 987 | { name: 'ring-offset-0' }, 988 | { name: 'ring-offset-1' }, 989 | { name: 'ring-offset-2' }, 990 | { name: 'ring-offset-4' }, 991 | { name: 'ring-offset-8' }, 992 | ] 993 | }, { 994 | title: 'ring-opacity', 995 | permalink: 'ring-opacity', 996 | values: [ 997 | { name: 'ring-opacity-0' }, 998 | { name: 'ring-opacity-5' }, 999 | { name: 'ring-opacity-10' }, 1000 | { name: 'ring-opacity-20' }, 1001 | { name: 'ring-opacity-25' }, 1002 | { name: 'ring-opacity-30' }, 1003 | { name: 'ring-opacity-40' }, 1004 | { name: 'ring-opacity-50' }, 1005 | { name: 'ring-opacity-60' }, 1006 | { name: 'ring-opacity-70' }, 1007 | { name: 'ring-opacity-75' }, 1008 | { name: 'ring-opacity-80' }, 1009 | { name: 'ring-opacity-90' }, 1010 | { name: 'ring-opacity-95' }, 1011 | { name: 'ring-opacity-100' }, 1012 | ] 1013 | }, { 1014 | title: 'ring-width', 1015 | permalink: 'ring-width', 1016 | values: [ 1017 | { name: 'ring-inset' }, 1018 | { name: 'ring-0' }, 1019 | { name: 'ring-2' }, 1020 | { name: 'ring' }, 1021 | { name: 'ring-4' }, 1022 | ] 1023 | } 1024 | ] 1025 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const Fuse = require('fuse.js') 4 | const Data = require('./data.js') 5 | const chalkPipe = require('chalk-pipe'); 6 | const boxen = require('boxen'); 7 | 8 | // styles 9 | const searchResult = chalkPipe('chalk.green'); 10 | const searchTitle = chalkPipe('chalk.bgGreen.black'); 11 | const itemTitle = chalkPipe('chalk.bgBlue.black'); 12 | const itemValue = chalkPipe('chalk.white'); 13 | const itemLink = chalkPipe('chalk.gray'); 14 | const warn = chalkPipe('chalk.yellow'); 15 | 16 | // draw box 17 | function box(input) { 18 | return boxen(input, { 19 | padding: 0, 20 | margin: 0, 21 | }) 22 | } 23 | 24 | // get input parameters and return as string 25 | let input = process.argv 26 | input.splice(0, 2); 27 | input = input.join(' '); 28 | 29 | // search if there is an input 30 | if (input && input.length) { 31 | search(input) 32 | } else { 33 | console.log( 34 | box( 35 | warn(` Please enter a search term `) 36 | + 37 | `\n Example: ` + searchTitle(` tw border `) 38 | ) 39 | ) 40 | } 41 | 42 | // search function 43 | function search(input) { 44 | 45 | const fuse = new Fuse(Data, { 46 | includeScore: true, 47 | threshold: 0.2, 48 | keys: ['title', 'values.name'] 49 | }) 50 | 51 | const result = fuse.search(input) 52 | 53 | if (result.length != 0) { 54 | console.log( 55 | searchResult( 56 | `🔍 Found ` 57 | + 58 | searchTitle(` ${result.length} `) 59 | + 60 | (result.length == 1 ? ` result for ` : ` results for `) 61 | + 62 | searchTitle(` ${input} `) 63 | ) 64 | ) 65 | Object.keys(result).forEach(resultKey => { 66 | let resultTitle = result[resultKey]['item']['title'] 67 | let resultValues = result[resultKey]['item']['values'] 68 | let resultUrl = 'https://tailwindcss.com/docs/' + result[resultKey]['item']['permalink'] 69 | 70 | console.log(`\n` + itemTitle(` ${resultTitle} `) + itemLink(` ${resultUrl}`)) 71 | 72 | for (const [key, value] of Object.entries(resultValues)) { 73 | console.log( 74 | itemValue` ${resultValues[key]['name']} ` 75 | ) 76 | } 77 | 78 | }) 79 | } else { 80 | console.log( 81 | box( 82 | warn(` No result `) 83 | + 84 | `\n Try searching another term ` 85 | ) 86 | ) 87 | } 88 | console.log(`\n`) 89 | } 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindcss-document-cli", 3 | "version": "1.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ansi-align": { 8 | "version": "3.0.0", 9 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", 10 | "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", 11 | "requires": { 12 | "string-width": "^3.0.0" 13 | }, 14 | "dependencies": { 15 | "string-width": { 16 | "version": "3.1.0", 17 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 18 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 19 | "requires": { 20 | "emoji-regex": "^7.0.1", 21 | "is-fullwidth-code-point": "^2.0.0", 22 | "strip-ansi": "^5.1.0" 23 | } 24 | } 25 | } 26 | }, 27 | "ansi-regex": { 28 | "version": "4.1.0", 29 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 30 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 31 | }, 32 | "ansi-styles": { 33 | "version": "4.3.0", 34 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 35 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 36 | "requires": { 37 | "color-convert": "^2.0.1" 38 | } 39 | }, 40 | "boxen": { 41 | "version": "4.2.0", 42 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", 43 | "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", 44 | "requires": { 45 | "ansi-align": "^3.0.0", 46 | "camelcase": "^5.3.1", 47 | "chalk": "^3.0.0", 48 | "cli-boxes": "^2.2.0", 49 | "string-width": "^4.1.0", 50 | "term-size": "^2.1.0", 51 | "type-fest": "^0.8.1", 52 | "widest-line": "^3.1.0" 53 | }, 54 | "dependencies": { 55 | "chalk": { 56 | "version": "3.0.0", 57 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 58 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 59 | "requires": { 60 | "ansi-styles": "^4.1.0", 61 | "supports-color": "^7.1.0" 62 | } 63 | } 64 | } 65 | }, 66 | "camelcase": { 67 | "version": "5.3.1", 68 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 69 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 70 | }, 71 | "chalk": { 72 | "version": "4.1.0", 73 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 74 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 75 | "requires": { 76 | "ansi-styles": "^4.1.0", 77 | "supports-color": "^7.1.0" 78 | } 79 | }, 80 | "chalk-pipe": { 81 | "version": "4.0.0", 82 | "resolved": "https://registry.npmjs.org/chalk-pipe/-/chalk-pipe-4.0.0.tgz", 83 | "integrity": "sha512-RbCYs/FDouEBoDSBLcHzUv44lpIR2UgeXGMrr8sSKjhJ2jJZ+gBJ89ZKo3XHqMXHFQRdU7oDcw+Lbg8rDA/hqw==", 84 | "requires": { 85 | "chalk": "^4.0.0", 86 | "css-color-names": "^1.0.0" 87 | } 88 | }, 89 | "cli-boxes": { 90 | "version": "2.2.1", 91 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", 92 | "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" 93 | }, 94 | "color-convert": { 95 | "version": "2.0.1", 96 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 97 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 98 | "requires": { 99 | "color-name": "~1.1.4" 100 | } 101 | }, 102 | "color-name": { 103 | "version": "1.1.4", 104 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 105 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 106 | }, 107 | "css-color-names": { 108 | "version": "1.0.1", 109 | "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", 110 | "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" 111 | }, 112 | "emoji-regex": { 113 | "version": "7.0.3", 114 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 115 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" 116 | }, 117 | "fuse.js": { 118 | "version": "6.4.3", 119 | "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.4.3.tgz", 120 | "integrity": "sha512-JNgngolukIrqwayWnvy6NLH63hmwKPhm63o0uyBg51jPD0j09IvAzlV1rTXfAsgxpghI7khAo6Mv+EmvjDWXig==" 121 | }, 122 | "has-flag": { 123 | "version": "4.0.0", 124 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 125 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 126 | }, 127 | "is-fullwidth-code-point": { 128 | "version": "2.0.0", 129 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 130 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 131 | }, 132 | "string-width": { 133 | "version": "4.2.0", 134 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 135 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 136 | "requires": { 137 | "emoji-regex": "^8.0.0", 138 | "is-fullwidth-code-point": "^3.0.0", 139 | "strip-ansi": "^6.0.0" 140 | }, 141 | "dependencies": { 142 | "ansi-regex": { 143 | "version": "5.0.0", 144 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 145 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" 146 | }, 147 | "emoji-regex": { 148 | "version": "8.0.0", 149 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 150 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 151 | }, 152 | "is-fullwidth-code-point": { 153 | "version": "3.0.0", 154 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 155 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 156 | }, 157 | "strip-ansi": { 158 | "version": "6.0.0", 159 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 160 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 161 | "requires": { 162 | "ansi-regex": "^5.0.0" 163 | } 164 | } 165 | } 166 | }, 167 | "strip-ansi": { 168 | "version": "5.2.0", 169 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 170 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 171 | "requires": { 172 | "ansi-regex": "^4.1.0" 173 | } 174 | }, 175 | "supports-color": { 176 | "version": "7.2.0", 177 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 178 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 179 | "requires": { 180 | "has-flag": "^4.0.0" 181 | } 182 | }, 183 | "term-size": { 184 | "version": "2.2.1", 185 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", 186 | "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" 187 | }, 188 | "type-fest": { 189 | "version": "0.8.1", 190 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 191 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" 192 | }, 193 | "widest-line": { 194 | "version": "3.1.0", 195 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", 196 | "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", 197 | "requires": { 198 | "string-width": "^4.0.0" 199 | } 200 | } 201 | } 202 | } 203 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindcss-document-cli", 3 | "version": "1.1.0", 4 | "description": "Tailwind CSS Document for CLI", 5 | "author": "Pouya Saadeghi", 6 | "license": "MIT", 7 | "keywords": [ 8 | "tailwindcss", 9 | "tailwind", 10 | "document", 11 | "cli", 12 | "ui" 13 | ], 14 | "main": "./index.js", 15 | "bin": { 16 | "tw": "./index.js" 17 | }, 18 | "dependencies": { 19 | "boxen": "^4.2.0", 20 | "chalk": "^4.1.0", 21 | "chalk-pipe": "^4.0.0", 22 | "fuse.js": "^6.4.3" 23 | } 24 | } 25 | --------------------------------------------------------------------------------