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
2.1 KiB
title | date | description | siteURL | siteSource | byline |
---|---|---|---|---|---|
Let’s 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 Let’s 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.
-
The work on getting the content translated is in progress. ↩︎