Compare commits

...

20 Commits

Author SHA1 Message Date
Mark Dumay
d264c9154e Merge pull request #929 from gethinode/develop
Support configurable button type for cards
2024-05-12 14:31:03 +02:00
Mark Dumay
96dacd5838 Merge branch 'main' into develop 2024-05-12 11:49:04 +02:00
Mark Dumay
5a6f58a96d Support configurable button type for cards 2024-05-12 11:48:25 +02:00
Mark Dumay
05e57ff255 Always hide toc panel on larger screens 2024-05-10 16:30:13 +02:00
Mark Dumay
cd32208639 Merge pull request #925 from gethinode/develop
Refine section menu margins
2024-05-10 16:26:23 +02:00
Mark Dumay
ecfd56f2f8 Merge branch 'main' into develop 2024-05-10 16:19:23 +02:00
Mark Dumay
4bfba0c633 Bump package release 2024-05-10 16:18:52 +02:00
Mark Dumay
02251b0b03 Refine section menu margins 2024-05-10 16:18:20 +02:00
Mark Dumay
cf486aa9c7 Merge pull request #924 from gethinode/develop
Update Netlify build environment
2024-05-10 16:04:19 +02:00
Mark Dumay
1dafc6a881 Merge branch 'main' into develop 2024-05-10 15:57:28 +02:00
Mark Dumay
4c70245e4f Update netlify build env 2024-05-10 15:55:35 +02:00
Mark Dumay
b2a79c2732 Add header 2024-05-10 15:54:57 +02:00
Mark Dumay
8ad9f92752 Merge pull request #922 from gethinode/develop
Restrict external link validation to http(s) scheme only
2024-05-10 12:52:55 +02:00
Mark Dumay
3cf45385db Merge branch 'main' into develop 2024-05-10 12:05:26 +02:00
Mark Dumay
83c697a7ae Restrict external link validation to http(s) scheme only 2024-05-10 12:04:44 +02:00
github-actions[bot]
6b62c2c701 Merge pull request #921 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.122.8
Bump hugo-bin from 0.122.7 to 0.122.8
2024-05-09 13:12:15 +00:00
dependabot[bot]
428e10bc5a Bump hugo-bin from 0.122.7 to 0.122.8
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.122.7 to 0.122.8.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.122.7...v0.122.8)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-09 13:07:57 +00:00
Mark Dumay
6deeeaf9d9 Merge pull request #920 from gethinode/develop
Fix card rounding
2024-05-08 20:00:19 +02:00
Mark Dumay
2c191482ab Merge branch 'main' into develop 2024-05-08 19:38:10 +02:00
Mark Dumay
cc934652cc Fix card rounding 2024-05-08 19:37:49 +02:00
19 changed files with 112 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
// add zoom animation with opacity change on card img hover
// source: https://stackoverflow.com/a/43816376
.card-img {
.card-img-bg {
background-color: var(--#{$prefix}secondary-bg);
}
@@ -95,3 +95,7 @@
z-index: 2;
position: relative;
}
.card-button-link {
text-decoration: underline if($enable-important-utilities, !important, null);
}

View File

@@ -103,6 +103,16 @@ arguments:
optional: true
comment: >-
Flag indicating if the number of columns should be responsive, defaults to `true`.
buttonType:
type: select
optional: true
default: button
release: v0.23.18
comment: Type of the button elements.
options:
values:
- link
- button
hook:
type: string
optional: true

View File

@@ -206,6 +206,17 @@ arguments:
release: v0.23.2
comment: >-
Label of the link button, defaults to the card title.
buttonType:
type: select
parent: cascade
optional: true
default: button
comment: Type of the button element.
release: v0.23.18
options:
values:
- link
- button
hook:
type: string
optional: true

View File

@@ -136,7 +136,7 @@ As an example, the following shortcode displays a card group of three elements.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card-group padding="3" gutter="3" */>}}
{{</* card-group padding="3" gutter="3" button=true buttonType="link" */>}}
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
Sass files.

View File

@@ -104,9 +104,10 @@
"card-body-link",
"card-body-margin",
"card-button",
"card-button-link",
"card-emphasize",
"card-icon",
"card-img",
"card-img-bg",
"card-img-top",
"card-img-wrap",
"card-text",

