Table of contents
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' for static rendering of your blog from the markdown or asciidoc articles
- 'Elegant' for the 'Theme'
- peru for automating repository upgrades for plugins, etc
-
Fork this repository to your github account, if this is your first 'blog', name it
username.github.io
if not, it will be published asusername.github.io/repository
- Visit `settings' on your new cloned repository:
- Enable GitHub Pages on the 'gh-pages' branch:
- Validate that the URL now works (https://iranzo.github.io/blog-o-matic/)
- Enable GitHub Pages on the 'gh-pages' branch:
- Visit `settings' on your new cloned repository:
-
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.
As of this step, your repository should be already published on https://githubusername.github.io/ 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:
## 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.
peru.yaml
is set to usenext
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 #1
- Elegant does generate a sitemap to submit to web crawlers to ease indexing
YOURURL/sitemap.xml
can be submitted- Google 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'
- Will require you to claim the website as yours, for doing so:
- Bing 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 for more information on what can be done. - Check https://iranzo.github.io/tags/#blog-o-matic-ref for more articles related with blog-o-matic published in my personal blog.
- For saying thanks: https://paypal.me/iranzop
- For issues: https://github.com/iranzo/blog-o-matic/issues/
- For other things I've done: https://iranzo.github.io