Welcome
Awesome Dat
Dat Applications
datproject/dat
datproject/dat-desktop
Community Applications
codeforscience/sciencefair
mafintosh/hyperirc
jondashkyle/soundcloud-archiver
mafintosh/hypervision
joehand/hypertweet
beakerbrowser/dat-photos-app
High-Level APIs
datproject/dat-node
datproject/dat-js
beakerbrowser/pauls-dat-api
beakerbrowser/node-dat-archive
Hosting & Dat Management
mafintosh/hypercore-archiver
datprotocol/hypercloud
beakerbrowser/hashbase
joehand/dat-now
mafintosh/hypercore-archiver-bot
joehand/hypercore-archiver-ws
datproject/dat-registry-api
datproject/dat-registry-client
Managing & Aggregating Dats
datproject/multidat
datproject/multidrive
jayrbolton/dat-pki
beakerbrowser/injestdb
Http Hosting
joehand/hyperdrive-http
beakerbrowser/dathttpd
Dat Link Utilties
datprotocol/dat-dns
joehand/dat-link-resolve
pfrazee/parse-dat-url
juliangruber/dat-encoding
Dat Utilities
joehand/dat-log
mafintosh/dat-ls
karissa/hyperhealth
joehand/hyperdrive-network-speed
File Imports & Exports
juliangruber/hyperdrive-import-files
mafintosh/mirror-folder
pfrazee/hyperdrive-staging-area
pfrazee/hyperdrive-to-zip-stream
Hypercore Tools
mafintosh/hyperpipe
Dat Core Modules
mafintosh/hyperdrive
mafintosh/hypercore
CLI Utilities
joehand/dat-doctor
joehand/dat-ignore
joehand/dat-json
Networking
karissa/hyperdiscovery
mafintosh/discovery-swarm
mafintosh/webrtc-swarm
joehand/dat-swarm-defaults
Lower level networking modules
maxogden/discovery-channel
mafintosh/dns-discovery
mafintosh/multicast-dns
webtorrent/bittorrent-dht
mafintosh/utp-native
mafintosh/signalhub
Storage
datproject/dat-storage
datproject/dat-secret-storage
Random Access
juliangruber/abstract-random-access
mafintosh/multi-random-access
mafintosh/random-access-file
mafintosh/random-access-memory
mafintosh/random-access-page-files
datproject/dat-http
substack/random-access-idb
Other Related Dat Project Modules
mafintosh/peer-network
mafintosh/hyperdht
Dat Project Organization Stuff
datproject/datproject.org
datproject/discussions
datproject/design
datproject/dat-elements
kriesse/dat-colors
kriesse/dat-icons
juliangruber/dat.json
Outdated
juliangruber/dat.haus
poga/hyperfeed
yoshuawuyts/normcore
yoshuawuyts/github-to-hypercore
poga/hyperspark
juliangruber/hypercore-index
juliangruber/hyperdrive-encoding
mafintosh/hyperdrive-http-server
joehand/hyperdrive-http
joehand/dat-push
joehand/dat-backup
joehand/archiver-server
joehand/archiver-api
poga/hyperdrive-ln
substack/hyperdrive-multiwriter
substack/hyperdrive-named-archives
substack/git-dat
CfABrigadePhiladelphia/jawn
maxogden/dat-archiver
juliangruber/hyperdrive-stats
karissa/hypercore-stats-server
mafintosh/hypercore-stats-ui
karissa/zip-to-hyperdrive
joehand/url-dat
joehand/tar-dat
joehand/hyperdrive-duplicate

dat-design

NPM version Join the chat at https://gitter.im/datproject/design

design resources and assets for the dat project

Build and deploy documentation website

run ./scripts/build

Build and/or develop on this module:

npm install
npm run watch-css
npm run watch-site
open dist/index.html

api for importing (s)css assets into other projects

from your project’s root directory (assuming you’re using npm):

npm install dat-design --save

from here you have the following choices for including individual .css files in your project:

the simplest way to include this module in another project. just include the stylesheet you want in your html as you would any other stylesheet with a relative link. not recommended for use in production web apps because this would involve making your node_modules directory accessible from the web:

<link type="text/css" rel="stylesheet" href="./../node_modules/dat-design/css/base.css">

vanilla @import:

from within a css file in your project, include a relative path to the file you want to include from this repo, which is now in your project’s nodule_modules directory. not recommended for use in production web apps without a build step that removes the @import, since @import is not performant on the fly.

@import './../node_modules/dat-design/public/css/base.css';

node-sass-magic-importer:

Use the magic importer npm module with node-sass.

npm install node-sass-magic-importer --save-dev

when you set up node-sass to run in your package.json scripts, you can use the --importer option like so:

"build-css": "node-sass --importer node_modules/node-sass-magic-importer src/scss/sample.scss public/css/sample.css"

now, from within your sample.scss file, you can @import this dat-design npm module with the following syntax:

@import "~dat-design";

if there's no file path specified after the dat-design module name (like above), the @import rule resolves to the file defined by this module's style property in the package.json. you can also point at individual files within this module from within the scss files in your project to use mixins and variables:

@import "~dat-design/base/buttons.scss"

node-sass-magic-importer offers lots of other options in addition to these as well.

How To Use Dat (S)CSS in Your Project

By importing dat-design in your projects (s)css, you’ll get the following:

Reset

Dat-design uses Normalize, which makes browsers render all elements more consistently.

Variables

The SCSS version of dat-design provides you with variables for colors and transitions which you should use in your project to ensure visual consistency between dat-related projects. Refer to the Dat Styleguide to understand how.

Dat classes

There’s also a set of custom classes for dat-specific components, like buttons or loaders. Those components are documented in the Dat Styleguide.

Logo Assets

Dat-design comes with ready-to-use logo assets, in ./../node_modules/dat-design/public/img.

Is something missing?

If some dat project is in need of a new design element or concept please open an issue!