Как добавить ссылку в меню Nav Hugo сайта - PullRequest
0 голосов
/ 21 октября 2019

Как я могу добавить прямую ссылку на элемент навигации в меню, а не ссылку на раздел?

в моем config.toml, я добавил ссылку, но она сначала помещает baseurl вперед ним:

[menu]

    [[menu.nav]]
    name = "Summary"
    URL = "services"
    weight = 2

    [[menu.nav]]
    name = "Contact"
    URL = "contact-us"
    weight = 3

    [[menu.nav]]
    name = "Methods"
    URL = "blog"
    weight = 4

    [[menu.nav]]
    name = "Français"
    url = "https://example.com/" #this is the link I want to add
    weight = 5

Я нашел это сообщение , но не знаю html, поэтому не уверен, куда добавить изменение в файле layout / partials / navigation.html.

Я подозреваю, что это где-то в этом диапазоне частичного.

                {{ if .IsHome }}
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                        <ul class="navbar-nav ml-auto navigation-menu">
                                <li class="nav-item"><a class="nav-link" data-scroll href="#body">{{ with $.Site.Params.home }}{{ . }}{{ end }}</a></li>
                                {{ range $.Site.Menus.nav }}
                                <li class="nav-item"><a class="nav-link" data-scroll href="#{{ .URL }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </div>
                {{ else }}
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                        <ul class="navbar-nav ml-auto navigation-menu">
                                <li class="nav-item"><a class="nav-link" data-scroll href="{{ $.Site.BaseURL }}#body">{{ with $.Site.Params.home }}{{ . }}{{ end }}</a></li>
                                {{ range $.Site.Menus.nav }}
                                <li class="nav-item"><a class="nav-link" data-scroll href="{{ $.Site.BaseURL }}#{{ .URL | absURL }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </div>
                {{ end }}

Спасибо за любую помощь!

1 Ответ

1 голос
/ 24 октября 2019

Эта тема плохо обрабатывает URL-адреса навигации. Попробуйте заменить

href="{{ $.Site.BaseURL }}#{{ .URL | absURL }}" на href="{{ .URL |relURL }}". Он должен работать как для внутренних, так и для внешних ссылок

                {{ if .IsHome }}
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                        <ul class="navbar-nav ml-auto navigation-menu">
                                <li class="nav-item"><a class="nav-link" data-scroll href="#body">{{ with $.Site.Params.home }}{{ . }}{{ end }}</a></li>
                                {{ range $.Site.Menus.nav }}
                                <li class="nav-item"><a class="nav-link" data-scroll href="{{ .URL | relURL }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </div>
                {{ else }}
                <div class="collapse navbar-collapse" id="navbarSupportedContent">
                        <ul class="navbar-nav ml-auto navigation-menu">
                                <li class="nav-item"><a class="nav-link" data-scroll href="{{ $.Site.BaseURL }}#body">{{ with $.Site.Params.home }}{{ . }}{{ end }}</a></li>
                                {{ range $.Site.Menus.nav }}
                                <li class="nav-item"><a class="nav-link" data-scroll href="{{ .URL | relURL }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </div>
                {{ end }}

, а в вашем config.yaml добавить «/» перед внутренней ссылкой.

baseurl = "/"

[menu]

    [[menu.nav]]
    name = "Summary"
    URL = "/services"
    weight = 2

    [[menu.nav]]
    name = "Contact"
    URL = "/contact-us"
    weight = 3

    [[menu.nav]]
    name = "Methods"
    URL = "/blog"
    weight = 4

    [[menu.nav]]
    name = "Français"
    url = "https://example.com/" #this is the link I want to add
    weight = 5

...