New version of the blog!
Since the last article was published on july 14th… 2014, you had the right to think that the blog was abandonned. That’s not the case, I just didn’t take the time to take pen.
This is now done, and I take this motivational impulse to also refresh the container, causing a new version, like I said earlier.
Search!
When I announced(fr) my migration to Pelican, it was one of the features I agreed to lose. Eventually, I regretted the capacity to get directly to a given article (which I use often). So I go back to my words: it’s possible, with Pelican, to have an internal search engine. It is done with a piece of Javascript code, Tipue, which will fetch a JSON index file, and search it, before showing the search results on a static page.
I also go back to my previous wish that was to not use JS on my pages. However, this blog is entirely readable without JS, like before. The two usages of JS are integration of free softwares, and only bring new features.
The functioning is as the following: I am using the tipue-search plugin that generates, while generating the website, a JSON file placed in the root dir. Then, there is just to integrate the search form in the template, and everything works mostly automagically. I used the integration of the elegant template for mine. It is important to note that I took the latest version of Tipue instead of taking the files provided with the Pelican plugin.
Comments
Further in my old self(fr) contradiction, I decided to integrate comments, again (if I remember correctly, the v3 of this blog was running Wordpress). Here again, I can’t save comments on the server with Pelican, because Pelican runs on my local machine, and merely deploys static files online. It is nevertheless possible to integrate a comment engine into Pelican, like Disqus (you won’t mind if I don’t make a link to a centralized, privative, service), but obviously, this isn’t a solution for me. However, I heard about free alternatives, among which Isso caught my attention because of the simplicity of its approach. Basically, you just have to install Isso, which is a tiny webapp, on a blog subdomain, and it will serve an API that can be consumed by JS. By integrating a script in the page, we discuss with this API, and we display the comments, and the form to answer them. It’s very simplist, we can comment anonymously, answer comments, it’s written in Python (and it’s the german name of a Pokemon ♥), so I made my choice.
For the Isso deployment, I let you read this excellent article about installation of Isso and its integration into Pelican(fr). I have nothing interessant to add, except that you should read thisblog.
Beyond the technical point of view, you can now comment my articles again. Have fun.
Internationalization
I always wrote in french on my blog, but some technical posts should be useful to non-french readers. So I decided to make this blog bilingual (french/english). I will redact in priority in french, then, as far as possible, I’ll translate those in english. It’s possible that I only take that time for technical posts, though.
Technically (that implies that this article will be translated), I had to:
- use the Pelican feature to write a given content (article, page) in several languages
- installed the i18n-subsites plugin, allowing to generate localized subsites. By reading https://gordon.re/en/, you will be on the english version of the site. The untranslated articles will nevertheless be displayed in their original language.
- integrated the i18n on my template, that allows to have a comfortable reading in the english version.
What is yet to be done:
- categories are not yet internationalized. I didn’t find a way to do it (and to be honest, I didn’t really search for it yet)
- the search index, generated by Tipue, doesn’t take the language into account. So it fetches every match, in every language. It can be a problem while searching for english terms (that is more than susceptible to appear in technical posts…). It may be a problem, and I will look for a solultion.
CSS overhaul
Although I like the appearance of the blog, I have to admit that the realization is far from perfect. So I prefered to subcontract the integration cleaning to someone far better than me in that domain. It’s still a work in progress, but there shouldn’t be much differences (except for less bugs).
That’s not CSS, but I take this moment to talk also about the name change of the blog as well as its subtitle: much sober, such as the future posts.
Change of course about HTTPS
Since now, I managed my own CA to serve this blog and my other websites in HTTPS. Obviously, that forced a security warning to everyone who didn’t trust it, meaning everyone (and that’s not a bad thing(fr)).
With the creation of Let’s Encrypt, I now can generate free certificates nearly-automatically. So I abandon my CA, and migrate my domains to Let’s Encrypt. Yes, that’s still a CA doing X.509, and it’s a broken model for me. But I can’t fight on all fronts, so I make a compromise here.
Since the automatic script provided by Let’s Encrypt doesn’t satisfy me (especially because it requires root access), I prefered to use another that speaks the same protocol): letsencrypt-nosudo.
A change of hosting
With FAImaison at least becomming IP operator, I choose to rent a space in the quarter bay of the association to rack my own machine. So it is probably the first website hosted fully on the FAImaison infrastructure, and I now control mostly every aspect of my service (there is still redundancy weakness in network and electricity, indeed).
That’s all for this update. I’ll try to keep a good dynamic and publish regularly. Beside, I have some things to say.