npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

convy

v0.2.1

Published

## Table of contents - [Directory structure](#directory-structure) - [CSS: ITCSS](#css-itcss) - [JavaScript: babel](#javascript-babel) - [JavaScript: browserify](#javascript-browserify) - [KSS-node: michelangelo](#kss-node-michelangelo) - [Resources](#res

Downloads

3

Readme

Convy, for good conversations.

Table of contents

Directory structure


┌── src
│   ├── css
│   │   ├── 1-settings
│   │   ├── 2-tools
│   │   ├── 3-generic
│   │   ├── 4-base
│   │   ├── 5-objects
│   │   ├── 6-components
│   │   ├── 7-scopes
│   │   ├── 8-trumps
│   │   └── index.convy.scss
│   ├── js
│   │   ├── scopes [smart components]
│   │   ├── components [dumb components]
│   │   ├── actions
│   │   ├── reducers
│   │   ├── register-service-worker.js
│   │   ├── index.convy.js
│   │   ├── store.js
│   │   └── route.js
│   ├── font
│   └── img
└── dest

CSS: ITCSS

It stands for Inverted Triangle CSS. It is a fully managed CSS architecture. It's not a framework or library; there's nothing to download or install. It's a collection of principles and metrics by which developers should group and order their CSS in order to keep it scalable, terse, logical, and manageable. It's very specifically opinionated in that it gives definite rules and guidelines for your source order and groupings, but it leaves decisions about naming conventions and preprocessors etc. up to you.

The ITCSS philosophy is a simple one at its core. Basically that we should order CSS by metrics defined by the language (and its features) than by the usual standard of human-oriented patterns. ITCSS takes CSS and writes it in a way that browsers and the design of the language can best utilise, which gives us far better scalability and maintainability than we'd get if we were to write CSS around how a person thinks.

That said, the move to ITCSS (both conceptually and in practice) is not a huge shock to the system as you might imagine; it basically just rewires a couple of fundamentals and then it's business as usual.

  • Settings The preprocessor variables are the globally-available settings or configuration switches for our project.
  • Tools Includes all the public mixins and helper functions. These globally-available tools should make our development flow easier.
  • Generic The ground zero styles. They are low-specificity and far reaching. Think about resets and normalizing our styles for cross-browser compatibility.
  • Base Unclassed HTML elements. This is the last layer where we use type selectors. Anything necessary to style raw elements goes in here.
  • Objects Object oriented CSS. Begin using classes exclusively for agnostically named noncosmetic design patterns. This layer is mostly layout-driven.
  • Components Explicitly named designed pieces of UI. The cosmetic layer, includes more specific styling instructions.
  • Scopes Consists out of components grouped together. They rely entirely on nesting, so make sure people are aware of this.
  • Trumps Only affect one piece of the DOM at a time. These are the utility classes or overrides and usually carry !important.

JavaScript: Babel

It gives support for the latest version of JavaScript through syntax transformers. These plugins allow you to use new syntax, right now without waiting for browser support.

JavaScript: Browserify

It is a tool for compiling node-flavored commonjs modules for the browser. You can use browserify to organize your code and use third-party libraries.

KSS-node: michelangelo

This software is a Node.js implementation of Knyle Style Sheets (KSS). This is a documentation syntax for CSS, that's intended to have syntax readable by humans and machines. The kss-node software can be used to create a living style guide.

Write human-readable documentation using KSS syntax comments. Have the kss tool automatically build a style guide from your stylesheets. Michelangelo is the custom template for the KSS-node living style guide. Have a look here to get started with the template and the kss-node syntax.

Resources