> ## Content Index
> Fetch the complete content index at: https://balaustine.mymagic.page/llms.txt
> Use this file to discover other available public pages before exploring further.

# Blogging with Gitlab
- URL: https://balaustine.mymagic.page/blogging-with-gitlab/
- Published: 2017-08-05T22:00:03.000Z
- Updated: 2017-08-05T22:00:03.000Z
- Author: VM
- Tags: Uncategorized, blogging, Cloudflare, Ghost, Gitlab, static site generators, #Migrated-1787483357778, #wp, #wp-post, #Import 2026-08-23 11:09

About a week ago, I figured out how to use Hugo, first with [Caddy](https://caddyserver.com/docs/http.hugo?ref=balaustine.mymagic.page) and then with Dropbox and Gitlab. Hugo + Gitlab in particular is an amazing combo because it's *so* easy to set up and run with:

1. Create an account on Gitlab
2. Fork this repo: [https://gitlab.com/pages/hugo](https://gitlab.com/pages/hugo?ref=balaustine.mymagic.page)
3. Import a theme of your choice
4. Update settings in config.toml and social.toml
5. THAT'S IT.

No code. Working on it has been a hoot as well. I use [Atom](https://atom.io/?ref=balaustine.mymagic.page) to compose my posts (I was able to create a macro that made it easier for me to populate the front-matter while the [Markdown Preview](https://github.com/atom/markdown-preview?ref=balaustine.mymagic.page) package recreates Ghost's writing environment very well) and [Cycligent](https://www.cycligent.com/git-tool?ref=balaustine.mymagic.page) to commit. Granted, this adds two more steps to the shortest publishing process (headline, body, tags, publish) but I don't mind losing the extra 30 seconds.

And just like that, most of Ghost's principal features are taken care of:

- Markdown + live preview
- Content tagging
- Team sites
- Scheduled publishing
- SEO and social integration (with [Cloudflare Apps](https://www.cloudflare.com/apps/?ref=balaustine.mymagic.page))
- HTTPS (either with [Cloudflare](https://www.cloudflare.com/?ref=balaustine.mymagic.page) or [Let's Encrypt](https://letsencrypt.org/?ref=balaustine.mymagic.page))
- RSS and integrations (Slack, etc.)
- Email subscriptions (with [MailChimp](https://mailchimp.com/?ref=balaustine.mymagic.page))
- Open-source access
- Theme-editing

(Not sure a CDN is necessary with static sites but if you'd like one, Cloudflare's is pretty good.)

What's not taken care of: backups. Although I'm sure there's a way, e.g. by firing up your page on [Gitlab CE](https://about.gitlab.com/installation/?ref=balaustine.mymagic.page) hosted on a VPS or syncing your repo with a local copy once in a while. Best part (if you take the latter option): *zero cost* for the entire thing. Gitlab caps repo sizes at 10 GB, which is amazing – potentially humungous if you host your images elsewhere and import them by URL. Plus Gitlab also takes care of the security, continuous integration/delivery, etc.

All of this has made me curious about where an entity like Ghost has left to go in its efforts to simplify the publishing process, etc. Ghost made sense in a world where WordPress was crowded, other CMSs were going to be as niche/unaffordable as they are and [SSGs](https://www.staticgen.com/?ref=balaustine.mymagic.page) came with a non-gentle learning curve. However, Gitlab makes it dead-easy to run with an SSG like Hugo. If someone created a GUI for Hugo like they did [with Cactus](https://github.com/eudicots/Cactus?ref=balaustine.mymagic.page) (now defunct), it would – as they say – "just work". Hell, if Bitnami releases a Hugo ([or Octopress](https://bitnami.com/stack/octopress?ref=balaustine.mymagic.page)) stack soon for Lightsail, Ghost might have nothing else to do but stick to its [journalism plan](https://drizzly.org/2017/08/05/using-ghost-v1/?ref=balaustine.mymagic.page).

*Featured image credit: Snufkin/pixabay.*