From WordPress to Pelican
My blog was migrated from WordPress to Pelican. I found WordPress is very easy to use at the beginning. Pelican is a static site generator (aka SSG). I tested Pelican and like it. It is small and responsive.
SSG had a major advantage on simplicity over WordPress or other Server Side Rendered (SSR) systems. You don't need to patch or upgrade the WordPress or the SSR systems. The static web pages generated by SSG are served directly by web servers and is fast. Let me elaborate a bit about the migration process in this article.
Choosing the Static Site Generator
SSG had been around for a few years. Popular choices are Hugo and Gatsby. Checkout these websites like Static Site Generators and StaticGen for a comprehensive list of SSG. Also check out a great article in snipcat about choosing a SSG.
Pelican was not the most popular choice but I choose it. Mainly due to users comments that it should require Golang knowledge for using Hugo and it should require React and GraphQL knowledge for using Gatsby.
When I was testing Pelican with the theme Pelican Bootstrap3, they are already well developed. They provided all basic features that a web blog system needs. In addition, the generated pages are mobile friendly. There also lots of useful plugins too.
Finally, one of the cool thing about Pelican is that it could import several types of blog. Check out pelican-import for more details.
Customization of the theme
Edit: The newest theme location is now pelican-kappa-nero.
I took the theme Pelican Bootstrap3 and customize it. It is called pelican-bootstrap3-nero. Nero means it is a dark theme. Major customization to the theme are:
- Changes to CSS to make it a dark theme by default
- Adding the Cookie Consent 2 banner at the bottom
- If user accepted the privacy policy, enable the IntenseDebate comment system and allow pushing statistics data to Google Analytics
- Local customizations
- Enable JSON-LD (For articles, pages, and breadcrumbList)
- Adding a copy button for code block. Adopted from sphinx copybutton. Credits for the copy button goes to Chris Holdgraf
- Reactive table (scrolling) for code block and tables (converted by docutils/pygments)
Check out the change log for details.
Choices of hosting service provider
For hosting static web pages from SSG. There are already several free and some cost effective choices. Free choices include: static web pages hosting by Github pages, Gitlab, BitBucket and Netlify.
People also mentioned using Amazon S3 to store or host static web pages. But this option is more complex to setup.
My current choice is deploying Pelican with Netlify. It had 100GB bandwidth monthly and is suitable for personal blog usage. If I need more bandwidth could look for a paid plan for hosting static web pages like Cloudflare Workers or even a small VPS solution.
Check out articles like this from Michael Li for deploying Pelican with Netlify.