v0.3.0
* Getting environment variables and passwords from Vault (not tested yet) * Vault configuration to config (not tested yet) * Ability to run scripts from file on local machine on the remote host * Ability to get ouput in the notification of a list for individual commands or all commands * Make SSH connections close after all commands have been run; reuse previous connections if needed
This commit is contained in:
84
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/attachments.html
vendored
Normal file
84
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/attachments.html
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
{{- $version := split hugo.Version "." }}
|
||||
{{- $major := int (index $version 0) }}
|
||||
{{- $minor := int (index $version 1) }}
|
||||
{{- $context := .context }}
|
||||
{{- $color := .color | default "" }}
|
||||
{{- $content := .content }}
|
||||
{{- $style := .style | default "default" }}
|
||||
{{- if and (not $color) (eq (len $color) 0) }}
|
||||
{{- $style = .style | default "transparent" }}
|
||||
{{- end }}
|
||||
{{- $title := .title | default ($style | T) | default ("Attachments-label" | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- $icon = "paperclip" }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- $sort := .sort | default "asc" }}
|
||||
{{- $pattern := .pattern | default "" }}
|
||||
{{- $defaultUrlPrefix := strings.TrimRight "/" $context.RelPermalink }}
|
||||
{{- if .IsTranslated -}}
|
||||
{{- $defaultLanguage := (index $context.Site.Home.AllTranslations 0).Lang }}
|
||||
{{- $defaultLanguagePage := index (where $context.AllTranslations "Language.Lang" $defaultLanguage) 0 }}
|
||||
{{- $defaultUrlPrefix = strings.TrimRight "/" $defaultLanguagePage.RelPermalink }}
|
||||
{{- end }}
|
||||
{{- $urlPrefix := strings.TrimRight "/" $context.RelPermalink }}
|
||||
{{- with $context }}
|
||||
{{- if ne .BundleType "leaf" }}
|
||||
{{- if or (and (eq $major 0) (ge $minor 112)) (gt $major 0) }}
|
||||
{{- warnf "%q: UNSUPPORTED usage of 'attachments' shortcode found while using Hugo >= 0.112.0, use a leaf bundle instead; see https://mcshelby.github.io/hugo-theme-relearn/shortcodes/attachments/index.html#single-language" $context.File.Path }}
|
||||
{{- else }}
|
||||
{{- warnf "%q: DEPRECATED usage of 'attachments' shortcode found which will not be compatible while using Hugo >= 0.112.0, use a leaf bundle instead; see https://mcshelby.github.io/hugo-theme-relearn/shortcodes/attachments/index.html#single-language" $context.File.Path }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
<div class="box attachments cstyle {{ $style }}"{{ if $color }} style="--VARIABLE-BOX-color: {{ $color }};"{{ end }}>
|
||||
<div class="box-label">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title | .RenderString }}</div>
|
||||
<ul class="box-content attachments-files">
|
||||
{{- $fileDir := "" }}
|
||||
{{- if or (and (eq $major 0) (ge $minor 112)) (gt $major 0) }}
|
||||
{{- $fileDir = path.Dir (strings.TrimPrefix (path.Clean hugo.WorkingDir) (path.Clean .File.Filename)) }}
|
||||
{{- else }}
|
||||
{{- $fileDir = printf "%s/%s" (path.Clean (.Language.ContentDir | default "content")) (path.Clean .File.Dir) }}
|
||||
{{- end }}
|
||||
{{- $fileDir = printf "%s/" (path.Clean (strings.TrimPrefix "/" $fileDir)) }}
|
||||
{{- $fileLink := $fileDir }}
|
||||
{{- $fileLink = strings.TrimPrefix "content/" $fileLink }}
|
||||
{{- $filesName := printf "%s.files" .File.BaseFileName }}
|
||||
{{- if and (eq .File.BaseFileName "index") (fileExists (printf "%sfiles" $fileDir)) }}
|
||||
{{- $c := "" }}{{/* backward compat to < 5.9.0 behavior */}}
|
||||
{{- $filesName = "files" }}
|
||||
{{- end }}
|
||||
{{- $dir := printf "%s%s" $fileDir $filesName }}
|
||||
{{- if fileExists $dir }}
|
||||
{{- range sort (readDir $dir) "Name" $sort }}
|
||||
{{- if findRE $pattern .Name}}
|
||||
{{- $size := .Size }}
|
||||
{{- $unit := "Byte-symbol" }}
|
||||
{{- if ge $size 1024 }}
|
||||
{{- $size = div $size 1024 }}
|
||||
{{- $unit = "Kilobyte-symbol" }}
|
||||
{{- end }}
|
||||
{{- if ge $size 1024 }}
|
||||
{{- $size = div $size 1024 }}
|
||||
{{- $unit = "Megabyte-symbol" }}
|
||||
{{- end }}
|
||||
{{- $unitsymbol := $unit | T }}
|
||||
{{- $link := (printf "%s%s/%s" $fileLink $filesName .Name) | relLangURL }}
|
||||
{{- $c := "" }}{{/* Hugo stores the attachments always in the default language subdirectory */}}
|
||||
{{- $link = replace $link $urlPrefix $defaultUrlPrefix 1 }}
|
||||
<li><a href="{{ $link }}">{{.Name}}</a> ({{$size}} {{$unitsymbol}})</li>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
</ul>
|
||||
{{- $content }}
|
||||
</div>
|
||||
{{- end }}
|
20
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/badge.html
vendored
Normal file
20
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/badge.html
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
{{- $context := .context }}
|
||||
{{- $color := .color | default "" }}
|
||||
{{- $content := .content }}
|
||||
{{- $style := .style | default "default" }}
|
||||
{{- $title := .title | default ($style | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- with $context -}}
|
||||
<span class="badge cstyle {{ $style }}{{ if or $icon $title }} badge-with-title{{ end }}">{{ if or $icon $title }}<span class="badge-title">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ if $title }}{{ $title | .RenderString }}{{ end }}</span>{{ end }}<span class="badge-content"{{ if $color }} style="background-color: {{ $color }};"{{ end }}>{{ $content }}</span></span>
|
||||
{{- end }}
|
58
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/button.html
vendored
Normal file
58
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/button.html
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
{{- $context := .context }}
|
||||
{{- $color := .color | default "" }}
|
||||
{{- $content := .content }}
|
||||
{{- $href := (trim .href " ") | default "" }}
|
||||
{{- $style := .style | default "default" }}
|
||||
{{- if and (not $color) (eq (len $color) 0) }}
|
||||
{{- $style = .style | default "transparent" }}
|
||||
{{- end }}
|
||||
{{- $target := .target | default "" }}
|
||||
{{- $type := .type | default "" }}
|
||||
{{- $isButton := false }}
|
||||
{{- if or (not $href) (strings.HasPrefix $href "javascript:") }}
|
||||
{{- $isButton = true }}
|
||||
{{- $href = substr $href (len "javascript:") }}
|
||||
{{- if not $type }}
|
||||
{{- $type = "button" }}
|
||||
{{- end }}
|
||||
{{- else if and (eq (len $target) 0) (or (strings.HasPrefix $href "http://") (strings.HasPrefix $href "https://") ) }}
|
||||
{{- $target = "_blank" }}
|
||||
{{- if isset $context.Site.Params "externallinktarget" }}
|
||||
{{- $target = $context.Site.Params.externalLinkTarget }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $title := .title | default ($content) | default ($style | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- $iconposition := .iconposition | default "left" }}
|
||||
{{- with $context }}
|
||||
<span class="btn cstyle {{ $style }}"{{ if $color }} style="--VARIABLE-BOX-color: {{ $color }};"{{ end }}>
|
||||
{{- if $isButton }}
|
||||
<button{{ if $href }} onclick="{{ $href | safeJS }}"{{ end }}{{ if gt (len $type) 0 }} type="{{ $type }}"{{ end }}>
|
||||
{{- else }}
|
||||
<a{{ if $href }} href="{{ $href }}"{{ if gt (len $target) 0 }} target="{{ $target }}"{{ end }}{{ end }}>
|
||||
{{- end }}
|
||||
{{- if and $icon (eq $iconposition "left") }}
|
||||
<i class="{{ $icon }}"></i>
|
||||
{{- end }}
|
||||
{{ $title | safeHTML }}
|
||||
{{- if and $icon (eq $iconposition "right") }}
|
||||
<i class="{{ $icon }}"></i>
|
||||
{{- end }}
|
||||
{{- if $isButton }}
|
||||
</button>
|
||||
{{- else }}
|
||||
</a>
|
||||
{{- end }}
|
||||
</span>
|
||||
{{- end }}
|
116
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/children.html
vendored
Normal file
116
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/children.html
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
{{- $context := .context }}
|
||||
{{- $showhidden := .showhidden | default false }}
|
||||
{{- if eq (printf "%T" $showhidden) "string" }}
|
||||
{{- $showhidden = (eq $showhidden "true") }}
|
||||
{{- end }}
|
||||
{{- $style := .style | default "li" }}
|
||||
{{- $depth := .depth | default 1 }}
|
||||
{{- $withDescription := .description | default false }}
|
||||
{{- if eq (printf "%T" $withDescription) "string" }}
|
||||
{{- $withDescription = (eq $withDescription "true") }}
|
||||
{{- end }}
|
||||
{{- $sortTerm := .sort | lower }}
|
||||
{{- $containerstyle := .containerstyle | default "ul" }}
|
||||
{{- if( and (not (eq $style "li") ) (eq $containerstyle "ul" ) ) }}
|
||||
{{- $containerstyle = "div" }}
|
||||
{{- end }}
|
||||
|
||||
{{- with $context }}
|
||||
{{ (printf "<%s class=\"children children-%s children-sort-%s\">" $containerstyle $style $sortTerm)|safeHTML }}
|
||||
{{- $pages := .Pages }}
|
||||
|
||||
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
|
||||
{{- $currentOrdersectionsby := $sortTerm | default (.Params.ordersectionsby | default $defaultOrdersectionsby) }}
|
||||
{{- if eq $currentOrdersectionsby "weight" }}
|
||||
{{- template "childs" dict "menu" $pages.ByWeight "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- else if or (eq $currentOrdersectionsby "name") (eq $currentOrdersectionsby "title") }}
|
||||
{{- template "childs" dict "menu" $pages.ByTitle "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- else if eq $currentOrdersectionsby "publishdate" }}
|
||||
{{- template "childs" dict "menu" $pages.ByPublishDate "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- else if eq $currentOrdersectionsby "date" }}
|
||||
{{- template "childs" dict "menu" $pages.ByDate "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- else if eq $currentOrdersectionsby "length" }}
|
||||
{{- template "childs" dict "menu" $pages.ByLength "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- else }}
|
||||
{{- template "childs" dict "menu" $pages "containerstyle" $containerstyle "style" $style "showhidden" $showhidden "count" 1 "depth" $depth "pages" .Site.Pages "description" $withDescription "sortTerm" $sortTerm "context" . }}
|
||||
{{- end }}
|
||||
{{ (printf "</%s>" $containerstyle)|safeHTML }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "childs" }}
|
||||
{{ $context := .context }}
|
||||
{{- range .menu }}
|
||||
{{- $hidden := and (or (.Params.hidden) (eq .Title "")) (not $.showhidden) }}
|
||||
{{- if not $hidden }}
|
||||
{{- if not .IsHome }}
|
||||
{{- if hasPrefix $.style "h" }}
|
||||
{{- $num := sub ( int (trim $.style "h") ) 1 }}
|
||||
{{- $numn := add $num $.count }}
|
||||
{{ (printf "<h%d>" $numn)|safeHTML }}<a href="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a>{{ (printf "</h%d>" $numn)|safeHTML }}
|
||||
{{- if $.description }}
|
||||
{{- if .Description -}}
|
||||
<p>{{ .Description }}</p>
|
||||
{{- else -}}
|
||||
<p>{{ .Summary }}</p>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- else if eq $.style "li" }}
|
||||
{{ (printf "<%s>" $.style)|safeHTML }}<a href="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a>
|
||||
{{- if $.description }}
|
||||
{{- if .Description -}}
|
||||
<p>{{ .Description }}</p>
|
||||
{{- else -}}
|
||||
<p>{{ .Summary }}</p>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- else }}
|
||||
{{ (printf "<%s>" $.style)|safeHTML }}<a href="{{ partial "relLangPrettyUglyURL.hugo" (dict "to" .) }}">{{ .Title }}</a>{{ (printf "</%s>" $.style)|safeHTML }}
|
||||
{{- if $.description }}
|
||||
{{- if .Description -}}
|
||||
<p>{{ .Description }}</p>
|
||||
{{- else -}}
|
||||
<p>{{ .Summary }}</p>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if lt $.count $.depth }}
|
||||
|
||||
{{- if eq $.style "li" }}
|
||||
{{- (printf "<%s>" $.containerstyle)|safeHTML }}
|
||||
{{- end }}
|
||||
|
||||
{{- $pages := .Pages }}
|
||||
|
||||
{{- $defaultOrdersectionsby := .Site.Params.ordersectionsby | default "weight" }}
|
||||
{{- $currentOrdersectionsby := $.sortTerm | default (.Params.ordersectionsby | default $defaultOrdersectionsby) }}
|
||||
{{- if eq $currentOrdersectionsby "weight" }}
|
||||
{{- template "childs" dict "menu" $pages.ByWeight "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- else if or (eq $.currentOrdersectionsby "name") (eq $.currentOrdersectionsby "title") }}
|
||||
{{- template "childs" dict "menu" $pages.ByTitle "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- else if eq $.currentOrdersectionsby "publishdate" }}
|
||||
{{- template "childs" dict "menu" $pages.ByPublishDate "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- else if eq $.currentOrdersectionsby "date" }}
|
||||
{{- template "childs" dict "menu" $pages.ByDate "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- else if eq $.currentOrdersectionsby "length" }}
|
||||
{{- template "childs" dict "menu" $pages.ByLength "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- else }}
|
||||
{{- template "childs" dict "menu" $pages "containerstyle" $.containerstyle "style" $.style "showhidden" $.showhidden "count" (add $.count 1) "depth" $.depth "pages" $.pages "description" $.description "sortTerm" $.sortTerm "context" $context }}
|
||||
{{- end }}
|
||||
|
||||
{{- if eq $.style "li" }}
|
||||
{{- (printf "</%s>" $.containerstyle)|safeHTML }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if not .IsHome }}
|
||||
{{- if eq $.style "li" }}
|
||||
{{- (printf "</%s>" $.style)|safeHTML -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
22
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/expand.html
vendored
Normal file
22
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/expand.html
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
{{- $context := .context }}
|
||||
{{- $content := .content }}
|
||||
{{- $title := .title | default (T "Expand-title") }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $expanded := .open | default false }}
|
||||
{{- if eq (printf "%T" $expanded) "string" }}
|
||||
{{- $expanded = (eq $expanded "true") }}
|
||||
{{- end }}
|
||||
{{- $id := cond (or (eq .id nil) (eq .id "")) (partial "make-random-md5.hugo" $context) .id }}
|
||||
{{- with $context }}
|
||||
<div class="expand">
|
||||
<input type="checkbox" id="expand-{{ $id }}" aria-controls="expandcontent-{{ $id }}" {{ if $expanded }} checked{{ end }}>
|
||||
<label class="expand-label" for="expand-{{ $id }}" >
|
||||
<i class="fas fa-chevron-down"></i>
|
||||
<i class="fas fa-chevron-right"></i>
|
||||
{{ $title | .RenderString }}
|
||||
</label>
|
||||
<div id="expandcontent-{{ $id }}" class="expand-content">
|
||||
{{ if ne "<" (substr (strings.TrimLeft " " $content) 0 1) }}<p>{{ end }}<!-- we add a DOM element here if there is none to make collapsing marings work -->
|
||||
{{ $content | safeHTML }}</div><!-- no line break allowed here because of awkward behavior of Hugo 110 or this theme when tag shortcode is called standalone outside of tags shortcode ? -->
|
||||
</div>
|
||||
{{- end }}
|
11
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/icon.html
vendored
Normal file
11
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/icon.html
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
{{- $context := .context }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- with $context }}
|
||||
{{- if $icon -}}
|
||||
<i class="{{ $icon }}"></i>
|
||||
{{- end }}
|
||||
{{- end }}
|
49
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/image.html
vendored
Normal file
49
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/image.html
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
{{- $context := .context }}
|
||||
{{- $url := .url }}
|
||||
{{- $title := .title }}
|
||||
{{- $alt := .alt }}
|
||||
{{- $classes := slice }}
|
||||
{{- $lightbox := true }}
|
||||
{{- $height := "auto" }}
|
||||
{{- $width := "auto" }}
|
||||
{{- $dest_url := urls.Parse $url }}
|
||||
{{- $dest_path := $dest_url.Path }}
|
||||
{{- $image := $context.Resources.GetMatch $dest_path }}
|
||||
{{- if not $image }}
|
||||
{{- $image = .Resources.GetMatch $dest_path }}
|
||||
{{- end }}
|
||||
{{- if not $image }}
|
||||
{{- $image = .Resources.GetRemote $url }}
|
||||
{{- end }}
|
||||
{{- if $image }}
|
||||
{{- $url = $image.RelPermalink }}
|
||||
{{- if $dest_url.RawQuery }}
|
||||
{{- $url = printf "%s?%s" $url $dest_url.RawQuery }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $dest_url.RawQuery }}
|
||||
{{- if $dest_url.Query.Get "classes" }}
|
||||
{{- $classes = $classes | append (split ($dest_url.Query.Get "classes") ",") }}
|
||||
{{- end }}
|
||||
{{- if $dest_url.Query.Has "featherlight" }}
|
||||
{{- warnf "%q: DEPRECATED usage of 'featherlight' image CSS class found, use 'lightbox' instead; see http://localhost:1313/basics/migration/#5110-2023-02-07" $context.File.Path }}
|
||||
{{- end }}
|
||||
{{- $lightbox = and (ne ($dest_url.Query.Get "lightbox") "false") (ne ($dest_url.Query.Get "featherlight") "false") }}
|
||||
{{- with $dest_url.Query.Get "height" }}
|
||||
{{ $height = . }}
|
||||
{{- end }}
|
||||
{{- with $dest_url.Query.Get "width" }}
|
||||
{{ $width = . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $id := cond (or (eq .id nil) (eq .id "")) (partial "make-random-md5.hugo" $context) .id }}
|
||||
{{- if $lightbox }}
|
||||
<a href="#image-{{ $id }}" class="lightbox-link">
|
||||
{{- end }}
|
||||
<img src="{{ $url | safeURL }}" alt="{{ $alt }}"{{ with $title }} title="{{ . }}"{{ end }}{{ if len ($classes) }} class="{{ delimit $classes " " }}"{{ end }} style="height: {{ $height }}; width: {{ $width }};" loading="lazy">
|
||||
{{- if $lightbox }}
|
||||
</a>
|
||||
<a href="javascript:history.back();" class="lightbox" id="image-{{ $id }}">
|
||||
<img src="{{ $url | safeURL }}" alt="{{ $alt }}"{{ with $title }} title="{{ . }}"{{ end }} class="lightbox-image" loading="lazy">
|
||||
</a>
|
||||
{{- end }}
|
15
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/include.html
vendored
Normal file
15
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/include.html
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
{{- $context := .context }}
|
||||
{{- $file := .file }}
|
||||
{{- $hideFirstHeading := .hidefirstheading | default false }}
|
||||
{{- if eq (printf "%T" $hideFirstHeading) "string" }}
|
||||
{{- $hideFirstHeading = (eq $hideFirstHeading "true") }}
|
||||
{{- end }}
|
||||
{{- if and (gt (len (trim $file " ")) 0) (fileExists $file) }}
|
||||
{{- if $hideFirstHeading }}<div class="include hide-first-heading">{{ end }}
|
||||
{{- with $context }}
|
||||
|
||||
{{ $file | readFile | safeHTML }}
|
||||
|
||||
{{- end }}
|
||||
{{- if $hideFirstHeading }}</div>{{ end }}
|
||||
{{- end }}
|
13
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/link.html
vendored
Normal file
13
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/link.html
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
{{- $context := .context }}
|
||||
{{- $url := .url }}
|
||||
{{- $title := .title | default "" }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $content := .content }}
|
||||
{{- $target := .target | default "" }}
|
||||
{{- if and (eq (len $target) 0) (or (strings.HasPrefix $url "http://") (strings.HasPrefix $url "https://") ) }}
|
||||
{{- $target = "_blank" }}
|
||||
{{- if isset $context.Site.Params "externallinktarget" }}
|
||||
{{- $target = $context.Site.Params.externalLinkTarget }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
<a href="{{ $url | safeURL }}"{{ if $title }} title="{{ $title }}"{{ end }}{{ if gt (len $target) 0 }} target="{{ $target }}"{{ end }}>{{ $content | safeHTML }}</a>
|
9
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/math.html
vendored
Normal file
9
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/math.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{{- $context := .context }}
|
||||
{{- $content := .content }}
|
||||
{{- $align := .align | default "center" }}
|
||||
{{- with $context }}
|
||||
<span class="math align-{{ $align }}">
|
||||
{{- $content | safeHTML -}}
|
||||
</span>
|
||||
{{- .Store.Set "hasMathJax" true }}
|
||||
{{- end }}
|
22
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/mermaid.html
vendored
Normal file
22
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/mermaid.html
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
{{- $context := .context }}
|
||||
{{- $content := .content }}
|
||||
{{- $align := .align | default "center" }}
|
||||
{{- $zoom := $context.Site.Params.mermaidZoom | default false }}
|
||||
{{- with $context.Params.mermaidZoom }}
|
||||
{{- $zoom = . }}
|
||||
{{- if eq (printf "%T" .) "string" }}
|
||||
{{- $zoom = (eq . "true") }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with .zoom }}
|
||||
{{- $zoom = . }}
|
||||
{{- if eq (printf "%T" .) "string" }}
|
||||
{{- $zoom = (eq . "true") }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with $context }}
|
||||
<div class="mermaid align-{{ $align }}{{ if $zoom }} zoom{{ end }}">
|
||||
{{- replaceRE "'" "'" ( replaceRE """ "\"" ( $content | safeHTML ) ) -}}
|
||||
</div>
|
||||
{{- .Store.Set "hasMermaid" true }}
|
||||
{{- end }}
|
25
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/notice.html
vendored
Normal file
25
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/notice.html
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
{{- $context := .context }}
|
||||
{{- $color := .color | default "" }}
|
||||
{{- $content := .content }}
|
||||
{{- $style := .style | default "default" }}
|
||||
{{- $title := .title | default ($style | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- with $context }}
|
||||
<div class="box notices cstyle {{ $style }}"{{ if $color }} style="--VARIABLE-BOX-color: {{ $color }};"{{ end }}>
|
||||
<div class="box-label">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title | .RenderString }}</div>
|
||||
<div class="box-content">
|
||||
{{ if ne "<" (substr (strings.TrimLeft " " $content) 0 1) }}<p>{{ end }}<!-- we add a DOM element here if there is none to make collapsing marings work -->
|
||||
{{ $content | safeHTML }}</div><!-- no line break allowed here because of awkward behavior of Hugo 110 or this theme when tag shortcode is called standalone outside of tags shortcode ? -->
|
||||
</div>
|
||||
{{- end }}
|
18
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/openapi.html
vendored
Normal file
18
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/openapi.html
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
{{- $context := .context }}
|
||||
{{- $src := .src }}
|
||||
{{- $id := cond (or (eq .id nil) (eq .id "")) (partial "make-random-md5.hugo" $context) .id }}
|
||||
{{- with $context }}
|
||||
{{- with .Resources.Match $src }}
|
||||
{{- range . }}
|
||||
{{- $src = .RelPermalink }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
<div class="sc-openapi-wrapper is-loading helper-loading-container">
|
||||
<div
|
||||
class="sc-openapi-container"
|
||||
id="openapi-{{ $id }}"
|
||||
openapi-url="{{ $src }}"
|
||||
></div>
|
||||
</div>
|
||||
{{- .Store.Set "hasOpenapi" true }}
|
||||
{{- end }}
|
10
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/siteparam.html
vendored
Normal file
10
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/siteparam.html
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
{{- $context := .context }}
|
||||
{{- $paramName := .name }}
|
||||
{{- with $context }}
|
||||
{{- $siteParams := .Site.Params }}
|
||||
{{- with $paramName }}
|
||||
{{- with $siteParams }}
|
||||
{{- index . (lower $paramName) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
6
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/swagger.html
vendored
Normal file
6
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/swagger.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
{{ warnf "%q: DEPRECATED shortcode `swagger`found, use `openapi` instead; see https://mcshelby.github.io/hugo-theme-relearn/basics/migration/#5130-2023-05-17" .context.File.Path }}
|
||||
{{- partial "shortcodes/openapi.html" (dict
|
||||
"context" .context
|
||||
"src" .src
|
||||
"id" .id
|
||||
) }}
|
17
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/tab.html
vendored
Normal file
17
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/tab.html
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
{{- $tabs := (slice | append (dict
|
||||
"color" .color
|
||||
"content" .content
|
||||
"icon" .icon
|
||||
"name" .name
|
||||
"style" .style
|
||||
"title" .title
|
||||
)) }}
|
||||
{{- partial "shortcodes/tabs.html" (dict
|
||||
"context" .context
|
||||
"color" ""
|
||||
"content" $tabs
|
||||
"groupid" ""
|
||||
"icon" ""
|
||||
"style" ""
|
||||
"title" ""
|
||||
) }}
|
83
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/tabs.html
vendored
Normal file
83
docs/themes/hugo-theme-relearn/layouts/partials/shortcodes/tabs.html
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
{{- $context := .context }}
|
||||
{{- $groupid := .groupid | default (partial "make-random-md5.hugo" $context) }}
|
||||
{{- $color := .color }}
|
||||
{{- $style := .style }}
|
||||
{{- $title := .title }}
|
||||
{{- $icon := .icon }}
|
||||
{{- $tabs := slice }}
|
||||
{{- range $tab := (.content | default slice) }}
|
||||
{{- if and (not $tab.title) $tab.name }}
|
||||
{{- warnf "%q: DEPRECATED parameter 'name' for shortcode 'tab' found, use 'title' instead; see https://mcshelby.github.io/hugo-theme-relearn/basics/migration/#5160-2023-06-08" $context.File.Path }}
|
||||
{{- $tab = merge $tab (dict "title" .name) }}
|
||||
{{- end }}
|
||||
{{- with $tab }}
|
||||
{{- $color := .color | default $color | default "" }}
|
||||
{{- $style := .style | default $style | default (cond (ne $color "") "filled" "initial") }}
|
||||
{{- $title := .title | default ($style | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon := .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- $tabs = $tabs | append (dict
|
||||
"color" $color
|
||||
"content" .content
|
||||
"icon" $icon
|
||||
"itemid" (printf "%s%s" ($title | $context.RenderString | plainify) ($icon | plainify))
|
||||
"style" $style
|
||||
"title" $title
|
||||
) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $color = .color | default "" }}
|
||||
{{- $style = .style | default (cond (ne $color "") "filled" "initial") }}
|
||||
{{- $title = .title | default ($style | T) }}
|
||||
{{- $title = trim $title " " }}
|
||||
{{- $icon = .icon | default "" }}
|
||||
{{- if and (not $icon) (eq (len $icon) 0) }}
|
||||
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
|
||||
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
|
||||
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
|
||||
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
|
||||
{{- end }}
|
||||
{{- $icon = trim $icon " " }}
|
||||
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
|
||||
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
|
||||
{{- end }}
|
||||
{{- with $context }}
|
||||
<div class="tab-panel" data-tab-group="{{ $groupid }}">
|
||||
<div class="tab-nav">
|
||||
<div class="tab-nav-title">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title | $context.RenderString }}{{ if (not $title) }}​{{ end }}</div>
|
||||
{{- range $idx, $tab := $tabs }}
|
||||
<button
|
||||
data-tab-item="{{ .itemid }}"
|
||||
class="tab-nav-button tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}
|
||||
onclick="switchTab('{{ $groupid }}','{{ .itemid }}')"
|
||||
>
|
||||
<div>
|
||||
<div class="tab-nav-hidden">{{ if .icon }}<i class="{{ .icon }}"></i>{{ end }}{{ if and .icon .title }} {{ end }}{{ .title | $context.RenderString }}{{ if (not .title) }}​{{ end }}</div>
|
||||
<div class="tab-nav-text">{{ if .icon }}<i class="{{ .icon }}"></i>{{ end }}{{ if and .icon .title }} {{ end }}{{ .title | $context.RenderString }}{{ if (not .title) }}​{{ end }}</div>
|
||||
</div>
|
||||
</button>
|
||||
{{- end }}
|
||||
</div>
|
||||
<div class="tab-content-container">
|
||||
{{- range $idx, $tab := $tabs }}
|
||||
<div
|
||||
data-tab-item="{{ .itemid }}"
|
||||
class="tab-content tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}>
|
||||
<div class="tab-content-text">
|
||||
{{ if ne "<" (substr (strings.TrimLeft " " .content) 0 1) }}<p>{{ end }}<!-- we add a DOM element here if there is none to make collapsing marings work -->
|
||||
{{ .content | safeHTML }}</div><!-- no line break allowed here because of awkward behavior of Hugo 110 or this theme when tag shortcode is called standalone outside of tags shortcode ? -->
|
||||
</div>
|
||||
{{- end }}
|
||||
</div>
|
||||
</div>
|
||||
{{- end }}
|
Reference in New Issue
Block a user