GithubHelp home page GithubHelp logo

brainwave0 / website Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ipfs-inactive/website

0.0 2.0 0.0 57.4 MB

IPFS project website

Home Page: https://ipfs.io

License: MIT License

JavaScript 25.72% HTML 23.66% Makefile 3.73% CSS 42.86% Shell 1.53% Go 2.50%

website's Introduction

build status

Official website for IPFS http://ipfs.io

This project builds out a static site to explain IPFS, ready for deployment on ipfs itself. 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 site content is in content/ directory.

Install

> git clone https://github.com/ipfs/website

Usage

To deploy the site ipfs.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 ipfs.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 serve

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

make dev

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

make minify

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 ipfs.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.

Latest Blog Posts

The IPFS Starlog list in the Latest section is populated from the IPFS blog, which has a separate build and deploy process. That process includes building an index.json file containing the latest post data in the blog's root directory. Latest posts can be rendered by this project via two mechanisms:

  1. Statically, at build time. The /layouts/partials/latest.html partial contains code (currently commented-out) which GETs index.json from its expected absolute URL and uses the returned data to populate the IPFS Starlog.
  2. Dynamically, via the /js/lib/blog-feed.js script. This script requests the resource at /ipns/blog.ipfs.io/index.json once the page has loaded to avoid any CORS concerns. If successful, the response will be used to overwrite any static content.

Dependencies

  • hugo to build website
  • Node.js and npm for build tools
  • ipfs to deploy changes
  • jq, curl and an auth.token file in the project root containing your dnsimple api token to update the dns

All other dependencies are pulled from npm and the Makefile will run npm install for you because it's nice like that.

Contribute

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

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

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

website's People

Contributors

alanshaw avatar alphactzo7g avatar autonome avatar cwaring avatar daviddias avatar dignifiedquire avatar eelcocramer avatar fritzy avatar hackergrrl avatar him2 avatar hsanjuan avatar jbenet avatar jessicaschilling avatar johnnymatthews avatar kubuxu avatar kyledrake avatar leerspace avatar lidel avatar momack2 avatar mr0grog avatar olizilla avatar richardlitt avatar richsilv avatar sockdrawermoney avatar stebalien avatar terichadbourne avatar victorb avatar whyrusleeping avatar wking avatar wraithgar avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.