Blog with Publii
Publii is a static site generator with a difference, it has a graphical user interface (GUI). There are many other generators out there like Jekyll, Hugo, Pelican, 11ty or Gatsby. You can use them to create huge complex commercial sites but none of them have a decent interface. If you can use Wordpress, you can use Publii.
And that is where Publii stands out. Publii is easy. If you want to blog using a static file website then Publii is the way to go. It runs on Linux, Mac and Windows and is worth a try. If you are moving from Wordpress to a static file site then it does a fairly good job of importing your content and once you have some content you can upload it by FTP, SFTP, or to S3 storage on Linode or another provider.
Installation is easy. You download the latest release from here. For instance with Kubuntu 20.04 you would download the latest file called Publii.deb. Once it has finished downloading go to where it is, right click and select open with QApt Package Installer and then wait 20 seconds while the installer checks everything is OK.
After that, select Install Package, enter the administrator password and you are good to go. You will be able to find the installed program under Development in the KDE menu.
Importing from Wordpress
Importing from Wordpress is covered here in the documentation. It works fairly well but what people need to know is that it isn't going to magically give you your site perfectly. It will import the text, images and either the tags or the categories but when I did it it didn't import the videos and any links to documents and some other internal links were broken.
Those breakages in themselves are a lot of work. There are around 500 posts in my site and I have been spending a lot of time going through each page and correcting any errors. It's good for the site, as I pick up other things and can remove content I think is out of date, but it sure does take time.
To give me a reference to work on I backed up my Wordpress site with the Updraft plus plugin, downloaded the backup, installed a programs called Local and then recreated my site in that so I can now check each page as I go through.
For some reason I had a wee bit of trouble embedding videos so I thought I should pass on the steps I use to do so.
Firstly, under the Tools section of the applications main menu is the File Manager. This is where you upload your video file. Take note of the file name because otherwise you will have to close the post you are editing and come all the way back to find it again (or you can look at whatever folder Publii is outputting previews too).
Then go back to the post you want to insert the video into and click the video icon on the menu or choose your block depending on what editor you use. This should pop up the insert/edit media dialog that looks like this.
Well, it does once you fill it is anyway. In this case it is a screenshot from the video embedded on this page if you want to look and the embed code looks like...
<video width="100%" height="auto" controls="controls" data-mce-fragment="1"> <source src="media/files/jitsi.webm" type="video/webm" /></video>
BUT, this only works if you are using relative URLs*. If you are using absolute URLs then the source should contain the full path like this.
*With thanks to the help from this thread in the Publii help forums.
This is a problem I haven't quite solved yet. Publii has the ability to easily use the Disqus comment system built into it. Unfortunately that comment system seems to be completely privacy invasive, slows page speed and shows advertisements on your site. Not something I want or I want my readers to have to deal with either.
I haven't found a way around this yet but since I can specify custom HTML that can be injected in various places there will be a work around. I just have to spend some time finding it. I hope in the future they will have other choices of more privacy respecting comment systems.
It also allows you to import Wordpress comments and export your comments as well. There are some limits to the free service (such as only one hundred comments a month or you get charged $15 dollars) but if I get anywhere near those limits I will;
- Be amazed.
- Strip the code out.
For now, it is good enough.
Also, here are a couple of good pages I ran into while looking at different comment systems.
- Code Vamping: Comment Systems for Static Websites
- Darek Kay: Various ways to include comments on your static site
- Get Shifter: Static Site Comments
They basically go over the same products but they is a good start if you are looking for a comment system.
Unfortunately Commentbox didn't work out. My eventual solution was to self host Commento which is working very well. Getting my old comments back with Commento was slightly harder as I had to import them into Disqus and then export them back out again.
In conclusion, I think it is great! There are a whole slew of things that I like about Publii like the ability not to have to use the internet to write a post and that I can do changes and then preview them before committing to them live. I suppose I could use a staging site (or Local) but this seems fairly solid, secure, fast and looks good as well.
It is also only a start. What I have looked at here is only a brief glance at what Publii can do. You can get under the hood and change things around or create your own theme. And the future is looking bright with the new features expected in 2021 being;
- Update Center
- eCommerce - adding functionality with a 3rd party e-commerce services
- Initial plugin support (This will be the first phase, and will give us a nice foundation to expand the plugin system from).
- Separate implemented deployment methods as individual plugins to reduce the app install size and make updates to the system faster.
- Separate other, non-essential features such as WP Import as plugins.
- Update existing GitHub, Netlify and AWS deployment methods to make them smoother and more reliable.
- Multilanguage support
Try it, donate to it or just spread the word. I think it is a good project that fulfils a need. Plus, it is licensed under GPL3 so it ticks the opensource box as well.