Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eggplanetio/gustavo
👨 A (mostly) headless blogging platform built atop Nuxt & Gist.
https://github.com/eggplanetio/gustavo
blog gist gus nuxt vue vue2
Last synced: about 2 months ago
JSON representation
👨 A (mostly) headless blogging platform built atop Nuxt & Gist.
- Host: GitHub
- URL: https://github.com/eggplanetio/gustavo
- Owner: eggplanetio
- Created: 2017-03-05T23:30:58.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-28T05:32:42.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T01:22:03.189Z (5 months ago)
- Topics: blog, gist, gus, nuxt, vue, vue2
- Language: Vue
- Homepage:
- Size: 570 KB
- Stars: 134
- Watchers: 5
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
> A (mostly) headless blogging platform built atop Nuxt & Gist.
[Demo](https://www.briangonzalez.org)
### Contents
- [Overview](#overview)
- [Creating content](#creating-content)
- [Getting started](#getting-started)
- [Deployment](#deployment)## Overview
Gustavo is an opinionated, (mostly) [headless](https://headlesscms.org/) blogging
platform built to use:- Github Gist
- Nuxt (Vue 2.x)
- DockerUsing a simple naming schema, Gustavo can create a whole blog for you in seconds. Don't believe me?
Check out the [gist](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e) that is [my blog](https://www.briangonzalez.org).## 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](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e#file-lazy-leadership-post-md) |
| page | `{name}.page.md` | [link](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e#file-about-page-md) |
| navigation | `links.md` | [link](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e#file-links-md) |
| navigation | `links.txt` (deprecated)| [link](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e#file-links-txt) |
| image | clone gist and upload | [link](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e#file-your-speed-jpg) |
| draft | `{name}.post.draft.md` | |Here is the [gist](https://gist.github.com/briangonzalez/2ece66bfffff31ddc230ca8342e80b3e)
that powers [this blog](https://www.briangonzalez.org).## Getting started
To create a blog, follow these steps:
1. Create your gist and add some content.
2. Create `gustavo.config.js` with the following:
```js
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](https://github.com/settings/tokens) on Github because Gustavo uses the Gist API, and without the token and although it will still work, your blog will be rate limited._
3. Create a `Dockerfile` with the following:
```docker
FROM eggplanet/gustavo:latest
```4. Let's start it up:
```bash
$ 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](https://zeit.co/now).
```bash
$ now secrets add gustavo-github-token
$ now secrets add gustavo-gist-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
- [Logo](https://thenounproject.com/search/?q=man&i=542085)
### Releasing a new image
```bash
$ docker build -t eggplanet/gustavo:latest .
$ docker push eggplanet/gustavo:latest
```### Changelog
_2.0.0_
- Better caching using [apicache](https://github.com/kwhitley/apicache)
- Cleaned up a bunch of dead code
- nuxt@^1.0.0-rc11_1.0.0_
- Initial release