mirror of https://github.com/luizdepra/hugo-coder.git

Dave Rolsky
28.43.2020 0fb4eafa637c073f8ab304bc5fb495c27521f672
Use relative URLs everywhere and remove <base> tag (#411)

There were a few places still using absolute URLs, including <link rel="icon">
tags, <link rel="alternate"> tags, and nav menu links. In addition, the
presence of a <base> tag caused the browser to absolute-ize all relative
URLs. This also removed "canonifyurls = true" from the example site config.

This is a problem for things like render.com, which will put the site on its
own domain for previews. For example, I have a preview site at
https://houseabsolute-com.onrender.com/. Ultimately this will be served at
https://houseabsolute.com/, but before I switched over I wanted to preview the
site.

The absolute URLs were being generated for https://houseabsolute.com/ because
of my baseURL setting in config and the presence of the <base> tag. This
completely breaks the preview site.
4 files modified
17 ■■■■■ changed files
CONTRIBUTORS.md 1 ●●●● patch | view | raw | blame | history
exampleSite/config.toml 1 ●●●● patch | view | raw | blame | history
layouts/_default/baseof.html 13 ●●●●● patch | view | raw | blame | history
layouts/partials/header.html 2 ●●● patch | view | raw | blame | history
CONTRIBUTORS.md
@@ -76,3 +76,4 @@
- [Lorenzo Cameroni](https://github.com/came88)
- [Jared Sturdy](https://github.com/jsturdy)
- [Daniel Monteiro](https://github.com/dfamonteiro)
- [Dave Rolsky](https://github.com/autarch)
exampleSite/config.toml
@@ -7,7 +7,6 @@
defaultcontentlanguage = "en"
paginate = 20
canonifyurls = true
pygmentsstyle = "b2"
pygmentscodefences = true
layouts/_default/baseof.html
@@ -17,9 +17,6 @@
    {{ template "_internal/twitter_cards.html" . }}
    {{ template "_internal/opengraph.html" . }}
    {{ if .Permalink }}
      <base href="{{ .Permalink }}">
    {{ end }}
    <title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
    {{ if .Permalink }}
@@ -80,14 +77,14 @@
      {{ end }}
    {{ end }}
    <link rel="icon" type="image/png" href="{{ .Site.Params.favicon_32 | default "/images/favicon-32x32.png" | absURL }}" sizes="32x32">
    <link rel="icon" type="image/png" href="{{ .Site.Params.favicon_16 | default "/images/favicon-16x16.png" | absURL }}" sizes="16x16">
    <link rel="icon" type="image/png" href="{{ .Site.Params.favicon_32 | default "/images/favicon-32x32.png" | relURL }}" sizes="32x32">
    <link rel="icon" type="image/png" href="{{ .Site.Params.favicon_16 | default "/images/favicon-16x16.png" | relURL }}" sizes="16x16">
    <link rel="apple-touch-icon" href="{{ .Site.Params.touchicon | default "/images/apple-touch-icon.png" | absURL }}">
    <link rel="apple-touch-icon"  sizes="180x180" href="{{ .Site.Params.touchicon | default "/images/apple-touch-icon.png" | absURL }}">
    <link rel="apple-touch-icon" href="{{ .Site.Params.touchicon | default "/images/apple-touch-icon.png" | relURL }}">
    <link rel="apple-touch-icon"  sizes="180x180" href="{{ .Site.Params.touchicon | default "/images/apple-touch-icon.png" | relURL }}">
    {{ range .AlternativeOutputFormats -}}
      {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
      {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }}
    {{ end -}}
    {{ hugo.Generator }}
layouts/partials/header.html
@@ -15,7 +15,7 @@
        {{ with .Site.Menus.main}}
          {{ range sort . }}
            <li class="navigation-item">
              <a class="navigation-link" href="{{ .URL | absLangURL }}">{{ .Name }}</a>
              <a class="navigation-link" href="{{ .URL | relLangURL }}">{{ .Name }}</a>
            </li>
          {{ end }}
        {{ end }}