Add portable links, requires hugo 0.62
This commit is contained in:
parent
c217876059
commit
289a3f456e
7 changed files with 68 additions and 3 deletions
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
@ -25,7 +25,7 @@ jobs:
|
||||||
|
|
||||||
- name: Install Hugo
|
- name: Install Hugo
|
||||||
run: |
|
run: |
|
||||||
wget "https://github.com/gohugoio/hugo/releases/download/v0.60.0/hugo_extended_0.60.0_Linux-64bit.deb" -O /tmp/hugo.deb
|
wget "https://github.com/gohugoio/hugo/releases/download/v0.62.0/hugo_extended_0.62.0_Linux-64bit.deb" -O /tmp/hugo.deb
|
||||||
sudo dpkg -i /tmp/hugo.deb
|
sudo dpkg -i /tmp/hugo.deb
|
||||||
|
|
||||||
- name: Run Hugo
|
- name: Run Hugo
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Hugo Book Theme
|
# Hugo Book Theme
|
||||||
|
|
||||||
[![Hugo](https://img.shields.io/badge/hugo-0.60-blue.svg)](https://gohugo.io)
|
[![Hugo](https://img.shields.io/badge/hugo-0.62-blue.svg)](https://gohugo.io)
|
||||||
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
|
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
|
||||||
|
|
||||||
### [Hugo](https://gohugo.io) documentation theme as simple as plain book
|
### [Hugo](https://gohugo.io) documentation theme as simple as plain book
|
||||||
|
@ -178,6 +178,12 @@ disableKinds = ['taxonomy', 'taxonomyTerm']
|
||||||
# See https://gohugo.io/content-management/comments/#configure-disqus
|
# See https://gohugo.io/content-management/comments/#configure-disqus
|
||||||
# Can be overwritten by same param in page frontmatter
|
# Can be overwritten by same param in page frontmatter
|
||||||
BookComments = true
|
BookComments = true
|
||||||
|
|
||||||
|
# /!\ This is an experimental feature, might be removed or changed at any time
|
||||||
|
# (Optional, experimental, default false) Enables portable links and link checks in markdown pages.
|
||||||
|
# Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode
|
||||||
|
# Theme will print warning if page referenced in markdown does not exists.
|
||||||
|
BookPortableLinks = true
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multi-Language Support
|
### Multi-Language Support
|
||||||
|
|
|
@ -90,3 +90,9 @@ enableGitInfo = true
|
||||||
# See https://gohugo.io/content-management/comments/#configure-disqus
|
# See https://gohugo.io/content-management/comments/#configure-disqus
|
||||||
# Can be overwritten by same param in page frontmatter
|
# Can be overwritten by same param in page frontmatter
|
||||||
BookComments = true
|
BookComments = true
|
||||||
|
|
||||||
|
# /!\ This is an experimental feature, might be removed or changed at any time
|
||||||
|
# (Optional, experimental, default false) Enables portable links and link checks in markdown pages.
|
||||||
|
# Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode
|
||||||
|
# Theme will print warning if page referenced in markdown does not exists.
|
||||||
|
BookPortableLinks = true
|
||||||
|
|
|
@ -86,3 +86,9 @@ params:
|
||||||
# See https://gohugo.io/content-management/comments/#configure-disqus
|
# See https://gohugo.io/content-management/comments/#configure-disqus
|
||||||
# Can be overwritten by same param in page frontmatter
|
# Can be overwritten by same param in page frontmatter
|
||||||
BookComments: true
|
BookComments: true
|
||||||
|
|
||||||
|
# /!\ This is an experimental feature, might be removed or changed at any time
|
||||||
|
# (Optional, experimental, default false) Enables portable links and link checks in markdown pages.
|
||||||
|
# Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode
|
||||||
|
# Theme will print warning if page referenced in markdown does not exists.
|
||||||
|
BookPortableLinks: true
|
||||||
|
|
19
layouts/_default/_markup/render-image.html
Normal file
19
layouts/_default/_markup/render-image.html
Normal file
|
@ -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 -}}
|
28
layouts/_default/_markup/render-link.html
Normal file
28
layouts/_default/_markup/render-link.html
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{{ 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 "//") }}
|
||||||
|
{{- if not $isRemote }}
|
||||||
|
{{- $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 -}}
|
|
@ -8,7 +8,7 @@ description = "Hugo documentation theme as simple as plain book"
|
||||||
homepage = "https://github.com/alex-shpak/hugo-book"
|
homepage = "https://github.com/alex-shpak/hugo-book"
|
||||||
tags = ["responsive", "clean", "documentation", "docs", "flexbox", "search", "mobile", "multilingual", "disqus"]
|
tags = ["responsive", "clean", "documentation", "docs", "flexbox", "search", "mobile", "multilingual", "disqus"]
|
||||||
features = []
|
features = []
|
||||||
min_version = "0.60"
|
min_version = "0.62"
|
||||||
|
|
||||||
[author]
|
[author]
|
||||||
name = "Alex Shpak"
|
name = "Alex Shpak"
|
||||||
|
|
Loading…
Reference in a new issue