congo/ja/docs/advanced-customisation/index.html

80 lines
43 KiB
HTML
Raw Normal View History

<!doctype html><html lang=ja dir=ltr class=scroll-smooth data-default-appearance=light data-auto-appearance=true><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="rgb(255,255,255)"><title>高度なカスタマイズ &#183; Congo</title><meta name=title content="高度なカスタマイズ &#183; Congo"><script type=text/javascript src=/congo/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js integrity="sha256-Ai0OvDtGozXrHH73m38t4UPXzVFW1DNjhZLvHOX4VU4="></script>
<link type=text/css rel=stylesheet href=/congo/css/main.bundle.min.10c102abe6936ccce78ac4bbaca1aba7cb895f657905e7517ff03fa421288504.css integrity="sha256-EMECq+aTbMznisS7rKGrp8uJX2V5BedRf/A/pCEohQQ="><script defer type=text/javascript id=script-bundle src=/congo/js/main.bundle.min.287040e6caeea98a3b789ef20965266e329a05e216b178efc2aefc1165453c13.js integrity="sha256-KHBA5sruqYo7eJ7yCWUmbjKaBeIWsXjvwq78EWVFPBM=" data-copy=コピー data-copied=コピーしました></script><meta name=description content="
Congoを手動で構築する方法
"><link rel=canonical href=https://jpanther.github.io/congo/ja/docs/advanced-customisation/><link rel=apple-touch-icon sizes=180x180 href=/congo/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/congo/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/congo/favicon-16x16.png><link rel=manifest href=/congo/site.webmanifest><meta property="og:title" content="高度なカスタマイズ"><meta property="og:description" content="Congoを手動で構築する方法"><meta property="og:type" content="article"><meta property="og:url" content="https://jpanther.github.io/congo/ja/docs/advanced-customisation/"><meta property="article:section" content="docs"><meta property="article:published_time" content="2020-08-08T00:00:00+00:00"><meta property="article:modified_time" content="2020-08-08T00:00:00+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="高度なカスタマイズ"><meta name=twitter:description content="Congoを手動で構築する方法"><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","articleSection":"ドキュメント","name":"高度なカスタマイズ","headline":"高度なカスタマイズ","description":"Congoを手動で構築する方法","abstract":"Congoは、基本的なTailwind設定の変更、手動でのテーマ構築、カスタムCSSの提供など、高度なカスタマイズをサポートしています。","inLanguage":"ja","url":"https:\/\/jpanther.github.io\/congo\/ja\/docs\/advanced-customisation\/","author":{"@type":"Person","name":"Congo"},"copyrightYear":"2020","dateCreated":"2020-08-08T00:00:00\u002b00:00","datePublished":"2020-08-08T00:00:00\u002b00:00","dateModified":"2020-08-08T00:00:00\u002b00:00","keywords":["advanced","css","docs"],"mainEntityOfPage":"true","wordCount":"317"}</script><meta name=author content="Congo"><link href=https://twitter.com/ rel=me><link href=https://facebook.com/ rel=me><link href=https://linkedin.com/ rel=me><link href=https://youtube.com/ rel=me></head><body class="flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"><div id=the-top class="absolute flex self-center"><a class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" href=#main-content><span class="font-bold pe-2 text-primary-600 dark:text-primary-400">&darr;</span>メインコンテンツへスキップ</a></div><header class="py-6 font-semibold text-neutral-900 dark:text-neutral print:hidden sm:py-10"><nav class="flex items-start justify-between sm:items-center"><div class="flex flex-row items-center"><a class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" rel=me href=/congo/ja/>Congo</a></div><ul class="flex flex-col list-none text-end sm:flex-row"><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/ja/docs/ title=ドキュメント><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">ドキュメント</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/ja/samples/ title=サンプル><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">サンプル</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=/congo/ja/users/ title=利用例><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">利用例</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><a href=https://github.com/jpanther/congo title target=_blank><span class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentcolor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6.0-2 2.3-3.6 5.2-3.
<span class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"><span class="relative inline-block align-text-bottom px-1 icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></span><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2"></span></button></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"><div class="relative group"><button class="flex items-center justify-end w-full transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600">
<span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentcolor" d="M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z"/><path fill="currentcolor" d="M0 2a2 2 0 012-2h7a2 2 0 012 2v3h3a2 2 0 012 2v7a2 2 0 01-2 2H7a2 2 0 01-2-2v-3H2A2 2 0 010 9V2zm2-1A1 1 0 001 2v7a1 1 0 001 1h7a1 1 0 001-1V2A1 1 0 009 1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066.0 01-.415-.492 1.988 1.988.0 01-.94.31z"/></svg></span><span class=text-sm>JA</span><span class=text-[0.6rem]><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3.0l192-192c12.5-12.5 12.5-32.8.0-45.3s-32.8-12.5-45.3.0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3.0s-12.5 32.8.0 45.3l192 192z"/></svg></span></span></button><div class="invisible w-full h-2 bg-transparent group-hover:visible"></div><div class="top-8 invisible absolute ltr:right-0 rtl:left-0 z-50 flex flex-col whitespace-nowrap rounded border border-neutral-300 bg-neutral text-start text-base shadow group-hover:visible dark:border-neutral-600 dark:bg-neutral-800"><div class="flex flex-grow"><a href=/congo/docs/advanced-customisation/ class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2">English (Australia)</a></div><div class="flex flex-grow"><a href=/congo/ja/docs/advanced-customisation/ class="flex items-center justify-between w-full px-2 py-1 bg-primary-100 dark:bg-primary-900">日本語<span class="w-6 ms-2 text-primary-600 dark:text-primary-400"><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentcolor" d="M438.6 105.4c12.5 12.5 12.5 32.7.0 45.2l-256 256c-12.5 12.5-32.7 12.5-45.2.0L9.372 278.6c-12.496-12.5-12.496-32.7.0-45.2 12.498-12.5 32.758-12.5 45.258.0L159.1 338.7 393.4 105.4c12.5-12.52 32.7-12.52 45.2.0h0z"/></svg></span></span></a></div></div></div></li></ul></nav></header><div class="relative flex flex-col grow"><main id=main-content class=grow><article><header class=max-w-prose><ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden"><li class="inline hidden"><a class="hover:underline decoration-neutral-300 dark:underline-neutral-600" href=/congo/ja/>Congoへようこそ! :tada:</a><span class="px-1 text-primary-500">/</span></li><li class=inline><a class="hover:underline decoration-neutral-300 dark:underline-neutral-600" href=/congo/ja/docs/>ドキュメント</a><span class="px-1 text-primary-500">/</span></li><li class="inline hidden"><a class="hover:underline decoration-neutral-300 dark:underline-neutral-600" href=/congo/ja/docs/advanced-customisation/>高度なカスタマイズ</a><span class="px-1 text-primary-500">/</span></li></ol><h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">高度なカスタマイズ</h1><div class="mt-8 mb-12 text-base text-neutral-500 dark:text-neutral-400 print:hidden"><div class="flex flex-row flex-wrap items-center"><span title=読むのに必要な時間>2 分</span><span class="px-2 text-primary-500">&#183;</span>
<span class=mb-[2px]><a href=https://github.com/jpanther/congo/tree/dev/exampleSite/content/docs/advanced-customisation/index.ja.md class="text-lg hover:text-primary-500" rel="noopener noreferrer" target=_blank title=編集><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M490.3 40.4c21.9 21.87 21.9 57.33.0 79.2l-30 30.1-98-97.98 30.1-30.06C414.3-.2135 449.7-.2135 471.6 21.66L490.3 40.4zM172.4 241.7 339.7 74.34l98 97.96L270.3 339.6C264.2 345.8 256.7 350.4 248.4 353.2l-88.8 29.6C150.1 385.6 141.5 383.4 135 376.1 128.6 370.5 126.4 361 129.2 352.4l29.6-88.8C161.6 255.3 166.2 247.8 172.4 241.7v0zM192 63.1c17.7.0 32 15.23 32 32 0 18.6-14.3 32-32 32H96c-17.67.0-32 15.2-32 32V416c0 17.7 14.33 32 32 32H352c17.7.0 32-14.3 32-32V319.1c0-16.8 14.3-32 32-32s32 15.2 32 32V416c0 53-43 96-96 96H96c-53.02.0-96-43-96-96V159.1c0-53 42.98-96 96-96h96z"/></svg></span></a></span></div></div></header><section class="flex flex-col max-w-full mt-0 prose dark:prose-invert lg:flex-row"><div class="order-first px-0 lg:order-last lg:max-w-xs lg:ps-8"><div class="toc pe-5 print:hidden lg:sticky lg:top-10"><details open class="-ms-5 mt-0 overflow-hidden rounded-lg ps-5"><summary class="-ms-5 block cursor-pointer bg-neutral-100 py-1 ps-5 text-lg font-semibold text-neutral-800 dark:bg-neutral-700 dark:text-neutral-100 lg:hidden">目次</summary><div class="-ms-5 border-s border-dotted border-neutral-300 py-2 ps-5 dark:border-neutral-600"><nav id=TableOfContents><ul><li><a href=#hugoプロジェクトの構造>Hugoプロジェクトの構造</a></li><li><a href=#カラースキーム>カラースキーム</a></li><li><a href=#スタイルのオーバーライド>スタイルのオーバーライド</a><ul><li><a href=#フォントサイズの変更>フォントサイズの変更</a></li></ul></li><li><a href=#ソースコードから再構築>ソースコードから再構築</a><ul><li><a href=#tailwindの設定>Tailwindの設定</a></li><li><a href=#プロジェクトの構造>プロジェクトの構造</a></li><li><a href=#依存関係のインストール>依存関係のインストール</a></li><li><a href=#tailwindコンパイラの実行>Tailwindコンパイラの実行</a></li><li><a href=#buildスクリプトの準備>buildスクリプトの準備</a></li></ul></li></ul></nav></div></details></div></div><div class="min-w-0 min-h-0 max-w-prose grow"><p>Congoに高度な変更を加える方法はたくさんあります。カスタマイズできる内容や、ご希望の結果を得るための最良の方法については、以下をお読みください。</p><p>さらにアドバイスが必要な場合は
<a href=https://github.com/jpanther/congo/discussions target=_blank rel=noreferrer>GitHub Discussions</a>に質問を投稿してください。</p><h2 id=hugoプロジェクトの構造 class="relative group">Hugoプロジェクトの構造 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#hugo%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%ae%e6%a7%8b%e9%80%a0 aria-label=アンカー>#</a></span></h2><p>これらの作業に入る前に、
<a href=https://gohugo.io/getting-started/directory-structure/ target=_blank rel=noreferrer>Hugoプロジェクトの構造</a>とコンテンツやテーマを管理するためのベストプラクティスについて説明します。</p><div class="flex px-4 py-3 rounded-md bg-primary-100 dark:bg-primary-900"><span class="pe-3 text-primary-400"><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M506.3 417 293 53c-16.33-28-57.54-28-73.98.0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6c32.76.0 53.26-35 36.96-63zM232 168c0-13.25 10.75-24 24-24s24 10.8 24 24v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zm24 248c-17.36.0-31.44-14.08-31.44-31.44s14.07-31.44 31.44-31.44 31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg></span></span><span class=dark:text-neutral-300><strong>要約:</strong> テーマファイルを直接編集するのではなく、Hugoプロジェクトのサブディレクトリでカスタマイズを行なってください。</span></div><p>Congoは、Hugoの標準的なプラクティスをすべて活用できるように作られています。コアのテーマファイルを変更することなく、テーマのすべての側面をカスタマイズしたり上書きしたりできるように設計されています。これにより、ウェブサイトのルックフィールを完全にコントロールしながら、シームレスなアップグレードが可能になります。</p><p>そのためには、テーマファイルを手動で直接調整してはいけません。Hugo モジュールを使ってインストールする場合でも、git サブモジュールとしてインストールする場合でも、手動でテーマを <code>themes/</code> ディレクトリにインクルードする場合でも、これらのファイルは常にそのままにしておくべきです。</p><p>テーマの動作を調整する正しい方法は、Hugoの強力な
<a href=https://gohugo.io/templates/lookup-order/ target=_blank rel=noreferrer>file lookup order</a>を使ってファイルを上書きすることです。そうすることで、あなたがプロジェクトディレクトリにインクルードしたファイルが自動的にテーマファイルよりも優先されることを保証します。</p><p>例えば、Congoのメイン記事テンプレートをオーバーライドしたい場合、独自の <code>layouts/_default/single.html</code> ファイルを作成し、プロジェクトのルートに置くだけです。このファイルはテーマを変更することなく、テーマの <code>single.html</code> を上書きします。これは、HTMLテンプレート、パーシャル、ショートコード、設定ファイル、データ、アセットなど、どんなテーマファイルにも使えます。</p><p>このシンプルな慣習に従う限り、あなたのカスタマイズを失うことなく、常にテーマをアップデート(または異なるテーマのバージョンをテスト)することができます。</p><h2 id=カラースキーム class="relative group">カラースキーム <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e3%82%ab%e3%83%a9%e3%83%bc%e3%82%b9%e3%82%ad%e3%83%bc%e3%83%a0 aria-label=アンカー>#</a></span></h2><p>Congoにはいくつかのカラースキームが同梱されています。配色を変更するには、 <code>colorScheme</code> テーマパラメーターを設定します。組み込みの配色について詳しくは
<a href=https://jpanther.github.io/congo/ja/docs/getting-started/>はじめに</a>セクションを参照してください。</p><p>デフォルトの配色に加えて、独自のスキームを作成し、ウェブサイト全体を好みのスタイルに変更することもできます。スキームは <code>assets/css/schemes/</code> ディレクトリに <code>&lt;scheme-name>.css</code> ファイルを置くことで作成できます。ファイルを作成したら、テーマ設定の中でその名前を参照するだけです。</p><p>Congoは3色のパレットを定義してテーマ全体に使用しています。この3色は「ニュートラル」、「プライマリー」、「セカンダリー」として定義され、それぞれ10色の濃淡があります。</p><p>Tailwind CSS 3.0が不透明度を用いてカラー値を計算するため、使用するカラーは
<a href=https://github.com/adamwathan/tailwind-css-variable-text-opacity-demo target=_blank rel=noreferrer>特定のフォーマットに準拠</a>して指定するする必要があります。</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-css data-lang=css><span class=line><span class=cl><span class=p>:</span><span class=nd>root</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nv>--color-primary-500</span><span class=p>:</span> <span class=mi>139</span><span class=p>,</span> <span class=mi>92</span><span class=p>,</span> <span class=mi>246</span><span class=p>;</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></div><p>この例では、 <code>primary-500</code> をCSS変数として <code>Red: 139, Green: 92, Blue: 246</code> に定義しています。</p><p>既存のテーマスタイルシートのいずれかをテンプレートとして使用してください。独自の色を定義するのは自由ですが、インスピレーションを得るために、公式の
<a href=https://tailwindcss.com/docs/customizing-colors#color-palette-reference target=_blank rel=noreferrer>Tailwind color palette reference</a>もチェックしてみてください。</p><h2 id=スタイルのオーバーライド class="relative group">スタイルのオーバーライド <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e3%82%b9%e3%82%bf%e3%82%a4%e3%83%ab%e3%81%ae%e3%82%aa%e3%83%bc%e3%83%90%e3%83%bc%e3%83%a9%e3%82%a4%e3%83%89 aria-label=アンカー>#</a></span></h2><p>独自のHTML要素にスタイルを設定するために、カスタムスタイルを追加する場合があります。Congoでは、独自のCSSスタイルシートでデフォルトのスタイルをオーバーライドすることができます。プロジェクトの <code>assets/css/</code> ディレクトリに <code>custom.css</code> ファイルを作成するだけです。</p><p><code>custom.css</code> ファイルはHugoによってminifyされ、他のテーマスタイルの後に自動的に読み込まれます。</p><h3 id=フォントサイズの変更 class="relative group">フォントサイズの変更 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e3%83%95%e3%82%a9%e3%83%b3%e3%83%88%e3%82%b5%e3%82%a4%e3%82%ba%e3%81%ae%e5%a4%89%e6%9b%b4 aria-label=アンカー>#</a></span></h3><p><code>custom.css</code> を用いてフォントサイズをオーバーライドする例です。Congoでは、ベースとなるHTMLフォントサイズに由来するフォントサイズをテーマ全体で使用するため、フォントサイズの変更は簡単です。デフォルトでは、Tailwindはデフォルトサイズを<code>12pt</code>に設定していますが、お好きな値に変更することができます。</p><p><code>assets/css/custom.css</code> を用意して下記のように記述してください:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-css data-lang=css><span class=line><span class=cl><span class=c>/* Increase the default font size */</span>
</span></span><span class=line><span class=cl><span class=nt>html</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=k>font-size</span><span class=p>:</span> <span class=mi>13</span><span class=kt>pt</span><span class=p>;</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></div><p>この1つの値を変更するだけで、ウェブサイト上のすべてのフォントサイズが新しいサイズに合わせて調整されます。したがって、全体のフォントサイズを大きくするには、値を <code>12pt</code> より大きくします。同様に、フォントサイズを小さくするには、値を <code>12pt</code> より小さくします。</p><h2 id=ソースコードから再構築 class="relative group">ソースコードから再構築 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%81%8b%e3%82%89%e5%86%8d%e6%a7%8b%e7%af%89 aria-label=アンカー>#</a></span></h2><p>大きな変更を加えたい場合は、Tailwind CSSのJITコンパイラを利用し、テーマCSS全体をゼロから再構築することができます。これは、Tailwindの設定を調整したり、メインのスタイルシートに追加のTailwindクラスを追加したい場合に便利です。</p><div class="flex px-4 py-3 rounded-md bg-primary-100 dark:bg-primary-900"><span class="pe-3 text-primary-400"><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M506.3 417 293 53c-16.33-28-57.54-28-73.98.0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6c32.76.0 53.26-35 36.96-63zM232 168c0-13.25 10.75-24 24-24s24 10.8 24 24v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zm24 248c-17.36.0-31.44-14.08-31.44-31.44s14.07-31.44 31.44-31.44 31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg></span></span><span class=dark:text-neutral-300><strong>注記:</strong> 手動でテーマを再構築するのは上級者向けです。</span></div><p>それでは、Tailwind CSSの構築方法を順を追って説明しましょう。</p><h3 id=tailwindの設定 class="relative group">Tailwindの設定 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#tailwind%e3%81%ae%e8%a8%ad%e5%ae%9a aria-label=アンカー>#</a></span></h3><p>実際に使用されているTailwindのクラスのみを含むCSSファイルを生成するために、JITコンパイラはすべてのHTMLテンプレートとMarkdownファイルをスキャンして、どのスタイルが存在するかをチェックします。コンパイラは、テーマディレクトリのルートに含まれる <code>tailwind.config.js</code> ファイルを参照します:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=c1>// themes/congo/tailwind.config.js
</span></span></span><span class=line><span class=cl><span class=c1></span>
</span></span><span class=line><span class=cl><span class=nx>module</span><span class=p>.</span><span class=nx>exports</span> <span class=o>=</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>content</span><span class=o>:</span> <span class=p>[</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;./layouts/**/*.html&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;./content/**/*.{html,md}&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;./themes/congo/layouts/**/*.html&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;./themes/congo/content/**/*.{html,md}&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=p>],</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> <span class=c1>// and more...
</span></span></span><span class=line><span class=cl><span class=c1></span><span class=p>};</span>
</span></span></code></pre></div><p>デフォルトでは、特定のプロジェクト構造に従っていれば、修正することなく簡単に独自のCSSファイルを生成できるようにコンテンツパスが設定されています。つまり、<strong>Congo を <code>themes/congo/</code> のサブディレクトリとしてプロジェクトに含める必要があります。</strong>
よって、Hugoモジュールを使って簡単にテーマをインストールすることはできず、 Gitサブモジュール推奨か手動インストールのどちらかの方法を取らなければなりません。
<a href=https://jpanther.github.io/congo/ja/docs/installation/>インストール</a>では、これらの方法のいずれかを使ってテーマをインストールする方法を説明しています。</p><h3 id=プロジェクトの構造 class="relative group">プロジェクトの構造 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%ae%e6%a7%8b%e9%80%a0 aria-label=アンカー>#</a></span></h3><p>デフォルト設定の恩恵を授かるには、プロジェクトは下記のような構造になっているべきです。</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-shell data-lang=shell><span class=line><span class=cl>.
</span></span><span class=line><span class=cl>├── assets
</span></span><span class=line><span class=cl>│ └── css
</span></span><span class=line><span class=cl>│ └── compiled
</span></span><span class=line><span class=cl>│ └── main.css <span class=c1># this is the file we will generate</span>
</span></span><span class=line><span class=cl>├── config <span class=c1># site config</span>
</span></span><span class=line><span class=cl>│ └── _default
</span></span><span class=line><span class=cl>├── content <span class=c1># site content</span>
</span></span><span class=line><span class=cl>│ ├── _index.md
</span></span><span class=line><span class=cl>│ ├── projects
</span></span><span class=line><span class=cl>│ │ └── _index.md
</span></span><span class=line><span class=cl>│ └── blog
</span></span><span class=line><span class=cl>│ └── _index.md
</span></span><span class=line><span class=cl>├── layouts <span class=c1># custom layouts for your site</span>
</span></span><span class=line><span class=cl>│ ├── partials
</span></span><span class=line><span class=cl>│ │ └── extend-article-link.html
</span></span><span class=line><span class=cl>│ ├── projects
</span></span><span class=line><span class=cl>│ │ └── list.html
</span></span><span class=line><span class=cl>│ └── shortcodes
</span></span><span class=line><span class=cl>│ └── disclaimer.html
</span></span><span class=line><span class=cl>└── themes
</span></span><span class=line><span class=cl> └── congo <span class=c1># git submodule or manual theme install</span>
</span></span></code></pre></div><p>この構造例では、独自のカスタムレイアウトを持つ新しい <code>projects</code> コンテンツタイプを、カスタムショートコードと拡張パーシャルとともに追加します。プロジェクトがこの構造に従っていれば、必要なのは <code>main.css</code> ファイルを再コンパイルすることだけです。</p><h3 id=依存関係のインストール class="relative group">依存関係のインストール <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#%e4%be%9d%e5%ad%98%e9%96%a2%e4%bf%82%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab aria-label=アンカー>#</a></span></h3><p>上記を動作させるには、 <code>themes/congo/</code> ディレクトリにて、プロジェクトの依存関係をインストールする必要がある。このステップには
<a href=https://docs.npmjs.com/cli/v7/configuring-npm/install target=_blank rel=noreferrer>npm</a>が必要です。</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-shell data-lang=shell><span class=line><span class=cl><span class=nb>cd</span> themes/congo
</span></span><span class=line><span class=cl>npm install
</span></span></code></pre></div><h3 id=tailwindコンパイラの実行 class="relative group">Tailwindコンパイラの実行 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#tailwind%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%a9%e3%81%ae%e5%ae%9f%e8%a1%8c aria-label=アンカー>#</a></span></h3><p>依存関係のインストールが完了したら、あとは
<a href=https://v2.tailwindcss.com/docs/installation#using-tailwind-cli target=_blank rel=noreferrer>Tailwind CLI</a>を使ってJITコンパイラを起動するだけです。Hugoプロジェクトのルートに戻り、以下のコマンドを実行してください:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-shell data-lang=shell><span class=line><span class=cl><span class=nb>cd</span> ../..
</span></span><span class=line><span class=cl>./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit
</span></span></code></pre></div><p>このコマンドはパス指定の関係で少し醜いですが、基本的にはTailwind CLIを呼び出し、Tailwindの設定ファイル、 <code>main.css</code> の場所、そしてコンパイルされたCSSファイルを置く場所 <code>assets/css/compiled/</code> )を渡しています。</p><p>Tailwindの設定ファイルによって、プロジェクト内のすべてのコンテンツとレイアウト、およびテーマ内のすべてのコンテンツを自動的に走査し、ウェブサイトに必要なすべてのCSSを含む新しいCSSファイルを作成します。Hugoはプロジェクト内のファイルを自動的にテーマに付属するもので上書きします。</p><p>レイアウトを変更して新しいTailwind CSSスタイルが必要になるたびに、コマンドを再実行するだけで、新しいCSSファイルを生成することができます。コマンドの最後に <code>-w</code> を追加すると、JITコンパイラをウォッチモードで実行することもできます。</p><h3 id=buildスクリプトの準備 class="relative group">buildスクリプトの準備 <span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style=text-decoration-line:none!important href=#build%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%81%ae%e6%ba%96%e5%82%99 aria-label=アンカー>#</a></span></h3><p>私がやっているように、必要なコマンドを含む <code>package.json</code> をプロジェクトのルートに追加して、再構築プロセスを簡単にすることもできます。</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=c1>// package.json
</span></span></span><span class=line><span class=cl><span class=c1></span>
</span></span><span class=line><span class=cl><span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;name&#34;</span><span class=o>:</span> <span class=s2>&#34;my-website&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;version&#34;</span><span class=o>:</span> <span class=s2>&#34;1.0.0&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;description&#34;</span><span class=o>:</span> <span class=s2>&#34;&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;scripts&#34;</span><span class=o>:</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;server&#34;</span><span class=o>:</span> <span class=s2>&#34;hugo server -b http://localhost -p 8000&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;dev&#34;</span><span class=o>:</span> <span class=s2>&#34;NODE_ENV=development ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit -w&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=s2>&#34;build&#34;</span><span class=o>:</span> <span class=s2>&#34;NODE_ENV=production ./themes/congo/node_modules/tailwindcss/lib/cli.js -c ./themes/congo/tailwind.config.js -i ./themes/congo/assets/css/main.css -o ./assets/css/compiled/main.css --jit&#34;</span>
</span></span><span class=line><span class=cl> <span class=p>},</span>
</span></span><span class=line><span class=cl> <span class=c1>// and more...
</span></span></span><span class=line><span class=cl><span class=c1></span><span class=p>}</span>
</span></span></code></pre></div><p>これで、デザインに取りかかりたいときに <code>npm run dev</code> を実行すればコンパイラがウォッチモードで実行されます。デプロイする準備ができたら、 <code>npm run build</code> を実行すれば、通常のTailwind CSSビルドが実行されます。</p><p>🙋‍♀️ ヘルプが必要な場合は、遠慮なく
<a href=https://github.com/jpanther/congo/discussions target=_blank rel=noreferrer>GitHub Discussions</a>に質問を投稿してください。</p></div></section><footer class="pt-8 max-w-prose print:hidden"><div class=pt-8><hr class="border-dotted border-neutral-300 dark:border-neutral-600"><div class="flex justify-between pt-3"><span><a class="group flex" href=/congo/ja/docs/content-examples/><span class="me-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"><span class="ltr:inline rtl:hidden">&larr;</span><span class="ltr:hidden rtl:inline">&rarr;</span></span>
<span class="flex flex-col"><span class="mt-[0.1rem] leading-6 group-hover:underline group-hover:decoration-primary-500">コンテンツの例</span>
<span class="mt-[0.1rem] text-xs text-neutral-500 dark:text-neutral-400"></span></span></a></span><span><a class="group flex text-right" href=/congo/ja/docs/hosting-deployment/><span class="flex flex-col"><span class="mt-[0.1rem] leading-6 group-hover:underline group-hover:decoration-primary-500">ホスティングとデプロイ</span>
<span class="mt-[0.1rem] text-xs text-neutral-500 dark:text-neutral-400"></span></span><span class="ms-2 text-neutral-700 transition-transform group-hover:-translate-x-[2px] group-hover:text-primary-600 dark:text-neutral dark:group-hover:text-primary-400"><span class="ltr:inline rtl:hidden">&rarr;</span><span class="ltr:hidden rtl:inline">&larr;</span></span></a></span></div></div></footer></article><div class="pointer-events-none absolute bottom-0 end-0 top-[100vh] w-12"><a href=#the-top class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" aria-label=TOPへスクロール title=TOPへスクロール>&uarr;</a></div></main><footer class="py-10 print:hidden"><div class="flex items-center justify-between"><div><p class="text-sm text-neutral-500 dark:text-neutral-400">© 2023 Congo contributors</p><p class="text-xs text-neutral-500 dark:text-neutral-400">Powered by <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href=https://gohugo.io/ target=_blank rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500" href=https://github.com/jpanther/congo target=_blank rel="noopener noreferrer">Congo</a></p></div><div class="flex flex-row items-center"><div class="me-14 cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"><button id=appearance-switcher-0 type=button aria-label="appearance switcher"><div class="flex items-center justify-center w-12 h-12 dark:hidden" title=ダークモードへ切り替え><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M32 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z"/></svg></span></div><div class="items-center justify-center hidden w-12 h-12 dark:flex" title=ライトモードへ切り替え><span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentcolor" d="M256 159.1c-53.02.0-95.1 42.98-95.1 95.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.1z"/></svg></span></div></button></div></div></div></footer><div id=search-wrapper class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" data-url=https://jpanther.github.io/congo/ja/><div id=search-modal class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800"><header class="relative z-10 flex items-center justify-between flex-none px-2"><form class="flex items-center flex-auto min-w-0"><div class="flex items-center justify-center w-8 h-8 text-neutral-400"><span class="relative inline-block align-text-bottom px-1 icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
<span class="relative inline-block align-text-bottom px-1 icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentcolor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></button></header><section class="flex-auto px-2 overflow-auto"><ul id=search-results></ul></section></div></div></div></body></html>