diff --git a/layouts/partials/bootstrap/btn-link.html b/layouts/partials/bootstrap/btn-link.html index d9ca829..f64b88e 100644 --- a/layouts/partials/bootstrap/btn-link.html +++ b/layouts/partials/bootstrap/btn-link.html @@ -15,27 +15,14 @@ {{- with .Get 2 }}{{ $outline = . }}{{ end }} {{- with .Get 3 }}{{ $size = . }}{{ end }} {{- end }} -{{- $uri := urls.Parse $url }} -{{- $external := true }} -{{- if not $uri.Scheme }} - {{- $external = false }} - {{- with site.GetPage $url }} - {{- $url = .RelPermalink }} - {{- else }} - {{- if hasPrefix $url "/" }} - {{- $url = relURL $url }} - {{- else }} - {{- $url = printf "%s%s" .Page.RelPermalink $url }} - {{- end }} - {{- end }} -{{- end }} +{{- $uri := partial "bootstrap/functions/url" (dict "URL" $url "Page" .Page) }} {{- $classes := slice "btn" }} {{- $classes = $classes | append (printf (cond $outline "btn-outline-%s" "btn-%s") $style) }} {{- with $size }}{{ $classes = $classes | append (printf "btn-%s" .) }}{{ end }} {{- with $class }}{{ $classes = $classes | append . }}{{ end }} + href="{{ $uri.URL }}" + {{ if $uri.External }}target="_blank" rel="external"{{ end }}> {{- .Inner -}} diff --git a/layouts/partials/bootstrap/dropdown-divider.html b/layouts/partials/bootstrap/dropdown-divider.html new file mode 100644 index 0000000..d4abf1f --- /dev/null +++ b/layouts/partials/bootstrap/dropdown-divider.html @@ -0,0 +1 @@ +
  • diff --git a/layouts/partials/bootstrap/dropdown-item.html b/layouts/partials/bootstrap/dropdown-item.html new file mode 100644 index 0000000..d350589 --- /dev/null +++ b/layouts/partials/bootstrap/dropdown-item.html @@ -0,0 +1,18 @@ +{{- $url := "" }} +{{- $text := "" }} +{{- if .IsNamedParams }} + {{- $text = .Get "text" }} + {{- $url = .Get "url" }} +{{- else }} + {{- $text = .Get 0 }} + {{- $url = .Get 1 }} +{{- end }} +{{- $uri := partial "bootstrap/functions/url" (dict "URL" $url "Page" .Page) }} +
  • + + {{ $text }} + +
  • diff --git a/layouts/partials/bootstrap/dropdown.html b/layouts/partials/bootstrap/dropdown.html new file mode 100644 index 0000000..78db9ed --- /dev/null +++ b/layouts/partials/bootstrap/dropdown.html @@ -0,0 +1,25 @@ +{{- $name := "" }} +{{- $style := "primary" }} +{{- $size := "" }} +{{- $items := slice }} +{{- if .IsNamedParams }} + {{- $name = .Get "name" }} + {{- with .Get "style" }}{{ $style = . }}{{ end }} + {{- with .Get "size" }}{{ $size = . }}{{ end }} +{{- else }} + {{- $name = .Get 0 }} + {{- with .Get 1 }}{{ $style = . }}{{ end }} + {{- with .Get 2 }}{{ $size = . }}{{ end }} +{{- end }} + diff --git a/layouts/partials/bootstrap/functions/url.html b/layouts/partials/bootstrap/functions/url.html new file mode 100644 index 0000000..9de59b3 --- /dev/null +++ b/layouts/partials/bootstrap/functions/url.html @@ -0,0 +1,16 @@ +{{- $url := .URL }} +{{- $uri := urls.Parse $url }} +{{- $external := true }} +{{- if not $uri.Scheme }} + {{- $external = false }} + {{- with site.GetPage $url }} + {{- $url = .RelPermalink }} + {{- else }} + {{- if hasPrefix $url "/" }} + {{- $url = relURL $url }} + {{- else }} + {{- $url = printf "%s%s" .Page.RelPermalink $url }} + {{- end }} + {{- end }} +{{- end }} +{{- return (dict "External" $external "URL" $url) }} diff --git a/layouts/shortcodes/bootstrap/dropdown-divider.html b/layouts/shortcodes/bootstrap/dropdown-divider.html new file mode 100644 index 0000000..e002806 --- /dev/null +++ b/layouts/shortcodes/bootstrap/dropdown-divider.html @@ -0,0 +1 @@ +{{- partialCached "bootstrap/dropdown-divider" . }} diff --git a/layouts/shortcodes/bootstrap/dropdown-item.html b/layouts/shortcodes/bootstrap/dropdown-item.html new file mode 100644 index 0000000..5409487 --- /dev/null +++ b/layouts/shortcodes/bootstrap/dropdown-item.html @@ -0,0 +1 @@ +{{- partial "bootstrap/dropdown-item" . }} diff --git a/layouts/shortcodes/bootstrap/dropdown.html b/layouts/shortcodes/bootstrap/dropdown.html new file mode 100644 index 0000000..48b51e9 --- /dev/null +++ b/layouts/shortcodes/bootstrap/dropdown.html @@ -0,0 +1,2 @@ +{{- if .Inner }}{{ end }} +{{- partial "bootstrap/dropdown" . }} diff --git a/layouts/shortcodes/bs/dropdown-divider.html b/layouts/shortcodes/bs/dropdown-divider.html new file mode 100644 index 0000000..e002806 --- /dev/null +++ b/layouts/shortcodes/bs/dropdown-divider.html @@ -0,0 +1 @@ +{{- partialCached "bootstrap/dropdown-divider" . }} diff --git a/layouts/shortcodes/bs/dropdown-item.html b/layouts/shortcodes/bs/dropdown-item.html new file mode 100644 index 0000000..5409487 --- /dev/null +++ b/layouts/shortcodes/bs/dropdown-item.html @@ -0,0 +1 @@ +{{- partial "bootstrap/dropdown-item" . }} diff --git a/layouts/shortcodes/bs/dropdown.html b/layouts/shortcodes/bs/dropdown.html new file mode 100644 index 0000000..48b51e9 --- /dev/null +++ b/layouts/shortcodes/bs/dropdown.html @@ -0,0 +1,2 @@ +{{- if .Inner }}{{ end }} +{{- partial "bootstrap/dropdown" . }}