andrew / ipfs-css

The single-purpose css class names and font-face config to IPFS up your UI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ipfs-css

The single-purpose CSS class names and @font-face config to IPFS up your UI.

/* ---- font ----- */
.sans-serif { font-family: 'Inter', system-ui, sans-serif; }
.montserrat { font-family: 'Montserrat', 'Verdana', system-ui, sans-serif; }
.monospace { font-family: Consolas, monaco, monospace; }

/* ---- color ----- */
.navy { color: #0b3a53; }
.navy-muted { color: #244e66; }
.aqua { color: #69c4cd; }
.aqua-muted { color: #9ad4db; }

/* ...and (just a little) more! */

Pairs well with tachyons.

Install

Add ipfs-css to your project via npm:

npm install ipfs-css

Usage

Once you've installed ipfs-css from npm, the CSS and SCSS files and the web-fonts are available from your node_modules/ipfs-css directory.

If you are set up with a build process that lets you import css files directly from node_modules, then you can just add the following to your CSS file.

@import 'tachyons'; /* Optional, jolly good tho */
@import 'ipfs-css';

The file includes font-face definitions and single purpose CSS class names that you can compose freely, to create your lovely UI.

<header class='pa2 bg-navy'>
  <h2 class='ma0 montserrat aqua'>
    OH HAI! It's so nice to see you again.
  </h2>
</header>

CSS in JS

You can import the theme.json file which can be used with a ThemeProvider component.

All the CSS atoms are generated from that, so you can be sure you're using the same values.

Less

ipfs.css is a regular CSS file, so you can import it normally. Each declaration has a single purpose, so if you prefer to compose your rules outside the DOM, you can safely use them as mixins:

.my-lovely-widget {
  .aqua;
  .bg-navy;
  .montserrat;
}

SCSS

While ipfs.css contains everything you need, if you prefer variables for fonts, colors and gradients, these are there for you in theme.scss.

Icons

See: https://gateway.ipfs.io/ipfs/QmWB4HTz8G9RQeNumjFqHeHD7ziVkC3bfxWe37oEE75LZv

Colors

Releasing

First, clean and build the CSS and the docs.

# Clean then build your local workspace
$ npm run clean
$ npm run build

Next, with IPFS running locally, add the docs to IPFS, to get the new CID.

# Add the docs to IPFS to get the CID
$ npm run -s deploy:docs
Qma9198EYULiyHwVNVcwxenQqWmJgHNhXqRAGn11wg9c9g

Pin the CID to ipfs-cluster (via #pinbot on IRC or your preferred method). Update the README.md with the new docs link.

Then bump the version, push to GitHub and publish to npm. If you are adding an icon, that's a minor release. Fixing an issue with an existing icon would be a patch. Changing any of the color values would be at least a minor. Changing the naming scheme for the CSS classes would be a major release.

# use npm to bump the version and tag
$ npm version minor

# Push the changes back to the repo
$ git push origin master
$ git push --tags

# PUBLISH!
$ npm publish

Maintainers

This repo is monitored and maintained by the IPFS GUI group.

Contributions to this or any other IPFS GUI group project are welcome! Learn more.

License

The Monserrat font family © The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat) is used under the SIL Open Font License, Version 1.1.

The Inter font family © The Inter Project Authors (me@rsms.me) is used under the SIL Open Font License, Version 1.1.

The home icon © Icons8 is under their Free License

All other documents and icons are CC-BY-SA 3.0 license © 2018 Protocol Labs Inc.

Code is under the MIT © 2018 Protocol Labs Inc.

About

The single-purpose css class names and font-face config to IPFS up your UI.

License:MIT License


Languages

Language:HTML 56.8%Language:Python 14.8%Language:CSS 9.5%Language:C 8.2%Language:JavaScript 7.7%Language:Shell 1.7%Language:Makefile 0.8%Language:Objective-C++ 0.4%Language:Dockerfile 0.0%