summaryrefslogtreecommitdiff
path: root/themes/hugo-book/layouts/_default/_markup
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--themes/hugo-book/layouts/_default/_markup/render-heading.html4
-rw-r--r--themes/hugo-book/layouts/_default/_markup/render-image.html19
-rw-r--r--themes/hugo-book/layouts/_default/_markup/render-link.html29
3 files changed, 52 insertions, 0 deletions
diff --git a/themes/hugo-book/layouts/_default/_markup/render-heading.html b/themes/hugo-book/layouts/_default/_markup/render-heading.html
new file mode 100644
index 0000000..5439d20
--- /dev/null
+++ b/themes/hugo-book/layouts/_default/_markup/render-heading.html
@@ -0,0 +1,4 @@
+<h{{ .Level }} id="{{ .Anchor | safeURL }}">
+ {{ .Text | safeHTML }}
+ <a class="anchor" href="#{{ .Anchor | safeURL }}">#</a>
+</h{{ .Level }}>
diff --git a/themes/hugo-book/layouts/_default/_markup/render-image.html b/themes/hugo-book/layouts/_default/_markup/render-image.html
new file mode 100644
index 0000000..148cbaf
--- /dev/null
+++ b/themes/hugo-book/layouts/_default/_markup/render-image.html
@@ -0,0 +1,19 @@
+{{- if .Page.Site.Params.BookPortableLinks -}}
+ {{- template "portable-image" . -}}
+{{- else -}}
+ <img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title }}title="{{ . }}"{{ end }}/>
+{{- end -}}
+
+{{- define "portable-image" -}}
+ {{- $isRemote := or (in .Destination "://") (strings.HasPrefix .Destination "//") }}
+ {{- if not $isRemote }}
+ {{- $path := print .Page.File.Dir .Destination }}
+ {{- if strings.HasPrefix .Destination "/" }}
+ {{- $path = print "/static" .Destination }}
+ {{- end }}
+ {{- if not (fileExists $path) }}
+ {{- warnf "Image '%s' not found in '%s'" .Destination .Page.File }}
+ {{- end }}
+ {{- end }}
+ <img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title }}title="{{ . }}"{{ end }}/>
+{{- end -}}
diff --git a/themes/hugo-book/layouts/_default/_markup/render-link.html b/themes/hugo-book/layouts/_default/_markup/render-link.html
new file mode 100644
index 0000000..288d81c
--- /dev/null
+++ b/themes/hugo-book/layouts/_default/_markup/render-link.html
@@ -0,0 +1,29 @@
+{{- if .Page.Site.Params.BookPortableLinks -}}
+ {{- template "portable-link" . -}}
+{{- else -}}
+ <a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
+{{- end -}}
+
+{{- define "portable-link" -}}
+ {{- $destination := .Destination }}
+ {{- $isRemote := or (in .Destination ":") (strings.HasPrefix .Destination "//") }}
+ {{- $isFragment := strings.HasPrefix .Destination "#" }}
+ {{- if and (not $isRemote) (not $isFragment) }}
+ {{- $url := urls.Parse .Destination }}
+ {{- $path := strings.TrimSuffix "/_index.md" $url.Path }}
+ {{- $path = strings.TrimSuffix "/_index" $path }}
+ {{- $path = strings.TrimSuffix ".md" $path }}
+ {{- $page := .Page.GetPage $path }}
+ {{- if $page }}
+ {{- $destination = $page.RelPermalink }}
+ {{- if $url.Fragment }}
+ {{- $destination = print $destination "#" $url.Fragment }}
+ {{- end }}
+ {{- else if fileExists (print .Page.File.Dir .Destination) }}
+ <!-- Nothing -->
+ {{- else -}}
+ {{- warnf "Page '%s' not found in '%s'" .Destination .Page.File }}
+ {{- end }}
+ {{- end }}
+ <a href="{{ $destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>
+{{- end -}}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.