HUGOのバージョンをアップデートしたらローカル環境で色々動作不良が起きました。

一体何が起きたのかの説明、及び解決方法について当記事で解説します。

なぜかCSSが動作せず見た目が崩れてる...なぜ...

HUGOを使った記事の作り方を知りたい方は別記事にて細かく解説しておりますので、そちらをご覧ください。

【コピペOK】HUGOでアフィリエイト用ブログサイトを作ろう

手間暇かけずにサクッとアフィリエイト用のブログサイトを作りたいという方向け。 ある程度自由にカスタマイズできる、かつコマンド一つで 記事の自動生成ができる静的サイトジェネレータ「HUGO」についてまとめました。


目次


この記事は以下のような方を対象者としています。

本記事の対象者

  • HUGOでブログ記事を作成している方
  • HUGOのバージョンアップデートをしたらバグった方
  • HUGOでdivタグがなぜかpタグに置き換わっている方
  • と言うコメントアウトが表示される方

前置き:HUGOのバージョンアップデートでエラーが起きた!?

Tranquilpeak
添付画像の通り、HUGOのバージョンを0.59.xxから0.79.0にアップデートした後CSSが効かない事象が発生しました。

Option ± Command + i を押してデベロッパーツールでなぜCSSが効いていないのかを確認しました。

Tranquilpeak

するとraw HTML omittedと言う文字が表示され、なぜかdivタグで書いたコードがpタグに置き換わっていることに気づきました。

日本語訳で「素のHTMLを省略」と言う意味であり、これが原因でHTMLタグが省略されてしまいCSSが効いていないことが分かりました。

HUGOのバージョンアップデート:なぜが起きる?

結論から言うとHUGO側の仕様変更によるものだと判明しました。

下記HUGO公式ドキュメントから一部抜粋いたします。

Goldmark is from Hugo 0.60 the default library used for Markdown.

unsafe By default, Goldmark does not render raw HTMLs and potentially dangerous links. If you have lots of inline HTML and/or JavaScript, you may need to turn this on.

HUGOバージョン0.60.0以降からGoldmarkと言う新しいHTMLパーサー(HTML解析)を採用することになりました。

Goldmarkはセキュリティ上、デフォルトでHTMLレンダリングを実行しません。

上記内容をまとめるとhugo0.60.0以降へHUGOバージョンアップデートをすると本事象が発生することが分かりました。

raw HTML omittedを回避するための方法

それはHTMLレンダリングを必ず実行するようにconfig.tomlファイルで指定する必要があります。

下記コードをconfig.tomlファイルの終わりに追記することで、HTMLレンダリングを実行してくれるようになります。

config.toml
1
2
3
4
5
<!-- 下記4行のコードをconfig.tomlの最後に記述 -->
  [markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

このコードを記述したのち、再度ローカル環境を立ち上げる(ターミナル上で下記コマンド実行)とCSSが正常に効いていることが確認できました。

1
2
<!-- 下記コマンドでローカル環境でHUGOのサイトを立ち上げる -->
hugo server -D

さいごに

ここまでお読みいただきありがとうございました。

僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」どのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃

【コピペOK】HUGOでアフィリエイト用ブログサイトを作ろう

手間暇かけずにサクッとアフィリエイト用のブログサイトを作りたいという方向け。

ある程度自由にカスタマイズできる、かつコマンド一つで 記事の自動生成ができる静的サイトジェネレータ「HUGO」についてまとめました。

また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます

以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌

速習!おすすめプログラミング勉強法【Udemy】

いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。

Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。

ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました

Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy

また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃

【Udemy】未経験から始める格安プログラミング講座4選

未経験だけどプログラミングを学んでエンジニアになりたい、社会人だから時間もそれほど多く無いので効率よく勉強したい。 私もその内の一人でした。今回の記事で最短でエンジニアになるためのおすすめUdemy講座4選をご紹介したいと思います。

【IT資格は無意味】未経験エンジニアがIT資格の勉強をおすすめしない4つの理由とは?

プログラミングを勉強し始めてIT資格を取ろうか悩んでいる方向け。 プログラミング未経験の方が資格勉強をされることは僕の経験上おすすめしません。 なぜ資格の勉強がプログラミング学習において、エンジニアの就活においてNGかこの記事で解説します。

【個人開発】副業でアプリを作りたいならサーバーは契約しない方がいい理由

個人で副業のためにアプリ開発をしてみたいと考えている方向け。 iOS/Androidの個人アプリ開発の場合データのやりとりを行うため、サーバを契約する人が多いです。 しかし、考えなしにサーバを契約するのは非常に大きなデメリットがあるため、私はあまりオススメしません。 ではどの様にしてお金をかけずにアプリ作りができるか、なぜFirebaseを使うべきなのかこの記事で解説していきます。

【海外にもある!?】海外就活でブラック企業を回避する方法

海外での就活を考えている方向けの記事です。 ブラック企業は日本企業のイメージがありますが、そんなことはありません。 日本の就活とは違う点、また海外の就活で失敗しないために事前に知っておいた方が良い情報を本記事にてまとめていきます。

【ダナンの物価】ダナン在住者が伝える2020年ベトナム最新状況!

最近観光地として人気が高まっているダナンですが、近年物価の変動が大きくなっていっているように感じます。 2019年〜2020年でのダナンの物価はどのようなものなのか、ダナン在住者として現地の声をお届けできればと思います

【残業大国】日本の異常な労働環境をベトナムで働いてみて実感した件

日本ってやっぱり「働く」ことに関しては異常ですよ。 「お客様は神様」精神、残業を美徳とする文化、過労死という言葉を作り出してしまう労働環境。 今回は日本の異常な労働環境をベトナムの労働環境と比較しながら説明したいと思います😱

【海外移住】ベトナムに移住したら日本の8億倍住みやすかった件

海外移住を始めて2年ほどが経過しました、日本に住んでいた時と今ベトナムに移住してからとでどのように生活が変わったのかをこちらの記事にまとめていこうと思います。

【ダナンの家賃】日本相場の半額以下!?ベトナム家賃相場調査!

ベトナム・ダナンへ移住を考えている方向け。 海外移住をする上で家賃相場を事前に知っておくことは生活費がどれくらいかかるのか計算ができるので非常に重要です。 こちらの記事で家賃相場、賃貸契約の流れ、賃貸契約時のトラブルについて解説していきます。

【おすすめ】Udemy講座でAWS ソリューションアーキテクト アソシエイトを一発合格できた件

AWS ソリューションアーキテクトの勉強をしている方向け。
Udemyでのおすすめ講座、一発合格のための勉強方法から受験の手順まで本記事でまとめました。
認定試験の受験を考えている方には必見です。

【python】文字認識で画像からテキストを出力するやり方をわかりやすく【Tesseract&PyOCR】

こんにちはkzyです。 今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。 環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。

【コピペOK】flutterのSizedBoxとExpandedの違いをわかりやすく

flutterでオブジェクトのサイズ調整の理解が曖昧な方向け。 flutterでアプリ開発を行う際に頻出する項目の一つのため、この記事でなるべくわかりやすく解説します。

【python】文字認識したテキストをエクセルに出力するやり方をわかりやすく【PyOCR + XlsxWriter】

こんにちはkzyです。 今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。 具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。