My Pelican Site Setup
Welcome to my homepage, this page outlines how I have my Pelican site, this site, set up.
Installed Plugins
First, lets talk about plugins. While Pelican is pretty great 'out of the box', there are some things that are missing and there are some great plugins that fill in the gaps.
Photos
The photos plugin does exactly the "stuff" that I need for this site. I have tried a couple of other options, but the two features that make this a must have are:
- They only handle the source images if there is a change. So I don't need to handle 1000s of photos everytime I publish.
- It creates simple galleries based on folders.
Series
While the series plugin not something that I expect to use a lot, it will come in handy.
Sitemap
This is something I would really love to see added to the vanilla pelican application, adding a sitemap to your site is table stakes when it comes to SEO and working with the search engines.
Search
Using pelican-search I now have full-text search on my site. When I started this was a big hole in the installation.
The pypi site has most of the configuration, but I also used some tips from this blog post.
Plugins installed but rarely used
I have the image process plugin installed but it isn't used right now. I was going to use it to do the processing work for the pictures, but there was two features missing:
- There was no way to make galleries.
- They were processed every publish/export
Both of these features are in the Photos plugin mentioned above.
I still have it installed because there is a lot more flexibility in how it can be used, and if I want to have open graph images that are sized specially for twitter, etc I can't do that with photos.
Theme
All of that is here. The theme is public here, at some point I will figure out git releases/tags and how to build a wheel, etc.
Hosting
I use websavers for my hosting and domain registration. It is a great local webhost for any homepage or small business site.
FTP Client
I'm using lftp to auto-upload the site twice a day with a cronjob. I'm not using the include Makefile, but something similar.
Workflow
The way that I write and publish pelican is with a BASH script vs the built-in batch or MAKE files.
I keep all the source on a git server, including the theme. Then I have a script for making the site which publishes it to the nas hosted and a publishing script which uploads to jeffmackinnon.com.
The making script does the following:
- pulls the latest theme
- pulls the latest pelican site
- makes the site
- publishes to server
For the making script I use rsync to update the NAS site, and lftp to update the websavers server.