Be lazy, automate: GitHub actions for static blogging

Be lazy, automate: GitHub Actions for static blogging /me: Pablo Iranzo Gómez ( https://iranzo.io ) What is a blog? A place to share knowledge, interests, tips, etc. Usually features: images comments from visitors, related articles, etc. What are the costs for a blog? Web costs money: Hosting Domain Maintenance etc. What is static blogging? Generate a static webpage Think of it as rendering templates into HTML Has no requirements on the web server, any simple Webserver is enough: Look ma!, no database! Look ma!, no users! Look ma!, no security issues! What does it mean to us? We write an article Command for generating html from templates is used New files uploaded to Webserver Some Philosophy Empty your mind, be shapeless, formless, like water. Now you put water in a cup, it becomes the cup, you put water into a bottle, it becomes the bottle You put water in a teacup, it becomes the teapot Now water can flow or it can crash. Be water my friend ...

January 14, 2021 · 3 min · Pablo Iranzo Gómez

GitHub Actions for publishing

When I started with blog-o-matic I had to involve external ‘Travis-CI’, generating a token on GitHub, setting environment variables on Travis, etc GitHub started enabling actions which allows to automate workflows in a similar way than Travis or other external providers allowed, but with one extra feature: configuration is defined inside .github/ folder of your repository, which makes incredibly easy to copy the setup for one tool to another (except of optional required tokens that are configured per repo). ...

August 10, 2020 · 2 min · Pablo Iranzo Gómez

Use custom domain name with Blog-O-Matic

As a recipe, if you want to enable a custom domain name on blog-o-matic a special file needs to be created on the ‘GitHub Pages’ served ‘master’ branch. In order to do so, edit pelicanconf.py and add the following differences: diff --git a/pelicanconf.py b/pelicanconf.py index 680abcb..fc3dd8f 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -46,13 +46,16 @@ AMAZON_ONELINK = "b63a2115-85f7-43a9-b169-5f4c8c275655" # Extra files customization -EXTRA_PATH_METADATA = {} +EXTRA_PATH_METADATA = { + 'extra/CNAME': {'path': 'CNAME'}, +} + EXTRA_TEMPLATES_PATHS = [ "plugins/revealmd/templates", # eg: "plugins/revealmd/templates" ] -STATIC_PATHS = [ 'images' ] +STATIC_PATHS = [ 'images' , 'extra'] ## ONLY TOUCH IF YOU KNOW WHAT YOU'RE DOING! This will copy the CNAME file created in content/extra/CNAME to the resulting ‘master’ branch as /CNAME. ...

May 16, 2019 · 1 min · Pablo Iranzo Gómez

Fixing pelican revealjs plugin

Introduction After my recent talk about blog-o-matic, I was trying to upload somewhere the slides I used. Since some time ago I started using Reveal-MD, so I could use Markdown to create and show slides, but wanted also a way to upload them for consumption. Pelican-revealmd plugin seemed to be the answer. It does use pypandoc library and ‘pandoc’ for doing the conversion. The problems found After some test, it had 3 issues: ...

January 20, 2019 · 2 min · Pablo Iranzo Gómez

Blog-o-Matic - quickly get a GitHub hosted blog with Pelican, Elegant with little setup steps.

Introduction I’ve already covered some articles about automation with Travis-CI, GitHub, and one step that seems a show-stopper for many users when trying to build a website is on one side, the investment (domain, hosting, etc), the backend being used (WordPress, static generators, etc)… While preparing a talk for a group of co-workers covering several of those aspects, I came with the idea to create Blog-o-Matic, implementing many of those ’learnings’ in a ‘canned’ way that can be easy to consume by users. ...

January 9, 2019 · 1 min · Pablo Iranzo Gómez
This blog is a participant in the Amazon Associate Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.