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.