Goodbye Jekyll, Hello Hugo

私はジキルが好きです。それは私がブログに戻るのを助け、私はそれをGoogle Web Fundamentalsに組み込むために技術として選んだ(0)。

何かが重大に間違っています:パフォーマンス

私の個人的なブログ(約400ページ)の作成時間はおよそ45秒かかります。 Web Fundamentalsはさらに悪化し、たった1つの言語パックを構築するのに多くの時間がかかり、13の言語をサポートします。このパフォーマンスの問題は、ローカルステージング環境での単一の変更がブラウザに表示されるまでに40秒以上かかるため、チームと執筆チームに重大な影響を与えます。

おそらく私たちはそれを改善することができますが、私はちょうどそれを行う方法をうまくいかないと確信しています。私はそれを測定することはできませんし、Gemとランタイムアップデートのバージョン管理に関して、Ruby(Rubyの開発者ではありません)の問題を頻繁に突きました。

私たちはサイトに多くの技術的負債を持っており、静的なサイトを稼働させるために私とチームに多くの時間を費やしています。私はそれがテンプレートエンジンとRubyです。しかし、これは私の推測です。

私は高速静的サイト生成器を探していましたが、幅広いチームの2人の人が、Hugo(Goで書かれています)がうまく整理され、速いことを示唆しています。

私はウゴにはるかに行くつもりはない。これは静的なサイトジェネレータで、Markdownファイル(Jekyllなど)を取り込み、定義したテンプレートに基づいて構造化サイトを吐き出すことができます。

私はいくつかの簡単な点を説明します:

*私のジキルのビルドは45秒以上かかりましたが、ヒューゴのサイト全体のビルドは300〜450msです。 2桁の速さです。

  • Goテンプレート言語を使用したテンプレートには少し慣れていましたが、Liquidよりはるかにクリーンです*。 *私はドキュメントといくつかの問題を抱えていたが、ページの統合はかなり簡単だった。 *ドキュメントは非常に強く、関連すると予想されるページ上の例が常に混乱の原因となるとは限らないサンプルがあります。
  • JekyllのシンプルなビルドのためのJekyllの移行ガイドは、ほとんどのところ私を得てくれました。
  • Hugoは、ファイルの命名構文をサポートしていません。Jekyllは投稿の注文に(YYYY-MM-DD-title)を持っています。すべてのマークダウンページに date属性を追加するための移行スクリプトと、 slug属性。
  • .Site.Pages配列に含まれていないHTMLファイルがたくさんありました。もう一度、単純なコマンドラインスクリプトを使ってそれらをすべて変換しなければなりませんでした。

それでも、パフォーマンスは驚異的で、私のブログはずっと早く、Rubyの依存関係もありません。

Web FundamentalsをHugoに移行するとは言えませんが、大きな仕事です。私は現地でのビルドと展開をとてもうれしく思っています。

タイトルイメージクレジット:https://commons.wikimedia.org/wiki/File:Hellogoodbye_logo.svg

About Me: Paul Kinlan

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.