/website

Official website for IPLD

Primary LanguageHTMLMIT LicenseMIT

!!!

The website source repo has moved.

We're now building the website out sources of the ipld/ipld meta-repo, where it's handled in a unified way with all the docs and specs content that needs the publishing!

All documentation, fixtures, specifications, and web content is now gathered into that repo. Please update your links, and direct new contributions there.

The website is still published at https://ipld.io/ , as before.

!!!


IPLD website

standard-readme compliant build status

ipld logo animation

Official website for IPLD http://ipld.io

This repository contains the source code for the IPLD website available at http://ipld.io

This project builds out a static site to explain IPLD, ready for deployment on ipfs. It uses hugo to glue the html together. It provides an informative, public-facing website. The most important things are the words, concepts and links it presents.

The implementation aims to progressively enhance the content. The styling is done with tachyons to keep things light. The animations are done in SVG and CSS. There is very little JavaScript and the interactive elements that use JS should degrade gracefully on browsers without it.

Install

git clone https://github.com/ipld/website

We use make to build the site, and npm to fetch our build tool dependencies. Running make or make dev will fetch the dependencies from npm for you the first time you run it.

If you have any problems with building the site, try removing your local node_module director and re-run make.

Usage

To work on the site locally with a hot-reloading dev site served at http://localhost:1313/

make dev

When you submit a PR, the site will be built and pinned on IPFS Cluster and a preview link will be added as PR status item.

When the master branch changes, site will be built, pinned to cluster, and the DNSlink for https://ipld.io will be updated with the latest hash.

To deploy the site to https://ipld.io, run:

# Build out the optimised site to ./public, where you can check it locally.
make

# Add the site to your local ipfs, you can check it via /ipfs/<hash>
make deploy

# Save your dnsimple api token as auth.token
cat "<api token here>" > auth.token

# Update the dns record for ipld.io to point to the new ipfs hash.
make publish-to-domain

The following commands are available:

make

Build the optimised site to the ./public dir

make dev

Start a hot-reloading dev server on http://localhost:1313 (requires hugo on your PATH)

make serve

Preview the production ready site at http://localhost:1313 (requires hugo on your PATH)

make minfy

Optimise all the things!

make deploy

Build the site in the public dir and add to ipfs (requires hugo & ipfs on your PATH)

make publish-to-domain 🚀

Update the DNS record for libp2p.io. (requires an auto.token file to be saved in the project root.)

If you'd like to update the dnslink TXT record for another domain, pass DOMAIN=<your domain here> like so:

make publish-to-domain DOMAIN=tableflip.io

See the Makefile for the full list or run make help in the project root. You can pass the env var DEBUG=true to increase the verbosity of your chosen command.

Dependencies

  • Node.js and npm for build tools
  • ipfs to add to IPFS during make deploy
  • dnslink-deploy to update dns make publish-to-domain

Contribute

Please do! Check out the issues, or open a PR!

Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to IPLD are subject to the IPFS Code of Conduct.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © 2016 Protocol Labs Inc.