hugo/docs/content/en/showcase/letsencrypt/index.md
Joe Mooring 0cc39af682 Update Twitter shortcode oEmbed endpoint
The existing endpoint will be retired and removed on November 23, 2021.
References:

- https://twittercommunity.com/t/consolidating-the-oembed-functionality/154690
- https://developer.twitter.com/en/docs/twitter-for-websites/oembed-api#Embedded

This is a backward compatible change.

The existing endpoint requires a single parameter: the id of the tweet.

The new endpoint requires two parameters: the id of the tweet, and the
user with whom it is associated. For the moment, if you supply the wrong
user, the request will be redirected (with a small delay) to the correct
user/id pair. This behavior is undocumented, but we will take advantage
of it as Hugo site authors transition to the new syntax.

{{< tweet 1453110110599868418 >}} --> works, throws warning, deprecate at some point

{{< tweet user="SanDiegoZoo" id="1453110110599868418" >}} --> new syntax

Fixes #8130
2021-11-01 15:51:00 +01:00

2.2 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 user="letsencrypt" id="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. ↩︎