Compare commits

...

8 Commits

Author SHA1 Message Date
Mark Dumay
5a9191fea5 Merge pull request #939 from gethinode/develop
Bump package release
2024-05-19 12:22:30 +02:00
Mark Dumay
790b3ac3d2 Merge branch 'main' into develop 2024-05-19 12:10:45 +02:00
Mark Dumay
f298dd2979 Bump package release 2024-05-19 12:10:20 +02:00
Mark Dumay
df7a7e2d3d Merge pull request #938 from vinser/link-external-attr
Add 'external' param to link shortcut
2024-05-19 11:59:18 +02:00
vinser
e28ca112de Add 'external' param to link shortcut 2024-05-19 13:28:21 +05:00
Mark Dumay
a34dc0f4a0 Merge pull request #936 from gethinode/develop
Fix link to Hugo download
2024-05-18 05:53:54 +02:00
Mark Dumay
3eb682b0d9 Merge branch 'main' into develop 2024-05-18 05:48:17 +02:00
Mark Dumay
d824ab39dd Fix link to Hugo download 2024-05-18 05:47:52 +02:00
6 changed files with 25 additions and 7 deletions

View File

@@ -69,7 +69,7 @@ Hinode is a [Hugo theme that uses modules][hugo_modules] to install and maintain
The installation instructions in this readme install Hinode as a regular Hugo theme. Hinode requires the following software to be installed on your local machine.
- [Go binary][golang_download]
- [Hugo][nodejs] (extended version)
- [Hugo][hugo_download] (extended version)
[Git][git_download] is recommended, but is not a strict requirement.

View File

@@ -56,6 +56,12 @@ arguments:
Flag to indicate if the retrieved title (e.g. no inner text is provided)
of an internal link should use its original case. If false, the title is
set to lower case.
external:
type: bool
optional: true
default: false
comment: >-
Flag to indicate if a link that contains baseURL host should be forced as external.
class:
type: string
optional: true

View File

@@ -18,9 +18,10 @@
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $case := .case | default true }}
{{- $external := .external | default false }}
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
{{- $isExternal := ne (urls.Parse (absURL $destination)).Host (urls.Parse site.BaseURL).Host -}}
{{- $isExternal := or (ne (urls.Parse (absURL $destination)).Host (urls.Parse site.BaseURL).Host) $external -}}
{{- $page := .page -}}
{{- $anchor := "" -}}
{{- $text := .text -}}

View File

@@ -18,6 +18,7 @@
{{ $url := "" }}
{{ $class := "" }}
{{ $case := true }}
{{ $external := false }}
{{ $cue := site.Params.main.externalLinks.cue }}
{{ $tab := site.Params.main.externalLinks.tab }}
{{ $text := trim .Inner " \r\n" | .Page.RenderString | safeHTML }}
@@ -30,6 +31,7 @@
{{- $cue = .Get "cue" | default site.Params.main.externalLinks.cue -}}
{{- $tab = .Get "tab" | default site.Params.main.externalLinks.tab -}}
{{- $case = .Get "case" | default true -}}
{{- $external = .Get "external" | default false -}}
{{- $class = .Get "class" | default "" -}}
{{ else }}
{{ $href = .Get 0 }}
@@ -42,7 +44,11 @@
{{ end }}
{{- if hasPrefix $href "http" -}}
{{- if $external -}}
{{ $url = $href }}
{{- else -}}
{{ $url = strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) $href }}
{{- end -}}
{{- else if not (strings.Contains $href "/") -}}
{{ $url = index site.Params.links $href }}
{{- end -}}
@@ -65,7 +71,12 @@
{{ end }}
{{ end }}
{{- $isExternal := ne (urls.Parse (absURL $url)).Host (urls.Parse site.BaseURL).Host -}}
{{ if and $external (not (hasPrefix $url "http")) }}
{{ errorf "External link must start with 'http': %s" .Position -}}
{{ $error = true -}}
{{ end }}
{{- $isExternal := or (ne (urls.Parse (absURL $url)).Host (urls.Parse site.BaseURL).Host) $external -}}
{{- if not $isExternal -}}
{{ $ref := partial "utilities/GetPage.html" (dict "url" $url "page" .Page) }}
{{- if not $ref -}}
@@ -80,5 +91,5 @@
<!-- Main code -->
{{- if not $error -}}
{{ partial "assets/link.html" (dict "destination" $url "text" $text "cue" $cue "tab" $tab "case" $case "class" $class "page" .Page) }}
{{ partial "assets/link.html" (dict "destination" $url "text" $text "cue" $cue "tab" $tab "case" $case "external" $external "class" $class "page" .Page) }}
{{- end -}}

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.23.20",
"version": "0.23.21",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.23.20",
"version": "0.23.21",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^6.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.23.20",
"version": "0.23.21",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",