Skip to content

zimuxin/blog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPFS Blog

This is the source repository for the IPFS Blog.

Editing

  1. install node + npm and required modules

    npm install
  2. run build

    node build.js

Creating a Post

To create a new post:

mkdir src/<next-number>-<short-title>/
touch src/<next-number>-<short-title>/index.md

That will create a directory for the post inside src/. Edit the index.md there. Place any static assets (e.g. images) inside that directory.

Live editing

Run build:

make build

This should setup a server. For now, it screws up the styling because the styles are pulled from ipfs directly. (FIXME, should put the styles in the build dir.) Just kill it when you're ready to publish

Publishing Post

How to publish the blog on IPFS.io

Editing

  1. Make a change to a file
  2. Add and commit.
  3. make build
  4. $ ipfs add -r build Only if you want a preview for other people (you can just use make serve). The path is build, in the website and the blog. The daemon needs to be running for others to access it, or to access it through a gateway.
  5. Push to remote branch.
  6. Make a pull request to master.
  7. Get it merged following review from another member.
  8. $ git checkout master && git pull origin master

Publishing

  1. $ ipfs daemon

  2. $ make publish Now anyone who has the hash can access.

  3. Go to IRC: Use pinbot to liase with all of the other 8 gateways (planets: Uranus, Venus, etc) and make sure they have it pinned. So, like so:

    $ !pin <hash> <label>

The label (it should be blog) can change, of course. This can sometimes take ages, because there is a pinbug that causes a hang. Pinbot will tell you when it succeeds. If it continually hangs, the gateway needs to restart. Pin @lgierth or @whyrusleeping and tell them that the pinning bug is bugging you, and have them zap it. Then try pinning again (it should work right away).

  1. $ make publish-to-domain

You will need access to DigitalOcean for this to work. You will then need to use the token. This will take a few minutes for DNS to propogate.

Theme

The layouts follow the example viewer. Modify the files inside

tmpl/

Releases

No releases published

Packages

No packages published

Languages

  • CSS 45.2%
  • HTML 43.1%
  • JavaScript 7.4%
  • Makefile 4.3%