View File

@@ -86,11 +86,11 @@
"fixed-top",
"flex-column",
"flex-fill",
"flex-grow-1",
"footer",
"form-control",
"fs-3",
"fs-5",
"fw-30",
"fw-bold",
"hstack",
"img-fluid",
@@ -120,6 +120,7 @@
"navbar",
"navbar-brand",
"navbar-collapse",
"navbar-container",
"navbar-expand-md",
"navbar-fixed-top",
"navbar-nav",

View File

@@ -53,7 +53,10 @@
{{- $clipboard := .clipboard -}}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $isExternal := ne (urls.Parse (absURL $href)).Host (urls.Parse site.BaseURL).Host -}}
{{- $isExternal := false }}
{{ if in (slice "http" "https") ((urls.Parse (absURL $href)).Scheme) }}
{{ $isExternal = ne (urls.Parse (absURL $href)).Host (urls.Parse site.BaseURL).Host -}}
{{ end }}
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $spacing := .spacing | default true -}}
@@ -81,7 +84,7 @@
{{- with $toast }} data-toast-target="{{ $toast }}"{{ end -}}
{{- with $clipboard }} data-clipboard="{{ $clipboard }}"{{ end -}}
{{- if eq $type "button" }} class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class -}}"
role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }} class="link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }} data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }} data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
@@ -90,6 +93,7 @@
{{- range $key, $val := $attributes -}}
{{ printf " %s=\"%s\"" $key $val | safeHTMLAttr }}
{{- end -}}
role="button"
>
<div class="d-flex justify-content-{{ $justify }}">
<div class="my-auto">{{ $title | safeHTML }}</div>

View File

@@ -33,6 +33,7 @@
{{- $loading := .loading -}}
{{- $button := .button -}}
{{- $buttonLabel := .buttonLabel -}}
{{- $buttonType := .buttonType -}}
{{- $hook := .hook | default "assets/card.html" }}
<!-- Override arguments -->
@@ -137,6 +138,7 @@
"align" $align
"button" $button
"buttonLabel" $buttonLabel
"buttonType" $buttonType
) -}}
{{- $params = merge $params $element }}

View File

