hugoでshortcodesを用いてtableにcssを適応
·☕2分
#テック系
#Hugo
目次
久しぶりにHugoの投稿をしようと思います。 今回の内容は、「マークダウン形式で書いたtableに対して、cssを適応させる」 です。
通常のマークダウンで記入#
例えば、マークダウン形式でテーブルを書くと、以下のようになります。
| 選手 | 背番号 | 国 |
| ------------------------ | ------ | -------- |
| 古橋 亨梧 | 16 | 日本 |
| アンドレス・イニエスタ | 8 | スペイン |
| トーマス・フェルマーレン | 4 | ベルギー |
↓サイト上での表示↓
選手 | 背番号 | 国 |
---|---|---|
古橋 亨梧 | 16 | 日本 |
アンドレス・イニエスタ | 8 | スペイン |
トーマス・フェルマーレン | 4 | ベルギー |
表示されるテーブルのデザインは、利用しているテンプレートに乗っ取る形になります。
自作shortcodesで任意のcssを適応#
自分で制作したcssをマークダウンで記入したテーブルに反映してみた結果が以下になります。 苦肉の策みたいなやり方なので、他に良いやり方もあるかもしれません。
まず、以下のようなshortcodeファイルを作成します。
{{if (.Get "class")}}
<div class = "{{ .Get "class" }}">
{{ else }}
<div class = "simple-table">
{{ end }}
{{.Inner | markdownify }}
</div>
続いて、cssを以下のように作成します。
div.simple-table table {
width: 100%;
border-top: 1px solid #e2e2e2;
border-left: 1px solid #e2e2e2;
background: #ffffff;
margin-bottom:15px;
margin-left: auto;
margin-right: auto;
color:#000000;
}
div.simple-table table th{
border-right: 1px solid #e2e2e2;
border-bottom: 1px solid #e2e2e2;
padding:10px 0;
text-align: center;
}
div.simple-table table td {
font-size: 0.9em;
border-right: 1px solid #e2e2e2;
border-bottom: 1px solid #e2e2e2;
text-align: center;
padding:10px 0;
}
div.simple-table table th {
background-color: #f3f0f0;
}
そして、以下のようにマークダウンを記入します。
{{< mdtable class = "simple-table" >}}
| 選手 | 背番号 | 国 |
| ------------------------ | ------ | -------- |
| 古橋 亨梧 | 16 | 日本 |
| アンドレス・イニエスタ | 8 | スペイン |
| トーマス・フェルマーレン | 4 | ベルギー |
{{< mdtable >}}
これらを適応すると、以下のような表示になります。
選手 | 背番号 | 国 |
---|---|---|
古橋 亨梧 | 16 | 日本 |
アンドレス・イニエスタ | 8 | スペイン |
トーマス・フェルマーレン | 4 | ベルギー |
ざっくりとした説明#
最初は{{replace}}
を使って{{ {.Inner | markdownify }}
で、マークダウン形式からマークアップに変換し、受け取った<table>
の中身を書き換える方法を考えていました。
しかし、あまりうまく動かず…
ですので回避策として、shortcodes側で<table>
の外側にクラスを適応した <div>
をかまして、cssで対応させる手法をとりました。処理の流れ等の詳しい説明は今回は割愛します。
参考ページ#
関連ページ#
スポンサードリンクRelated
GitHub Actionsを用いてHugoで作成しているサイトのビルドとデプロイ·☕5分#テック系
#Hugo
#GitHub Actions
#CI/CDブログのテーマを「blowfish」に変えてみた·☕3分#テック系
#HugoHugoのインストール方法(Windows)·☕3分#テック系
#Hugo
#環境構築飲食店レビューからポエムを撲滅!OpenAI の Structured Outputを使っ …·☕11分#テック系
#LLM
#OpenAI
#Python
GitHub Actionsを用いてHugoで作成しているサイトのビルドとデプロイ
·☕5分
#テック系
#Hugo
#GitHub Actions
#CI/CD
ブログのテーマを「blowfish」に変えてみた
·☕3分
#テック系
#Hugo
Hugoのインストール方法(Windows)
·☕3分
#テック系
#Hugo
#環境構築
飲食店レビューからポエムを撲滅!OpenAI の Structured Outputを使っ …
·☕11分
#テック系
#LLM
#OpenAI
#Python