Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iranzo/blog-o-matic

Fork this repo so that you can, after following instructions, have a quick blog setup on github pages with Pelican static generator and Elegant theme
https://github.com/iranzo/blog-o-matic

Last synced: 10 days ago
JSON representation

Fork this repo so that you can, after following instructions, have a quick blog setup on github pages with Pelican static generator and Elegant theme

Awesome Lists containing this project

README

        

# blog-o-matic by Pablo Iranzo

**Table of contents**

- [blog-o-matic by Pablo Iranzo](#blog-o-matic-by-pablo-iranzo)
- [Introduction](#introduction)
- [Setup](#setup)
- [Test it](#test-it)
- [WARNING](#warning)
- [Going the extra mile](#going-the-extra-mile)
- [Feedback and wrap up](#feedback-and-wrap-up)

![Deploy via Pelican on GitHub pages](https://github.com/iranzo/blog-o-matic/workflows/Deploy%20via%20Pelican%20on%20GitHub%20%20pages/badge.svg)

## Introduction

The Idea with this repository, is to have an easy an 'automated' setup of a blog on github pages by following some easy instructions.

You'll need to setup several steps manually (sorry, I can't do that for you), but once done, each time you publish a new article (markdown, asciidoc), the blog will be redeployed showing your new one.

Blog will be using:

- Git Hub pages for the hosting of the sources and repository
- Git Hub Actions publish new 'website' once a new article is uploaded
- ['pelican'](https://blog.getpelican.com/) for static rendering of your blog from the markdown or asciidoc articles
- ['Elegant'](https://github.com/Pelican-Elegant/elegant) for the 'Theme'
- [peru](https://github.com/buildinspace/peru) for automating repository upgrades for plugins, etc

## Setup

- Fork this repository to your github account, if this is your first 'blog', name it `username.github.io` if not, it will be published as `username.github.io/repository`
- Visit `settings' on your new cloned repository:
![repository settings](2019-01-09-11-35-52.png)
- Enable GitHub Pages on the 'gh-pages' branch:
![gh pages enabled](2019-01-09-11-36-48.png)
- Validate that the URL now works ()
- Clone the resulting repository to your system, for example:

- `git clone https://github.com/iranzo/blog-o-matic.git`
- change to the `master` branch that will contain the code that we'll be using for updating the website.
- `git checkout master` (should be the default)

- Edit new articles in `content/` based on the one already provided.

## Test it

As of this step, your repository should be already published on with the 'sample' content

You're ready to write a new article, use 'welcome.md' as an example so that you keep useful headers like category, tags, author, title, publish date, etc (YAML preamble) and save it as 'yourdesiredname.md'.

Once you've written your new article in 'content' folder, perform:

```sh
## Add file to repository
git add content/new-article-filename

## Add file to commit
git commit -m "My new article"

## Upload changes to github
git push
```

After some seconds, Git Hub Actions will start showing that a new build is in progress, and once it finishes successfully, the resulting webpage will be available via your `username.github.io` domain.

## WARNING

- `peru.yaml` is set to use `next` branch of Elegant theme for pelican, as this setup uses pelican 4.0 and current 'master' doesn't work for it (feed slugs related)
- Remember to update the file or check master blog-o-matic from time to time to see when you should update it

## Going the extra mile

- Elegant does generate a sitemap to submit to web crawlers to ease indexing
- `YOURURL/sitemap.xml` can be submitted
- [Google Search Console](https://search.google.com/search-console/)
- Will require you to claim the website as yours, for doing so:
- Check HEADER method
- customize `pelicanconf.py` to match the value you received, in the line that says:
- `CLAIM_GOOGLE = 'XX'`
- [Bing Webmaster](https://www.bing.com/webmaster/)
- Check HEADER method
- customize `pelicanconf.py` to match the value you received, in the line that says:
- `CLAIM_BING = 'XX'`
- Review other settings in `pelicanconf.py` to customize your blog name, your name, twitter handle, google analytics ID or others, please do check [Pelican-Elegant documentation](https://pelican-elegant.github.io) for more information on what can be done.
- Check for more articles related with blog-o-matic published in my personal blog.

## Feedback and wrap up

- For saying thanks:
- For issues:
- For other things I've done: