This repository contains code and content for the IPFS Blog & News website. To contribute to the site, please follow the instructions below for post authors/editors and site developers.
If you just want to submit a link (event, academic paper, tutorial, video or news coverage) to add to the site, use this easy form!
For post authors/editors
While it’s possible to manually PR a new blog post from a local build, you are strongly encouraged to use this site’s Forestry integration for drafting and editing new content. Using Forestry offers you WYSIWYG editing (in addition to raw markdown mode), easy image upload/crop tools, and instant previews. If you’re an IPFS core team member and don’t have Forestry access, contact Jessica Schilling.
Forestry uses the
staging branch as a work-in-progress scratchpad for blog content. Once content in
staging is approved, it can be merged into
main, which is the branch that feeds the production site at blog.ipfs.io. Merges into
main are automatically deployed to the production site using Fleek.
Forestry authoring/editing tips
- Use the “Content Types” section of Forestry’s left-hand menu to drill down to the type of item (blog post, video, news coverage, event) you want to create/edit.
- For card and blog post header images, be sure to use the image crop/scale tool to resize and save images so they’re the correct dimensions. (Don’t have an image? Don’t worry, there are generic fallback images.)
- Want to embed a YouTube video in a blog post? Switch to raw markdown view and use
@[youtube](videoID), substituting the video’s unique ID from the URL (e.g.
- To switch between WYSIWYG and raw markdown while writing a blog post, choose “Raw Editor” or “WYSIWYG Editor” from the dots menu at the top right of the page:
Forestry build preview tips
While WYSIWYG mode usually gives you a good enough idea of what a blog post will look like, you can also load Forestry’s own build preview in a new tab by clicking the eye icon at the top right of the page:
This build preview lets you preview changes to any content type (not just blog posts), and does not require you to save your changes in order to see them.
A few tips:
- Click the eye icon to regenerate a build preview at any time from a Forestry edit page. You may need to reload the build preview tab if you don’t see changes come through immediately.
- Occasionally, a build preview page gets stuck at a URL ending in
forestry/pendingor simply won’t load. In this case, try the following:
forestry/pendingfrom the URL and try again.
- Check the Previews section of Forestry’s
Site > Settingspage to see the preview server’s current status, start/stop/restart the server, or examine the logs for errors. Simply restarting the preview server can fix many problems.
- If all else fails, save your changes, wait a few minutes, and take a look at Fleek’s build of the latest version of the
stagingbranch. It’s a considerably slower build/deploy time, but does reflect the latest changes once it finishes deploying.
To deploy to the live site
Changes you save in Forestry are written directly to the
staging branch and automatically generate a staging preview at https://ipfs-blog-staging.on.fleek.co/.
Once a staged post is ready to go live, please PR
main using this handy shortcut. Give your PR a title explaining what changes are inside (the default just says “Staging”, which isn’t helpful.) Note that if multiple posts are in-flight in staging and only one is approved to go live, your PR may need some massaging by a reviewer.
Note for PR reviewers: While we continue to dogfood Forestry, please leave your edits in comments rather than making additional commits. As our overall workflow continues to solidify, this direction may change.
To add a URL redirect for a blog post
Please add a new line to
src/.vuepress/redirects and make a PR of the change to
For site developers
⚠️ Important! All site development work (as opposed to blog posts) should be based on and merged into
Build and run locally
To build a local copy, run the following:
Clone this repository:
git clone https://github.com/ipfs/ipfs-blog.git
Move into the
ipfs-blogfolder and install the npm dependencies:
Start the application in dev mode:
Open localhost:8080 in your browser.
You can close the local server with
c. To restart the local server, run
npm start from inside the
PR and preview
Once you’re happy with your local changes, please make a PR against the
main branch. Including detailed notes on your PR – particularly screenshots to depict any changes in UI – will help speed up approval and deployment.
All PRs against
main automatically generate Fleek previews to make it easier to “check your work”. You can view your PR’s preview by clicking
Details in the
fleek/build check at the bottom of your PR page:
A reviewer will be by shortly to have a look!
This site’s codebase is under active maintenance by members of the core IPFS team.