Gustavo
👨 A (mostly) headless blogging platform built atop Nuxt & Gist.
Install / Use
/learn @eggplanetio/GustavoREADME
A (mostly) headless blogging platform built atop Nuxt & Gist.
Contents
Overview
Gustavo is an opinionated, (mostly) headless blogging platform built to use:
- Github Gist
- Nuxt (Vue 2.x)
- Docker
Using a simple naming schema, Gustavo can create a whole blog for you in seconds. Don't believe me? Check out the gist that is my blog.
Creating content
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.md | link |
| navigation | links.txt (deprecated)| link |
| image | clone gist and upload | link |
| draft | {name}.post.draft.md | |
Here is the gist that powers this blog.
Getting started
To create a blog, follow these steps:
-
Create your gist and add some content.
-
Create
gustavo.config.jswith the following:
module.exports = {
title: 'My gustavo blog',
gistId: '<< gist id >>',
githubToken: '<< token >>', /* optional, recommended */
googleAnalyticsId: 'UA-X-XXXXX'
}
Note: you'll want to create a personal access token on Github because Gustavo uses the Gist API, and without the token and although it will still work, your blog will be rate limited.
- Create a
Dockerfilewith the following:
FROM eggplanet/gustavo:latest
- 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
Deployment
Deploying gustavo is simple. The recommended 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
License
- MIT
Credits
Releasing a new image
$ docker build -t eggplanet/gustavo:latest .
$ docker push eggplanet/gustavo:latest
Changelog
2.0.0
- Better caching using apicache
- Cleaned up a bunch of dead code
- nuxt@^1.0.0-rc11
1.0.0
- Initial release
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
