Portfolioショートコード追加
August 8, 2018
テーマアップデート
このサイトのProjectsに、作品の実績を追加したく書いていたところ「もっとよく見せたい」と考え、思い切ってショートコードを追加することにしました。
{% portfolio image="/image/thumbnail.png" alt="Coder Portfolio" %}
## Coder Portfolio
Hugoの既存テーマ[hugo-coder](https://github.com/luizdepra/hugo-coder)を元にして作った自作テーマです。
より自分自身が伝えられるようにshortCodeの追加、デザインの改修を行いました。
面白いギミックで個人的なことが書けるのが魅力のテーマです。
是非このサイトでも、下のBarのClickを押してみてください!
Github→[hugo-coder-portfolio](https://github.com/naro143/hugo-coder-portfolio)
{% /portfolio %}
上記のように書くといい感じに表示してくれます。
→見に行く
もちろんレスポンシブ対応です。
Hugoの公式を見ながら書きました。
結構簡単です。
1.ShortCodeの追加
themes/{theme_name}/layouts/shortcodes/{shortcode_name}.html
を作成します。
これでshortcodeを呼べるようになります。
2.ShortCodeの内容の記述
次に内容を記述していきます。(今回追加したportfolio.html)
{{ if .IsNamedParams }}
{{ $.Scratch.Add "image" ( .Get "image") }}
{{ $.Scratch.Add "alt" ( .Get "alt") }}
{{ else }}
{{ $.Scratch.Add "image" "" }}
{{ $.Scratch.Add "alt" "" }}
{{ end }}
{{ $image := $.Scratch.Get "image" }}
{{ $alt := $.Scratch.Get "alt" }}
<div class="portfolio">
<div class="portfolio-inner">
<div class="portfolio-image"><img src="{{ $image }}" alt="{{ $alt }}"></div>
<div class="portfolio-content">
{{ .Inner }}
</div>
</div>
</div>
上部にでShortCodeから受け取る属性や、ファイル内での変数の定義を行います。
あとはDOMを書いてあげれば完了です。