--- title: Static-site generators description: --- # Static-site generators Static-site generators like Hugo, Jekyll, Middleman, Next.js, and VuePress are all incredibly popular platforms building websites quickly. This guide walks through how to integrate IPFS into each of these workflows. ## Hugo Refer to Hugo's [Quick Start](https://gohugo.io/getting-started/quick-start/) to install and set up your project. In `config.toml` add `relativeURLs` and set it to `true`. ``` relativeURLs=true ``` Build static pages ```bash hugo -D ``` Output will be in `./public/` directory by default. Upload the public folder to IPFS. ## VuePress Refer to VuePress' [Getting Started](https://vuepress.vuejs.org/guide/) to install and set up your project. To build a static site: ```bash vuepress build ``` Output will be in `./.vuepress/dist` directory by default. Use a command to convert a static site to only use relative URLs. In this example, we'll be using [all-relative](https://www.npmjs.com/package/all-relative) ```bash cd .vuepress/dist/ npx all-relative ``` Upload the `dist` folder to IPFS. ## Middleman Refer the Middleman's [Installation](https://middlemanapp.com/basics/install/) guide to install Ruby and Middleman. 1. Enable relative links and disable index file strip in your project's `config.rb` file: ```ruby set :relative_links, true set :strip_index_file, false ``` Links generated by the `link_to` helper or by markdown will become relative. 1. Build your static site: ```bash middleman build ``` Middleman will output your site to the `./build` folder. 1. Upload the `build` folder to IPFS. ## Jekyll Refer to Jekyll's [Installation](https://jekyllrb.com/docs/installation/) guide to install Ruby and Jekyll. Refer to Jekyll's [Quickstart](https://jekyllrb.com/docs/) to set up your project. To build a static site: ```bash jekyll build ``` Output will be in `./_site` by default. Use a command to convert a static site to only use relative URLs. In this example, we'll be using [all-relative](https://www.npmjs.com/package/all-relative) ```bash cd _site/ npx all-relative ``` Upload the `_site` folder to IPFS. ## WordPress While WordPress is not a static site generator, it is possible to turn it into a static website and migrate it over to a static-hosting service. [Take a look at this blog post from Fleek that walks you through the whole process](https://blog.fleek.co/posts/wordpress+fleek)! Keep in mind that you will lose the ability to manage your website's content through the WordPress _back-end_, and that this process requires that you install a plugin along-side your WordPress site.