A (mostly) headless blogging platform built atop Nuxt & Gist.
Gustavo is an opinionated, (mostly) headless blogging platform built to use:
- Github Gist
- Nuxt (Vue 2.0)
- Docker
By simply naming your files in a uniform matter, Gustavo can create a whole blog for you in seconds. Don't believe me? Check out the gist that is my blog.
You can create content for your blog by simply creating files in a gist that follow this schema:
Type | Naming | Example |
---|---|---|
post | {name}.post.md |
link |
page | {name}.page.md |
link |
navigation | links.txt |
link |
image | clone gist and upload | link |
draft | {name}.post.draft.md |
Here is the gist that powers this blog.
Step 1, create your gist and add some content.
Step 2, create gustavo.config.js
with the following:
module.exports = {
title: 'My gustavo blog',
githubToken: '<< token >>',
gistId: '<< gist id >>'
}
Note: you'll want to create a personal access token on Github because Gustavo uses the Gist API, and without the token, your blog will be rate limited.
Step 3, create a Dockerfile
with the following:
FROM eggplanet/gustavo:latest
Step 4, let's start it up.
docker build -t my-gustavo-blog .
docker run -p 3000:3000 my-gustavo-blog
Your blog will be running at http://localhost:3000
Deploying gustavo is simple. Our reccomended method is Now by Zeit.
now secrets add gustavo-github-token=<TOKEN>
now secrets add gustavo-gist-id=<ID>
now -e GITHUB_TOKEN=@gustavo-github-token -e GIST_ID=@gustavo-gist-id --docker
now alias my-gustavo-blog-wjdihnxorf.now.sh my-gustavo.blog
- MIT
docker build -t eggplanet/gustavo .
docker push eggplanet/gustavo