<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Terraform on Blog</title><link>https://blog.wtnqk.org/tags/terraform/</link><description>Recent content in Terraform on Blog</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Mon, 05 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.wtnqk.org/tags/terraform/index.xml" rel="self" type="application/rss+xml"/><item><title>このブログの構成</title><link>https://blog.wtnqk.org/posts/2026-01-05/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.wtnqk.org/posts/2026-01-05/</guid><description>&lt;p&gt;このブログの技術構成についてまとめる。&lt;/p&gt;
&lt;h2 id="概要"&gt;概要&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Obsidian (執筆)
↓
Hugo (ビルド)
↓
GitHub Actions (CI/CD)
↓
Cloudflare Pages (ホスティング)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;インフラ管理にはTerraformを使用している。&lt;/p&gt;
&lt;h2 id="静的サイトジェネレーター-hugo"&gt;静的サイトジェネレーター: Hugo&lt;/h2&gt;
&lt;p&gt;静的サイトジェネレーターとして &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; を採用した。&lt;/p&gt;
&lt;p&gt;選定理由:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go製のシングルバイナリで依存関係が少ない&lt;/li&gt;
&lt;li&gt;テーマが豊富&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;テーマは &lt;a href="https://github.com/hugo-sid/hugo-blog-awesome"&gt;hugo-blog-awesome&lt;/a&gt; を使用。ミニマルでかっこいい、ダークモード対応。&lt;/p&gt;
&lt;h2 id="記事管理-obsidian"&gt;記事管理: Obsidian&lt;/h2&gt;
&lt;p&gt;記事の執筆・管理には &lt;a href="https://obsidian.md/"&gt;Obsidian&lt;/a&gt; を使用している。&lt;/p&gt;
&lt;p&gt;&lt;img src="Screenshot%202026-01-05%20at%2021.55.31.png" alt="Obsidianでの執筆画面"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;content/posts&lt;/code&gt; ディレクトリをObsidian Vaultとして開くことで、Markdownエディタとして活用できる。Obsidianの利点:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Markdownのプレビューがリアルタイム&lt;/li&gt;
&lt;li&gt;内部リンクやバックリンクで記事間の関連を把握できる&lt;/li&gt;
&lt;li&gt;プラグインで機能拡張可能&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="記事のディレクトリ構成"&gt;記事のディレクトリ構成&lt;/h3&gt;
&lt;p&gt;各記事は独立したディレクトリとして管理する。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;content/posts/
├── .obsidian/ # Obsidian設定
├── 2026-01-05/
│ ├── index.md # 記事本体
│ └── image.png # 記事に使う画像
└── 2026-01-06/
└── index.md
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;簡素だがこのようなMakefileを用意した&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bash" data-lang="Bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;post: &lt;span class="c1"&gt;## Create new post (usage: make post)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; @if &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;TITLE&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: make post&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; 1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; @DIR&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;content/posts/&lt;/span&gt;&lt;span class="nv"&gt;$$&lt;/span&gt;&lt;span class="s2"&gt;(date +%Y-%m-%d)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$$&lt;/span&gt;&lt;span class="s2"&gt;DIR&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hugo new &lt;span class="s2"&gt;&amp;#34;posts/&lt;/span&gt;&lt;span class="nv"&gt;$$&lt;/span&gt;&lt;span class="s2"&gt;(date +%Y-%m-%d)/index.md&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Created: &lt;/span&gt;&lt;span class="nv"&gt;$$&lt;/span&gt;&lt;span class="s2"&gt;DIR/index.md&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;この構成により:&lt;/p&gt;</description></item></channel></rss>