About this website

This web site is static, i.e. pages and their contents coming from the same domain are sent as is by the server, without any on-the-fly creation[1].

If you're not interested in the technique, you can also learn more about Nicolas Hoizey.

With Eleventy, static is fantastic

The whole site is generated by Eleventy from documents written in Markdown syntax. It was last generated on 27th November 2020.

The site was previously generated by Jekyll, another famous Static Site Generator, but its development staled, and after multiple years I still wasn't confortable with Ruby development, so I moved to something easier (for me), yet at least as powerful.

In order to migrate the hundreds of contents written since 2001 in specific SPIP[2] syntax, I developed a SPIP → Markdown plugin which transforms as much as possible this specific syntax into Markdown syntax, including with the YAML Front Matter.

Some plugins

An increasing number of plugins exist in the Eleventy ecosystem to enrich the base solution.

The images benefit from my eleventy-plugin-images-responsiver plugin to use the SaaS Cloudinary service in order to generate the different versions necessary for Responsive Web Design, while optimizing performance.

The webperf

Web site performance has been one of my hobbies for many years, being above all frustrated as a simple visitor by sites that are slower and heavier than the others.

Producing a static website helps to optimize this performance, as generating pages on the fly is no longer necessary. But I have focused on providing a very pleasant experience for visitors, with a high-performance site.

For this purpose, several recipes have been combined:

The external resources, potential sources of trouble, are mainly :

  • the players of videos, including Youtube, Vimeo or Dailymotion
  • the widgets of certain services, including Ulule, Speakerdeck or Slideshare
  • Google Analytics, to find out what's going on on the site.


Switching to static made me lose the comments I had natively in SPIP, so I decided a little later to switch to Disqus so as not to lose the contribution of the discussions, although I don't really like the comments to be hosted elsewhere.

I had also started to implement Webmention fairly quickly to explore a new standard inter-blog dialog technique.

I ended up abandoning Disqus in favor of Webmention, thanks to the great Bridgy and webmention.io services.

Search with Algolia

Setting up an internal search engine on a static site is no simpler than for comments. It is necessary to make dynamics, find elements meeting the search criteria and list them.

With a dynamic site, it is possible to index directly the contents present in the content repository, usually a database. Some CMS even directly integrate this functionality, more or less turnkey.

Algolia is a search engine in SaaS mode, fully controlled by an extremely rich REST API. It is the choice I made to propose a search engine on this site.


Publishing new content has become more complicated, since you have to produce the Markdown and possible illustrations, then launch the compilation by Eleventy, before deploying.

All this could be made easier with Netlify, but I didn't move this site there yet.

But having a clean content source, in a more standard format, and versioned in GitHub, is a considerable gain.

  1. So it's hard to blame any server application for being slow… ↩︎

  2. SPIP is an excellent free and open source French content management tool, particularly relevant for editorial content, running with PHP and a database. ↩︎