<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hugo on q0tzly</title><link>https://q0tzly.dev/ja/tags/hugo/</link><description>Recent content in Hugo on q0tzly</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Fri, 11 Sep 2026 01:00:00 +0900</lastBuildDate><atom:link href="https://q0tzly.dev/ja/tags/hugo/index.xml" rel="self" type="application/rss+xml"/><item><title>HugoとCloudflareでq0tzly.devを作り直した</title><link>https://q0tzly.dev/ja/blog/rebuilding-q0tzly-dev/</link><pubDate>Fri, 11 Sep 2026 01:05:00 +0900</pubDate><guid>https://q0tzly.dev/ja/blog/rebuilding-q0tzly-dev/</guid><description>&lt;p&gt;以前、&lt;code&gt;chota.css&lt;/code&gt;を使って作成し、そのままになっていた個人サイト &lt;strong&gt;&lt;a href="https://q0tzly.dev"&gt;q0tzly.dev&lt;/a&gt;&lt;/strong&gt; を作り直した。&lt;/p&gt;&#10;&lt;p&gt;きっかけは、Hugoで構築した &lt;strong&gt;&lt;a href="https://grus.systems"&gt;grus.systems&lt;/a&gt;&lt;/strong&gt; の仕組みを、ほかの案件でも使えるように &lt;code&gt;grus-theme&lt;/code&gt; として切り出したことだった。&lt;/p&gt;&#10;&lt;p&gt;せっかく汎用的なテーマとして整理したのであれば、自分のサイトでも使ってみたい。そう考えて、&lt;a href="https://q0tzly.dev"&gt;q0tzly.dev&lt;/a&gt;を一から再構築することにした。&lt;/p&gt;&#10;&lt;h2 id="置きたいものを考え直した"&gt;置きたいものを考え直した&lt;/h2&gt;&#10;&lt;p&gt;まず、「自分のサイトに何を置きたいのか」を改めて考えた。&lt;/p&gt;&#10;&lt;p&gt;新しいサイトには、次の4つを用意している。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Blog&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Gallery&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;プロジェクト&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;About&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Blogには、考えたことや作ったものについて書く。&lt;/p&gt;&#10;&lt;p&gt;Galleryには、これまでInstagramに投稿した写真や、結局投稿しなかった写真をまとめて置く。SNSのタイムラインとは少し違う、**「小さな写真展」**のような場所として常設することにした。&lt;/p&gt;&#10;&lt;p&gt;プロジェクトは、これまで取り組んだことや、いま進めていることをまとめる場所。Aboutは自分について書く場所だ。&lt;/p&gt;&#10;&lt;p&gt;以前のサイトよりも、「自分が何をしているのか」が分かりやすい構成になったと思う。&lt;/p&gt;&#10;&lt;h2 id="hugoとgrus-theme"&gt;Hugoとgrus-theme&lt;/h2&gt;&#10;&lt;p&gt;サイトは &lt;strong&gt;Hugo&lt;/strong&gt; で作った。&lt;/p&gt;&#10;&lt;p&gt;記事をMarkdownで書けることと、静的サイトとして生成できるシンプルなSSGであることが、Hugoを気に入っている理由だ。&lt;/p&gt;&#10;&lt;p&gt;デザインの土台には、&lt;a href="https://grus.systems"&gt;grus.systems&lt;/a&gt;を作る中で整理していた &lt;code&gt;grus-theme&lt;/code&gt; を使っている。&lt;/p&gt;&#10;&lt;p&gt;grus.systemsのデザインをそのまま持ってきたわけではなく、ヘッダーや配色、余白、レイアウトといった共通部分を、ほかのサイトでも使えるHugoテーマとして切り出したものだ。&lt;/p&gt;&#10;&lt;p&gt;テーマは現在、&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;grus-base&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;grus-blog&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;grus-gallery&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;の3つに分けている。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;grus-base&lt;/code&gt; にサイト全体の基本部分を置き、必要に応じてBlogやGalleryの機能を組み合わせる形だ。&lt;/p&gt;&#10;&lt;p&gt;今後、別のWebサイトを作るときにも再利用できるようにしている。&lt;/p&gt;&#10;&lt;p&gt;日本語と英語の切り替え、ライトモードとダークモードにも対応した。&lt;/p&gt;&#10;&lt;p&gt;そして、以前のq0tzly.devでも使っていた、ある意味トレードマークになっている&lt;strong&gt;りんごのアイコン&lt;/strong&gt;も引き続き使っている。&lt;/p&gt;&#10;&lt;h2 id="pages-cmsで書く"&gt;Pages CMSで書く&lt;/h2&gt;&#10;&lt;p&gt;記事の編集には &lt;strong&gt;Pages CMS&lt;/strong&gt; を使っている。&lt;/p&gt;&#10;&lt;p&gt;HugoがMarkdownベースのSSGなので、Pages CMSとの相性がかなりいい。&lt;/p&gt;&#10;&lt;p&gt;もちろんエディタを開いてMarkdownファイルを直接編集することもできるが、普段の記事更新のためだけにリポジトリを開いてコードを触るのは少し面倒だ。&lt;/p&gt;&#10;&lt;p&gt;Pages CMSを導入することで、一般的なCMSに近い画面から記事を作成・編集できるようにした。&lt;/p&gt;&#10;&lt;p&gt;Blogの記事だけでなく、Galleryのタイトルや説明、写真の並び順なども同じ画面から変更できる。&lt;/p&gt;&#10;&lt;p&gt;普段の更新ではサイトのコードに触れず、&lt;strong&gt;文章を書くことと写真を選ぶことに集中できる&lt;/strong&gt;ようになった。&lt;/p&gt;&#10;&lt;p&gt;Hugoのシンプルさを残しながら、CMSの使いやすさも取り入れられたのはかなり気に入っている。&lt;/p&gt;&#10;&lt;h2 id="cloudflare-workersで公開する"&gt;Cloudflare Workersで公開する&lt;/h2&gt;&#10;&lt;p&gt;Hugoが生成した静的ファイルは、&lt;strong&gt;Cloudflare WorkersのStatic Assets&lt;/strong&gt; を使って配信している。&lt;/p&gt;&#10;&lt;p&gt;以前はCloudflare Pagesを使っていたが、今回はWorkersへ移した。&lt;/p&gt;&#10;&lt;p&gt;個人的にCloudflareはかなり気に入っている。&lt;/p&gt;&#10;&lt;p&gt;DNS、ドメイン、Workers、R2など、Webサイトを運用するために必要なものを一通り同じ場所で扱える。&lt;/p&gt;&#10;&lt;p&gt;静的なサイトであればサーバーを自分で管理する必要もなく、アクセス数がそれほど大きくないうちは運用コストをほとんど気にせず公開できるのも大きい。&lt;/p&gt;&#10;&lt;h2 id="実際の運用コスト"&gt;実際の運用コスト&lt;/h2&gt;&#10;&lt;p&gt;2026年9月現在、q0tzly.devに継続的にかかっている費用はドメイン代だけだ。&lt;/p&gt;&#10;&lt;p&gt;現在のアクセス数やデータ量では、Cloudflare Workersなどの利用が無料枠に収まっている。そのため、レンタルサーバーを別に契約することなく公開できている。&lt;/p&gt;&#10;&lt;p&gt;ただし、どのWebサイトでも必ずドメイン代だけで運用できるわけではない。アクセス数、保存する画像の量、問い合わせフォームやメールなどの機能によっては、追加の費用が発生する。&lt;/p&gt;&#10;&lt;p&gt;それでも、小規模なサイトであれば、構成を工夫することで毎月の固定費をかなり小さくできる。&lt;/p&gt;</description></item></channel></rss>