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

microscope-sass

v2.0.0

Published

Sass microframework for building scoped user interfaces.

Downloads

8,374

Readme

:microscope: Microscope

Sass microframework for building scoped user interfaces.

Microscope is a microframework with a light footprint (0kb by default) which only applies styling to explicitly selected elements* (by you) based on highly configurable defaults.

0kb footprint

Microscope only exposes functions, mixins and variables (so no default styling*). CSS is only generated if needed.

Explicitly selected elements

Because no default styling is present, Microscope works well in combination with existing styling or other libraries.

Highly configurable

Microscope contains a large amount of settings (with sane defaults) which configure the created CSS code. Many settings have variations and/or optional breakpoint specific overrides which allow for more specific configurations. The settings can be specified in a settings file which acts as a digital representation of your style guide.

* With the exception of the wysiwyg and table mixins, which applies formatting to children automatically (only if called).

Install

Install with npm

npm i microscope-sass --save

Webpack

To use Microscope with webpack, install and configure sass-loader.

Webpack style import:

@import '~microscope-sass/lib/<library>';  // Import single library (recommended).
@import '~microscope-sass';                // Import everything at once.

Eyeglass

For historic reasons, the Eyeglass import is referenced as "microscope" insead of "microscope-sass".

Microsope supports Eyeglass in which case it can be referenced as "microscope".

Eygeglass style import:

@import 'microscope/lib/<library>';  // Import single library (recommended).
@import 'microscope';                // Import everything at once.

includePaths

Add "node_modules/" to the includePaths setting of you sass environment.

...
includePaths: ["node_modules/"],
...

includePaths style import:

@import 'microscope-sass/lib/<library>';  // Import single library (recommended).
@import 'microscope-sass';                // Import everything at once.

Note: Further documentations assumes a webpack installation and webpack style imports.

Usage

Configuration

Adjust settings_sample.scss based on your needs, note that all options are optional and unnecessary options can be omitted and removed.

Save the settings file and make sure to include it as the first file in you main .scss entrypoint.

@import 'settings';

Libraries

Microscope exposes the following libraries, please refer to their documentation functions, mixins and variables are exposed.

Importing a single library (preferred)

In any of your (nested) .scss files, import the libraries you need. The libraries will use your custom settings if set.

@import '~microscope-sass/lib/grid';

Import everything at once

It's also possible to import all libraries at once.

@import '~microscope-sass';

Applying styles

Microscope is designed to help styling isolated bits of HTML. The recommended use is to target class selectors so styles are remain scoped and don't leak out to other places.

@import '~microscope-sass/lib/color';
@import '~microscope-sass/lib/typography';

.header__title {
    @include h1;
    @include color-primmary;
}

A special wysiwyg mixin is availabe (via the typography library to automatically apply elements based on their tag name. It's recommended to only use this when the internal structure is unknown (for instance when styling the output of a wysiwyg editor).

@import '~microscope-sass/lib/typography';

.wysiwyg {
    @include wysiwyg;
}

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Maykin Media

License

Copyright © 2019 Maykin Media Licensed under the MIT license.