@@ -32,6 +32,7 @@
{{- $subtle := .subtle -}}
{{- $button := .button -}}
{{- $buttonLabel := .buttonLabel -}}
{{- $buttonType := .buttonType -}}
{{- $colorStyle := "" -}}
{{ if $color }}
{{ if $subtle }}
@@ -132,7 +133,7 @@
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
{{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img" "title" $title "loading" $loading) -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
@@ -148,7 +149,19 @@
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
{{ if $button }}
{{ $label := (or $buttonLabel $title) | default (T "readMore") }}
<div class="d-flex align-items-end">{{ partial "assets/button.html" (dict "title" $label "icon" "fas chevron-right" "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
{{ $buttonClass := "card-button mb-n4" }}
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link mb-n4" }}{{ end }}
<div class="d-flex align-items-end">
{{ partial "assets/button.html" (dict
"title" $label
"icon" "fas chevron-right"
"href" $href
"outline" true
"size" "sm"
"class" $buttonClass
"type" $buttonType
)}}
</div>
{{ end }}
</div>
</div>
@@ -158,7 +171,7 @@
<!-- Render stacked / default card -->
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img" "title" (or $alt $title) "loading" $loading) -}}
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
@@ -174,7 +187,17 @@
<div class="row p-{{ $padding }}" >
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
<div class="col d-flex align-items-end {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
{{ partial "assets/button.html" (dict "title" $label "href" $href "outline" true "size" "sm" "class" "card-button") }}
{{ $buttonClass := "card-button" }}
{{ if eq $buttonType "link" }}{{ $buttonClass = "card-button card-button-link" }}{{ end }}
{{ partial "assets/button.html" (dict
"title" $label
"href" $href
"outline" true
"size" "sm"
"class" "card-button"
"class" $buttonClass
"type" $buttonType
)}}
</div>
</div>
{{ end }}

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{- $download := partial "utilities/GetTargetPath.html" (dict "path" .download "page" page) -}}
{{- $title := .title }}
{{- $color := .color | default "primary" -}}

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{- $page := .page }}
{{- $section := .section }}
{{- if not $section }}{{ errorf "partial [assets/section-list.html] - Missing value for param 'section'" }}{{ end -}}

View File

@@ -14,6 +14,7 @@
<!-- Initialize arguments -->
{{- $page := .page -}}
{{- $breakpoint := .page.Scratch.Get "breakpoint" -}}
{{ $items := $page.Parent.Sections }}
{{ if not $page.Parent.Section }}
{{ $items = $page.Sections }}
@@ -21,7 +22,7 @@
<!-- Main code -->
{{- if and (not $error) (gt (len $items) 0) }}
<div class="d-grid gap-2 mx-auto d-md-none">
<div class="d-grid gap-2 mx-auto d-{{ $breakpoint.prev }}-none">
{{ partial "assets/button.html" (dict
"title" (T "sectionMenu")
"color" "secondary"
@@ -36,7 +37,7 @@
-}}
</div>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll d-{{ $breakpoint.prev }}-none" id="toc-collapse">
<div class="toc toc-panel section-menu text-body p-2 fs-6">
{{- range $items }}
{{ $active := eq $page.RelPermalink .RelPermalink }}
@@ -45,7 +46,9 @@
</div>
</div>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-md-block">
<div class="d-{{ $breakpoint.prev }}-none mb-5"></div>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-{{ $breakpoint.prev }}-block mb-5">
<div class="container-fluid p-0 pb-3">
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $page := .page }}
{{ $input := .input }}
{{ $args := .args }}

View File

@@ -1,3 +1,9 @@
<!--
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
-->
{{ $headings := .headings | default slice }}
{{- range .Fragments.Headings }}
{{- range .Headings }}

View File

@@ -28,6 +28,7 @@
{{- $style := .Get "style" | default "" -}}
{{- $subtle := .Get "subtle" | default false -}}
{{- $button := .Get "button" | default false -}}
{{- $buttonType := .Get "buttonType" | default "" -}}
{{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }}
@@ -56,5 +57,6 @@
"style" $style
"subtle" $subtle
"button" $button
"buttonType" $buttonType
)
-}}

View File

@@ -33,6 +33,7 @@
{{- $thumbnail := .Get "thumbnail" -}}
{{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
<!-- Override arguments -->
{{ if $path }}
@@ -70,6 +71,7 @@
"loading" $loading
"alt" $alt
"button" $button
"buttonType" $buttonType
) -}}
<!-- Pass output to parent or current stream -->

View File

@@ -4,12 +4,12 @@
command = "npm run build:example"
[build.environment]
DART_SASS_VERSION = "1.72.0"
HUGO_VERSION = "0.124.0"
DART_SASS_VERSION = "1.77.0"
HUGO_VERSION = "0.125.7"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.19.1"
NPM_VERSION = "10.2.4"
NODE_VERSION = "18.20.2"
NPM_VERSION = "10.5.0"
# toml-docs-end netlify
[[headers]]

12
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.23.14",
"version": "0.23.18",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.23.14",
"version": "0.23.18",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",
@@ -20,7 +20,7 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.7",
"hugo-bin": "0.122.8",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
@@ -4386,9 +4386,9 @@
"dev": true
},
"node_modules/hugo-bin": {
"version": "0.122.7",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.7.tgz",
"integrity": "sha512-C7FtWyDm6OgEabxCX9tMCvBFd4dA59XC9R+SMDxwEu2HvzyX13ikTi4mQmr3Gl5f90PD7PaRW02tkRMhIYFglQ==",
"version": "0.122.8",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.122.8.tgz",
"integrity": "sha512-sdTfsr6awEchbTVzxV4XiajRsKirEf2au59PiNv4SJzygewDK6CPg5kmzcnjNnjnXWROGvtkBQWzLIUrbaxIOQ==",
"dev": true,
"funding": [
{

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.23.14",
"version": "0.23.18",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -78,7 +78,7 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "0.122.7",
"hugo-bin": "0.122.8",
"markdownlint-cli2": "^0.13.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",