HUGO преобразует относительные URL-адреса в абсолютные

#hugo

#хьюго #hugo

Вопрос:

У меня есть конфигурация, которая выглядит следующим образом:

 [[menu.main]]
    name = "Team Profile"
    url = "/team/"
    weight = 24
    parent = "about"
  

Но когда я смотрю на код в консоли разработчика в Chrome, он выглядит следующим образом:

 <a href="https://www.example.com//team/">Team Profile</a>
  

Я хочу, чтобы это выглядело так:

 <a href="/team/">Team Profile</a>
  

На что мне следует обратить внимание относительно того, почему он меняет URL-адрес?

У меня нет никаких ссылок на canonifyURLs nor relativeURLs в моих конфигурационных файлах.

[РЕДАКТИРОВАТЬ] Я проверил наличие absURL и нашел это:

 layouts/partials/head.html:    <!--<link rel="stylesheet" href="{{ "css/style.css" | absURL }} ">  -->
layouts/partials/header.html:                            <img src="{{ .Site.Params.logo | safeHTML | absURL }}" alt="{{.Site.Title }}">
themes/tapp/layouts/partials/header.html:                            <img src="{{ .Site.Params.logo | safeHTML | absURL }}" alt="{{.Site.Title }}">
  

[ПРАВИТЬ]
Я просмотрел themes/XX/layouts/partials/header.html и нашел это:

 {{ range .Site.Menus.main }}
        {{ if .HasChildren }}
                <li class="menu-item-has-children">
                        <a href="{{ .URL | relLangURL }}"> {{ .Name }}</a>
                        <ul class="sub-menu">
                                {{ range .Children }}
                                        <li><a href="{{ .URL | relLangURL }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </li>
        {{ else }}
                <li><a href="{{ .URL | relLangURL }}"> {{ .Name }}</a> </li>
        {{ end }}
{{end}}
  

[РЕДАКТИРОВАТЬ] Согласно предложению, я изменил на это:

 {{ range .Site.Menus.main }}
        {{ if .HasChildren }}
                <li class="menu-item-has-children">
                        <a href="{{ .url }}"> {{ .Name }}</a>
                        <ul class="sub-menu">
                                {{ range .Children }}
                                        <li><a href="{{ .url }}">{{ .Name }}</a></li>
                                {{ end }}
                        </ul>
                </li>
        {{ else }}
                <li><a href="{{ .url }}"> {{ .Name }}</a> </li>
        {{ end }}
{{end}}
{{ if .Site.Params.freeTrial.enable }}
        <li><a class="btn-free" href="{{ .url }}"> Free Trial of Apps </a> </li>
{{ end }}
  

и это работает.

Комментарии:

1. Вам нужно будет проверить используемый вами шаблон. В коде, который генерирует меню, может быть вызов absURL .

2. Вместо поиска absURL в вашем проекте найдите шаблон, который генерирует HTML-код меню.

3. @josephting AFAIK шаблон находится в моем исходном коде, поэтому он должен был найти его, когда я выполнял grep -r. Не могли бы вы посоветовать, как я могу подтвердить, что я не завишу от внешнего шаблона? Я хочу, чтобы все мои зависимости были в исходном коде или, по крайней мере, документированы.

4. @MichaelPotter Дело в том, что даже не подтверждено, используется ли здесь absURL , хотя это весьма вероятно. Вам нужно найти файл шаблона, который генерирует HTML меню, и выяснить. Хотя вы должны быть в состоянии найти это с помощью .Site.Menus.main .

5. Что происходит, когда вы просто помещаете {{ .url }} ?