備忘録

【Hugo】別記事へのリンクを取得する

前提

Hugo: v0.125.4

注意事項

この記事内で紹介しているShortcodeをそのまま使用すると、使用箇所によってはタイムアウトとなりうまく機能しない。

GetPage

site.GetPageで指定したページが取得できる。 以下のような、Shortcodeを作成して呼び出す。

{{- with $path := .Get "path" -}}
  {{- with site.GetPage . -}}
  <div class="card">
    <a href="{{ .RelPermalink }}" title="{{ .Title }}">{{ .LinkTitle | default .Title }}</a>
    <div>
      {{- .Summary -}}
    </div>
  </div>
  {{- end -}}
{{- end -}}

作成したShortcodeを使うと以下のhtmlが出力される。

<div class="card">
  <a href="/posts/hugo-shortcodes-markdown/" title="【Hugo】MarkdownやソースコードをShortcodes内に記載する方法">【Hugo】MarkdownやソースコードをShortcodes内に記載する方法</a>
  <div>前提 Hugo: v0.125.4 対応内容 MarkdownをShortcode内に記載したときに、期待した結果が得られないことがあったので整理。 対応する方法としては、</div>
</div>

実際の表示

【Hugo】MarkdownやソースコードをShortcodes内に記載する方法
前提 Hugo: v0.125.4 対応内容 MarkdownをShortcode内に記載したときに、期待した結果が得られないことがあったので整理。 対応する方法としては、

記事のリンクを取得する際、RelPermalinkを使えば相対パス、Permalinkを使えば絶対パスになる。

関連記事

  • 【Hugo】目次(Table of Contents)を作る
    前提 Hugo: v0.125.4 TableOfContents 以下のメソッドを呼ぶだけで目次が作れる {{ .TableOfContents }} このページの場合、以下のhtmlが出力される <nav id="TableOfContents"> <ul> <li><a href="#前提"
  • 【Hugo】MarkdownやソースコードをShortcodes内に記載する方法
    前提 Hugo: v0.125.4 対応内容 MarkdownをShortcode内に記載したときに、期待した結果が得られないことがあったので整理。 対応する方法としては、
  • 【Hugo】Hugoの基本的な文法
    前提 Hugo: v0.125.4 変数 定義 {{ $foo := "foo" }} 代入 {{ $foo = "bar" }} テンプレート内での使用 <p>{{ $foo }}</p> 比較 Eq arg1 == arg2 {{ eq 1 1 }} # true {{ eq 1 2 }} # false {{ eq "foo" "foo" }} # true {{ eq "foo" "bar" }} # false 参考
  • 【Hugo】Hugoの環境構築
    前提 環境: Windows Hugo: v0.125.4 インストール バイナリをダウンロードして配置 Githubからバイナリをダウンロード Releases latest ダウンロードしたファイルを解凍し、任意の
  • 【Hugo】HugoでSass(SCSS)を使う
    前提 環境: Windows Hugo: v0.125.4 Dart Sassのインストール Hugo ExtendedにはLibSassが含まれているが、非推奨となっているため、Dart Sassをイン