hugo/content/showcase/letsencrypt/index.md
Bjørn Erik Pedersen 3886fc1fef Squashed 'docs/' changes from 4e7e1815b..211a3c613
211a3c613 Prepare the forestry.io article for release
23995d6b4 Add forestry.io to showcase
3f177c94e Fix some typos (found by codespell)
dc26e0a5a Clarify the default for site config files and multiple config files
c87c9c62e Review and update the Site config documentation for consistency
a29edc50c Fix the default value of rssLimit site config
83f3c46b0 Minor style fix
4f860d1a2 Typo capitalization fixes
7851345c8 Add docs about comments within templates
d129b4a28 Make the recommendation to use partial over template consistent
6cd260a41 Update index.md
a2787e1a4 Add Let’s Encrypt showcase
7e664f69e Update configuration.md
8002120f1 Update multilingual.md
702b46a62 Add documentation for the disableLanguages setting
cb3d395de Fix content type reference
d33226924 Update Page Kinds documentation
8203f649d Fix misformed markdown link
19e99c957 Add Section definition

git-subtree-dir: docs
git-subtree-split: 211a3c6136c69f49baeae6cd35e5a8853cddf710
2018-03-16 09:44:54 +01:00

2.1 KiB
Raw Blame History

title date description siteURL siteSource byline
Lets Encrypt 2018-03-13 Showcase: Lessons learned from taking letsencrypt.org to Hugo. https://letsencrypt.org/ https://github.com/letsencrypt/website [bep](https://github.com/bep), Hugo Lead

The Lets Encrypt website has a common set of elements: A landing page and some other static info-pages, a document section, a blog, and a documentation section. Having it moved to Hugo was mostly motivated by a simpler administration and Hugo's multilingual support. They already serve HTTPS to more than 60 million domains, and having the documentation available in more languages will increase that reach.1

{{< tweet 971755920639307777 >}}

I helped them port the site from Jekyll to Hugo. There are usually very few surprises doing this. I know Hugo very well, but working on sites with a history usually comes up with something new.

That site is bookmarked in many browsers, so preserving the URLs was a must. Hugo's URL handling is very flexible, but there was one challenge. The website has a mix of standard and what we in Hugo call ugly URLs (https://letsencrypt.org/2017/12/07/looking-forward-to-2018.html). In Hugo this is handled automatically, and you can turn it on globally or per language. But before Hugo 0.33 you could not configure it for parts of your site. You could set it manually for the relevant pages in front matter -- which is how it was done in Jekyll -- but that would be hard to manage, especially when you start to introduce translations. So, in Hugo 0.33 I added support for ugly URLs per section and also url set in front matter for list pages (https://letsencrypt.org/blog/).

The lessons learned from this also lead to disableLanguages in Hugo 0.34 (a way to turn off languages during translation). And I also registered this issue. Once fixed it will make it easier to handle partially translated sites.


  1. The work on getting the content translated is in progress. ↩︎