ハウツーと共にサイトナビゲーションを構築する方法


私はヒューゴと遊んで研究している.私は、サイトナビゲーションを構築するいくつかの異なった方法があるとわかるようになりました.これは静的サイト発生器とは異なる場合が多い.では、どうやってヒューゴを使ってサイトナビゲーションを構築するのですか?右にジャンプしましょう!
いくつかの異なった方法があります、しかし、私が使用して、最も役に立つとわかる2つの主要な方法があります.異なる方法のより詳細な説明に興味があるならば、私が私自身でこれを考え出すとき、私が見つけたこのビデオをチェックしてください.
まず第一に、我々はフロント問題の選択肢について説明します.第二に、我々は完全にカスタマイズされたナビゲーションメソッドを通過します.これらの2つの方法を説明した後、我々は実際にどのようにフロントの問題またはカスタムナビゲーションのいずれかからメニューオプションをループしていずれかのオプションを実装する方法を参照してください

フロントマター
マークダウンページ上のフロントを使用すると、迅速かつ簡単に解決策です.これは、特に大量のページを使用しない小さなウェブサイトのために良いです.あなたのナビゲーションの一部としてマークダウンファイルを作成したい場合は、ファイルの先頭に次のように追加します.
---
menu: "mainmenu"
---
メニューは何でも好きです.これはtitle 属性は、実際のナビゲーションの名前です.あなたがタイトルの付いたMarkdownファイルを持っているとしましょうAbout Me , しかし、あなたは言うために実際のナビゲーション・リンクを望みますAbout . 次に、上記の代わりに次のようにします.
---
menu:
    mainmenu:
        name: "About"
---
これはいつでもナビゲーションリンクの名前を決定できるようにすることができます.

完全にカスタムナビゲーション
上記のサイトは、小さなサイトではうまく動作しますが、ページ数が増えるにつれて、それはよくスケールしません.私はちょうどスタートからカスタムナビゲーションを使用する傾向があります、それは私が開発し、どのように私のサイトを構築するとよく流れます.カスタムナビゲーションを構築するにはconfig.toml ヒューゴプロジェクトのルーツで.ここでは、カスタムメニューを追加します.これは、名前をカスタマイズする際のフロントに類似したパターンに従うでしょう.我々は、我々を持ちますmenu そして、そのメニューでメニューが何を呼ぶかを決めますmenu.nav . 再びnav ここでは、メニューの名前を指定することができます.次に、それぞれのナビゲーションリンクについて、
  • identifier : この特定のリンクを識別するために使用
  • name : サイトのナビゲーションに表示する名前
  • url : リンク先のページへの相対URL
  • weight : 順序を言うもう一つの方法
  • 上記のナビゲーションリンクごとに行われます.以下のコードスニペットは、私たちが上で話したもののための例コードです.
    [menu]
        [[menu.nav]]
        identifier = "home"
        name = "Home"
        url = "/"
        weight = 1
    
        [[menu.nav]]
        identifier = "about"
        name = "About"
        url = "/about/"
        weight = 2
    
        [[menu.nav]]
        identifier = "connect"
        name = "Connect"
        url = "/connect/"
        weight = 3
    

    ナビゲーションを実装する
    今、あなたはフロントの問題やカスタムナビゲーションを使用しているかどうか、我々はナビゲーションを実装する必要がありますnav テンプレートファイル.そうするためにはnav.html 私のすべてを保持する<nav></nav> タグと私は部分-愛のパーティションとしてこれを使用してください!Hugoでは、これらを使用してループすることができますrange キーワードをクリックしてどのようなメニューをループする.これは次のようになります
    {{ range .Site.Menus.nav }}
    
    {{ end }}
    
    あなたのために異なっている唯一のものは、おそらくあなたのメニューの名前を再度です.私の名前nav それで.Site.Menus.nav . あなたが保つならばmainmenu テンプレートから.Site.Menus.mainmenu . このテンプレートブロック内では、今すぐナビゲーションのための通常のHTMLを書くことができます.最後のコードは以下のようになります.
    <ul id="nav">
        {{ range .Site.Menus.nav }}
        <li><a href=" {{ .URL }}">{{ .Name }}</a></li>
        {{ end }}
    </ul>
    
    あなたがHugoサイトでナビゲーションを実行するオプションのいくつかを学ぶことができたことを願っています.私は再びあなたにも私のスタートを助けた上でリンクされたYouTubeのビデオをチェックアウトすることをお勧めします.次回まで-滞在コーディングと私のブログに私の他の記事をチェックアウトhere !