Compare commits

...

3 Commits

Author SHA1 Message Date
55586ab475 Merge pull request 'feature/training-pages' (#1) from feature/training-pages into development
Reviewed-on: #1
Reviewed-by: adelin.dubois <dubois.adelin@gmail.com>
2025-01-25 16:23:23 +01:00
eafd8186e3 - fix single page header (style and back link)
- fix some markdown content and add parameter link if needed
2025-01-24 20:57:47 +01:00
fc87d59dbb + add training page (add admonition shortcode)
+ Finish translation
+ clean unused asset
2025-01-24 18:04:55 +01:00
37 changed files with 499 additions and 105 deletions

View File

View File

@@ -1,5 +1,7 @@
--- ---
title: "Sobre Mim" title: "Sobre Mim"
params:
back_link: /#about-me
--- ---
{{< about-me >}} {{< about-me >}}

View File

@@ -1,12 +1,19 @@
--- ---
title: "Calendário de Treinamentos" title: "Treinamentos"
#title: "Calendário de Treinamentos"
weight: 2 weight: 2
header_menu: true header_menu: true
--- ---
### Próximas sessões disponíveis
{{< custom-table id="trainings" class="trainings" >}} {{< custom-table id="trainings" class="trainings" >}}
| Temas | Datas | Local | Inscrição | | Temas | Datas | Local | Inscrição |
|-|-|-|-| |-|-|-|-|
| **3 Dias de Massagem Esportiva** | **11, 12 e 13 de março de 2025** | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)* | [Mais Informações ...](trainings/brasil-march-straping) | | **3 Dias de Massagem Esportiva** | **11, 12 e 13 de março de 2025** | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷) | [Mais Informações ...](trainings/brasil-march-massages) |
| **3 Dias de Especialização em Bandagens** | **14, 15 e 16 de março de 2025** | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)* | [Mais Informações ...](trainings/brasil-march-straping) | | **3 Dias de Especialização em Bandagens** | **14, 15 e 16 de março de 2025** | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷) | [Mais Informações ...](trainings/brasil-march-straping) |
{{< /custom-table >}} {{< /custom-table >}}
*Attention, le déplacement, lhébergement, la restauration nest pas inclus.
{{< admonition type="caution" >}}
O preço inclui apenas os custos do treinamento.
Atenção: despesas com transporte, hospedagem e alimentação não estão incluídas.
{{< /admonition >}}

View File

@@ -0,0 +1,30 @@
---
title: "Massagem Esportiva em março (Brasil 🇧🇷)"
params:
back_link: /#traisnings-calendar
---
Datas: 25, 26 e 27 de março de 2025
Localização: [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)
## Programação
Duração: 3 DIAS (24 HORAS)
Dia 1:
- 08h30 : Café da manhã de boas-vindas
- 09h00-13h00 : Técnicas
- 14h30 - 18h30 : Massagem de recuperação
Dia 2:
- 09h00 - 13h00 : Massagem pré-esforço
- 14h30 - 18h30 : Massagem nas costas/cervical
Dia 3:
- 09h00 - 13h00 : Massagem visceral
- 14h30 - 18h30 : Massagem articular
{{< admonition type="caution" >}}
O preço inclui apenas os custos do treinamento.
Atenção: despesas com transporte, hospedagem e alimentação não estão incluídas.
{{< /admonition >}}

View File

@@ -0,0 +1,30 @@
---
title: "Starpping Expert em março (Brasil 🇧🇷)"
params:
back_link: /#trainings-calendar
---
Datas: 28, 29 e 30 de março de 2025
Localização: [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)
## Programação
Duração: 3 DIAS (24 HORAS)
Dia 1:
- 08h30 : Café da manhã de boas-vindas
- 09h00 : Tornozelo
- 14h30 - 18h30 : Tornozelo/pé/bolhas
Dia 2:
- 09h00 - 13h00 : Joelho
- 14h30 - 18h30 : Joelho/coxa
Dia 3:
- 09h00 - 13h00 : Ombro/cotovelo
- 14h30 - 18h30 : Pulso/dedos
{{< admonition type="caution" >}}
O preço inclui apenas os custos do treinamento.
Atenção: despesas com transporte, hospedagem e alimentação não estão incluídas.
{{< /admonition >}}

View File

@@ -1,5 +1,7 @@
--- ---
title: "About Me" title: "About Me"
params:
back_link: /#about-me
--- ---
{{< about-me >}} {{< about-me >}}

View File

@@ -3,12 +3,16 @@ title: "Trainings Calendar"
weight: 2 weight: 2
header_menu: true header_menu: true
--- ---
### Next Available Trainings ### Next Available Trainings
{{< custom-table id="trainings" class="trainings" >}} {{< custom-table id="trainings" class="trainings" >}}
| Themes | Dates | Location | Subscription | | Themes | Dates | Location | Subscription |
|-|-|-|-| |-|-|-|-|
| 3 Days of Sport Massage | March 11th, 12th and 13th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) | [More Information ...](trainings/brasil-march-straping) | | 3 Days of Sport Massage | March 25th, 26th and 27th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷) | [More Information ...](trainings/brasil-march-massages) |
| 3 Days of Starpping Expertise | March 14th, 15th and 16th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) | [More Information ...](trainings/brasil-march-straping) | | 3 Days of Starpping Expertise | March 28th, 29th and 30th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷) | [More Information ...](trainings/brasil-march-straping) |
{{< /custom-table >}} {{< /custom-table >}}
{{< admonition type="caution" >}}
The price includes only the training costs.
Please note that travel, accommodation, and catering are not included.
{{< /admonition >}}

View File

@@ -0,0 +1,30 @@
---
title: "Sport Massages in March (Brasil 🇧🇷)"
params:
back_link: /#trainings-calendar
---
Dates: 25th, 26th and 27th March 2025
Location: [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)
### The Program
Duration: 3 Days (24 HOURS)
DAY 1:
- 8:30 a.m.: Welcome breakfast
- 9:00 a.m.-1:00 p.m.: Techniques
- 2:30 p.m.-6:30 p.m.: Recovery massage
DAY 2:
- 9:00 a.m.-1:00 p.m.: Pre-exercise massage
- 2:30 p.m.-6:30 p.m.: Back/neck massage
DAY 3:
- 9:00 a.m.-1:00 p.m.: Visceral massage
- 2:30 p.m.-6:30 p.m.: Joint massage
{{< admonition type="caution" >}}
The price includes only the training costs.
Please note that travel, accommodation, and catering are not included.
{{< /admonition >}}

View File

@@ -0,0 +1,30 @@
---
title: "Strapping Expert in March (Brasil 🇧🇷)"
params:
back_link: /#trainings-calendar
---
Dates: 28th, 29th and 30th March 2025
Location: [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brasil 🇧🇷)
### The Program
Duration: 3 Days (24 HOURS)
DAY 1:
- 8:30 a.m.: Welcome breakfast
- 9:00 a.m. - 1:00 p.m.: Ankle
- 2:30 p.m. - 6:30 p.m.: Ankle/foot/blisters
DAY 2:
- 9:00 a.m. - 1:00 p.m.: Knee
- 2:30 p.m. - 6:30 p.m.: Knee/thigh
DAY 3:
- 9:00 a.m. - 1:00 p.m.: Shoulder/elbow
- 2:30 p.m. - 6:30 p.m.: Wrist/fingers
{{< admonition type="caution" >}}
The price includes only the training costs.
Please note that travel, accommodation, and catering are not included.
{{< /admonition >}}

View File

@@ -1,5 +1,7 @@
--- ---
title: "About Me" title: "About Me"
params:
back_link: /#about-me
--- ---
{{< about-me >}} {{< about-me >}}

View File

@@ -3,10 +3,16 @@ title: "Trainings"
weight: 2 weight: 2
header_menu: true header_menu: true
--- ---
### Prochaines sessions disponibles
{{< custom-table id="trainings" class="trainings" >}} {{< custom-table id="trainings" class="trainings" >}}
| Trainings | dates | location | | | Trainings | dates | lieux | |
|-|-|-|-| |-|-|-|-|
| 3 Days of Sport Massage | March 11th, 12th and 13th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) | [more info ...](trainings/brasil-march-straping) | | 3 jours de Massage du Sportif | les 25, 26 et 27 Mars 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brésil 🇧🇷) | [plus d'infos ...](trainings/brasil-march-straping) |
| 3 Days of Starpping Expertise | March 14th, 15th and 16th 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) | [more info ...](trainings/brasil-march-straping) | | 3 jours de Starpping Expert |les 28, 29 et 30 Mars 2025 | [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brésil 🇧🇷) | [plus d'infos ...](trainings/brasil-march-straping) |
{{< /custom-table >}} {{< /custom-table >}}
{{< admonition type="caution" >}}
Le prix comprend uniquement la prise en charge de la formation.
Attention, le déplacement, lhébergement, la restauration nest pas inclus.
{{< /admonition >}}

View File

@@ -0,0 +1,28 @@
---
title: "Massage du Sportif en mars (Brésil 🇧🇷)"
params:
back_link: /#trainings-calendar
---
Dates : le 25, 26 et 27 Mars 2025
Lieu : [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brésil 🇧🇷)
### Le Programme
Durée: 3 jours (24H)
Jour 1:
- 8h30 Petit déjeuner daccueil
- 9h00-13h00 : les techniques
- 14h30-18h30 : massage récupération
Jour 2:
- 9h00-13h00 : massage pré-effort
- 14h30-18h30 : massage dos/cervicales
Jour 3:
- 9h00-13h00 : massage viscéral
- 14h30-18h30 : massage articulaire
{{< admonition type="caution" >}}
Le prix comprend uniquement la prise en charge de la formation.
Attention, le déplacement, lhébergement, la restauration nest pas inclus.
{{< /admonition >}}

View File

@@ -0,0 +1,28 @@
---
title: "Strapping Expert en mars (Brésil 🇧🇷)"
params:
back_link: /#trainings-calendar
---
Dates : le 28, 29 et 30 Mars 2025
Lieu : [Hilton Barra Rio de Janeiro](https://maps.app.goo.gl/7nVcR8N4NHm9R3PY6) (Brésil 🇧🇷)
### Le Programme
Durée: 3 jours (24H)
Jour 1:
- 8h30 Petit déjeuner daccueil
- 9h00-13h00 : cheville
- 14h30-18h30 : cheville/pied/phlyctènes
Jour 2:
- 9h00-13h00 : genou
- 14h30-18h30 : genou/cuisse
Jour 3:
- 9h00-13h00 : épaule/coude
- 14h30-18h30 : poignet/doigts
{{< admonition type="caution" >}}
Le prix comprend uniquement la prise en charge de la formation.
Attention, le déplacement, lhébergement, la restauration nest pas inclus.
{{< /admonition >}}

View File

@@ -9,6 +9,30 @@ theme = 'tse'
enableEmoji = true enableEmoji = true
# Define additional languages
[languages]
[languages.en]
weight = 10
#languageName = "English"
contentDir = "content/en"
[languages.en.params]
back_to_home = 'Back'
[languages.br]
weight = 20
contentDir = "content/br"
#languageName = "Português"
[languages.br.params]
back_to_home = 'Voltar'
[languages.fr]
weight = 30
contentDir = "content/fr"
#languageName = "Français"
[languages.fr.params]
back_to_home = 'Retour'
[params] [params]
customCSS = 'css/custom.scss' customCSS = 'css/custom.scss'
@@ -89,21 +113,4 @@ enableEmoji = true
# [[[params.languageImg.fr]]] # [[[params.languageImg.fr]]]
# languageImg = "/images/lang-fr-100.png" # languageImg = "/images/lang-fr-100.png"
# [[[params.languageImg.pt]]] # [[[params.languageImg.pt]]]
# languageImg = "/images/lang-br-100.png" # languageImg = "/images/lang-br-100.png"
# Define additional languages
[languages]
[languages.en]
weight = 10
#languageName = "English"
contentDir = "content/en"
[languages.br]
weight = 20
contentDir = "content/br"
#languageName = "Português"
[languages.fr]
weight = 30
contentDir = "content/fr"
#languageName = "Français"

View File

@@ -1,23 +0,0 @@
{{- $baseurl := urls.Parse site.BaseURL -}}
{{- $url := urls.Parse .Destination -}}
{{- $getpage := site.GetPage .Destination -}}
{{- $internal := lt (len $url.Host) 1 -}} {{/* NOTE: internal links will always have an empty $url.Host */}}
{{- $fragment := $url.Fragment -}}
{{- with $fragment -}}{{ $fragment = printf "#%s" $fragment }}{{- end -}}
{{- $destination := "" -}}
{{- if $internal -}}
{{- if (strings.HasPrefix $url.Path "./") -}}
{{/* NOTE: for links starting with ./ */}}
{{- $urltrimmed := strings.TrimPrefix "./" $url -}}
{{- $destination = printf "%s://%s/%s%s" $baseurl.Scheme $baseurl.Host $urltrimmed $fragment -}}
{{- else -}}
{{/* NOTE: for internal links */}}
{{- $destination = printf "%s%s" $getpage.RelPermalink $fragment -}}
{{- end -}}
{{- else -}}
{{- $destination = .Destination -}}
{{- end -}}
<a href="{{ $destination | safeURL }}"{{ with or .Title $getpage.LinkTitle .Text }} title="{{ . }}"{{ end }}{{ if not $internal }} rel="noopener external"{{ end }}>{{ or .Text .Title $getpage.LinkTitle | safeHTML }}</a>

View File

@@ -0,0 +1,48 @@
{{ define "main" }}
<main class="content page-template page-{{ .Slug }}">
<header id="site-page-head" >
{{ $translations := .Page.AllTranslations }}
<div id="top-banner" class="inner">
{{ $num_lang := len $translations }}
{{ if and (gt $num_lang 1) $.Site.Params.language_menu }}
<div id="site-languages" class="inner">
{{ range $translations }}
{{ $lang_title := .Lang | strings.ToUpper }}
{{ if eq .Lang $.Lang }}
{{ if $.Site.Params.show_current_lang }}
<span class='btn-lang active'>
{{ $img_lang_temp := (printf "images/lang-%s-100.png" .Lang) }}
{{ with resources.Get $img_lang_temp }}
<img id="flag-logo" alt="" src="{{ .RelPermalink }}" />{{ end }}
{{ $lang_title }}</span>
{{ end }}
{{ else }}
<a class='btn-lang' href='{{ .RelPermalink }}'>{{ $img_lang_temp := (printf "images/lang-%s-100.png" .Lang) }}
{{ with resources.Get $img_lang_temp }}
<img id="flag-logo" alt="" src="{{ .RelPermalink }}" />{{ end }}&nbsp;{{ $lang_title }}</a>
{{ end }}
{{ end }}
</div>
{{ end }}
{{ $back_to_home := .Site.Params.back_to_home }}
{{ $back_link := "/" | relLangURL}}
{{ with .Parent }}
{{ $back_link = .RelPermalink | relLangURL }}
{{ end }}
{{ with .Param "back_link" }}
{{ $back_link = . | relLangURL }}
{{ end }}
<div id="site-menu" class="inner">
<a class='btn site-menu' href='{{ $back_link }}'><i class="fa fa-angle-left"></i>&nbsp;{{ $back_to_home }}</a>
</div>
</div>
</div>
</header>
<article class="post page">
<h1 class="post-title">{{ .Title }}</h1>
<section class="post-content">
{{ .Content }}
</section>
</article>
</main>
{{ end }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -12,3 +12,5 @@
// Custom CSS // Custom CSS
@import "./custom.scss"; @import "./custom.scss";
@import "./admonition.scss";

View File

@@ -0,0 +1,70 @@
.admonition {
position: relative;
margin: 1rem 0;
padding: 0 0.75rem;
background-color: map-get($admonition-background-color-map, "note");
border-left: 0.25rem solid map-get($admonition-color-map, "note");
overflow: auto;
.admonition-title {
font-weight: bold;
margin: 0 -0.75rem;
padding: 0.25rem 1.8rem;
border-bottom: 1px solid map-get($admonition-background-color-map, "note");
background-color: opacify(
map-get($admonition-background-color-map, "note"),
0.15
);
}
&.open .admonition-title {
background-color: map-get($admonition-background-color-map, "note");
}
.admonition-content {
padding: 0.5rem 0;
}
span.icon > svg {
font-size: 0.85rem;
color: map-get($admonition-color-map, "note");
position: absolute;
top: 0.6rem;
left: 0.4rem;
}
span.details-icon > svg {
position: absolute;
top: 0.6rem;
right: 0.3rem;
}
@each $type, $color in $admonition-color-map {
&.#{$type} {
border-left-color: $color;
span.icon > svg {
color: $color;
}
}
}
@each $type, $color in $admonition-background-color-map {
&.#{$type} {
background-color: $color;
.admonition-title {
border-bottom-color: $color;
background-color: opacify($color, 0.15);
}
&.open .admonition-title {
background-color: $color;
}
}
}
&:last-child {
margin-bottom: 0.75rem;
}
}

View File

@@ -44,35 +44,35 @@ h3,h4,h5,h6 {
} }
h1 { h1 {
font-size: 5rem; font-size: 4rem;
line-height: 1.2em; line-height: 1.2em;
letter-spacing: -2px; letter-spacing: -2px;
text-indent: -3px; text-indent: -3px;
} }
h2 { h2 {
font-size: 4rem; font-size: 3rem;
line-height: 1.2em; line-height: 1.2em;
letter-spacing: -1px; letter-spacing: -1px;
text-indent: -2px; text-indent: -2px;
} }
h3 { h3 {
font-size: 3.5rem;
}
h4 {
font-size: 3rem;
}
h5 {
font-size: 2.5rem; font-size: 2.5rem;
} }
h6 { h4 {
font-size: 2rem; font-size: 2rem;
} }
h5 {
font-size: 1.5rem;
}
h6 {
font-size: 1rem;
}
p{ p{
margin: 1em 0; margin: 1em 0;
} }

View File

@@ -18,12 +18,16 @@ body {
vertical-align: middle; vertical-align: middle;
} }
#site-page-head {
height: 0% !important;
}
#site-head.withCenteredImage{ #site-head.withCenteredImage{
/* can't be used together with video */ /* can't be used together with video */
background: var(--section-light-bg-color) no-repeat center center; background: var(--section-light-bg-color) no-repeat center center;
} }
#site-head, #site-head.withCenteredImage { #site-head, #site-head.withCenteredImage, #site-page-head {
// position: relative; // position: relative;
display: table; display: table;
width: 100%; width: 100%;
@@ -131,7 +135,6 @@ body {
} }
} }
#site-head-content { #site-head-content {
// position: absolute; // position: absolute;

View File

@@ -53,3 +53,39 @@
/* define list element for unnumbered lists, leave empty for default list element */ /* define list element for unnumbered lists, leave empty for default list element */
--ul-li-icon: fa-asterisk; --ul-li-icon: fa-asterisk;
} }
// ========== Admonition ========== //
// Color map of the admonition
$admonition-color-map: (
"note": #448aff,
"abstract": #00b0ff,
"info": #00b8d4,
"tip": #00bfa5,
"success": #00c853,
"question": #64dd17,
"warning": #ff9100,
"failure": #ff5252,
"danger": #ff1744,
"bug": #f50057,
"example": #651fff,
"quote": #9e9e9e,
"important": #8957e5,
"caution": #da3633,
) !default;
// Color map of the admonition background
$admonition-background-color-map: (
"note": rgba(68, 138, 255, 0.1),
"abstract": rgba(0, 176, 255, 0.1),
"info": rgba(0, 184, 212, 0.1),
"tip": rgba(0, 191, 165, 0.1),
"success": rgba(0, 200, 83, 0.1),
"question": rgba(100, 221, 23, 0.1),
"warning": rgba(255, 145, 0, 0.1),
"failure": rgba(255, 82, 82, 0.1),
"danger": rgba(255, 23, 68, 0.1),
"bug": rgba(245, 0, 87, 0.1),
"example": rgba(101, 31, 255, 0.1),
"quote": rgba(159, 159, 159, 0.1),
"important": rgba(137, 87, 229, 0.1),
"caution": rgba(218, 54, 51, 0.1),
) !default;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

View File

@@ -0,0 +1,3 @@
{{- partial "plugin/admonitionPre.html" (dict "Type" .AlertType "Title" (.AlertTitle | default (strings.FirstUpper .AlertType)) "Open" (not (eq .AlertSign "-"))) -}}
{{- .Text -}}
{{- partial "plugin/admonitionPost.html" -}}

View File

@@ -0,0 +1,6 @@
{{- $destination := .Destination -}}
{{- with dict "Path" $destination "Resources" .Page.Resources | partial "function/resource.html" -}}
{{- $destination = .RelPermalink -}}
{{- end -}}
{{- $options := dict "Destination" $destination "Title" .Title "Content" .Text -}}
{{- partial "plugin/link.html" $options -}}

View File

@@ -101,22 +101,18 @@
</div> </div>
</div> </div>
<div id="site-head-content" class="inner">
{{ if .Site.Params.title_guard }}<div class="title-and-description-guard">{{ end }}
<div id="site-head-content" class="inner"> {{ with resources.Get .Params.header_logo }}<img id="blog-logo" alt="" src="{{ .RelPermalink }}" />{{ end }}
{{ with .Params.header_subheadline }}<h2 class="blog-description">{{ . | safeHTML }}</h2>{{ end }}
{{ if .Site.Params.title_guard }}<div class="title-and-description-guard">{{ end }} {{ with .Params.header_subsubheadline }}<h3 class="blog-description">{{ . | safeHTML }}</h3>{{ end }}
{{ if .Site.Params.title_guard }}</div>{{ end }}
{{ with .Params.header_subheadline }}<h2 class="blog-description">{{ . | safeHTML }}</h2>{{ end }} {{ with (index $content 0) }}
{{ with .Params.header_subsubheadline }}<h3 class="blog-description">{{ . | safeHTML }}</h3>{{ end }} {{ $first_title := .Title }}{{ with .Params.navigation_menu_title }}{{ $first_title = . }}{{ end }}
<a id='header-arrow' href="#{{- anchorize $first_title -}}" aria-label="Go to first section"><i class="fa fa-angle-down"></i></a>
{{ if .Site.Params.title_guard }}</div>{{ end }} {{ end }}
</div>
{{ with (index $content 0) }}
{{ $first_title := .Title }}{{ with .Params.navigation_menu_title }}{{ $first_title = . }}{{ end }}
<a id='header-arrow' href="#{{- anchorize $first_title -}}" aria-label="Go to first section"><i class="fa fa-angle-down"></i></a>
{{ end }}
</div>
</div> </div>
</header> </header>

View File

@@ -0,0 +1 @@
{{- return and (not (eq .Scheme "")) .Host -}}

View File

@@ -0,0 +1,17 @@
{{- $resource := 0 -}}
{{- $url := urls.Parse .Path -}}
{{- if not (partial "function/isUrlRemote.html" $url) -}}
{{- $dest := strings.TrimPrefix "./" $url.Path -}}
{{- if .Resources -}}
{{- with .Resources.GetMatch $dest -}}
{{- $resource = . -}}
{{- end -}}
{{- end -}}
{{- if not $resource -}}
{{- with resources.Get $dest -}}
{{- $resource = . -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- return $resource -}}

View File

@@ -0,0 +1 @@
</div></div></div>

View File

@@ -0,0 +1,39 @@
{{- $iconMap := dict "note" ("pencil-alt") -}}
{{- $iconMap = dict "abstract" ("list-ul") | merge $iconMap -}}
{{- $iconMap = dict "info" ("info-circle") | merge $iconMap -}}
{{- $iconMap = dict "tip" ("lightbulb") | merge $iconMap -}}
{{- $iconMap = dict "success" ("check-circle") | merge $iconMap -}}
{{- $iconMap = dict "question" ("question-circle") | merge $iconMap -}}
{{- $iconMap = dict "warning" ("exclamation-triangle") | merge $iconMap -}}
{{- $iconMap = dict "failure" ("times-circle") | merge $iconMap -}}
{{- $iconMap = dict "danger" ("skull-crossbones") | merge $iconMap -}}
{{- $iconMap = dict "bug" ("bug") | merge $iconMap -}}
{{- $iconMap = dict "example" ("list-ol") | merge $iconMap -}}
{{- $iconMap = dict "quote" ("quote-right") | merge $iconMap -}}
{{- $iconMap = dict "important" ("exclamation") | merge $iconMap -}}
{{- $iconMap = dict "caution" ("exclamation-circle") | merge $iconMap -}}
{{/*
This partial is used to render an admonition block.
The following parameters are available:
- Inner: The content of the admonition block.
- Type: The type of the admonition block. The default value is "note".
- Title: The title of the admonition block. The default value is the translated value of the type.
- Open: A boolean value to determine whether the admonition block is open. The default value is true.
Usage example:
{{- dict "Inner" $inner "Type" "note" "Title" "title" "Open" false | partial "plugin/admonition.html" -}}
*/}}
{{- $type := .Type | default "note" -}}
{{- $title := .Title | default (T $type) -}}
{{- $open := .Open | default true -}}
<div class="details admonition {{ $type }}{{ if $open | ne false }} open{{ end }}">
<div class="details-summary admonition-title">
<span class="icon"><i class="fa fa-{{ index $iconMap $type | default (index $iconMap "note") }}"></i>
<!--{ {- partial "plugin/fontawesome.html" (index $iconMap $type | default (index $iconMap "note")) -}}-->
</span>
</div>
<div class="details-content">
<div class="admonition-content">

View File

@@ -0,0 +1,9 @@
{{- $rel := "" -}}
<a href="{{ .Destination | safeURL }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if (urls.Parse .Destination).Host | or .Newtab }}{{ $rel = "noopener noreferrer" }} target="_blank"{{ end }} rel="{{ $rel }}{{ with .Rel }} {{ . }}{{ end }}"{{ with .Class }} class="{{ . }}"{{ end }}>
{{- with .Icon -}}
{{- partial "plugin/icon.html" . -}}
{{- end -}}
{{- with .Content -}}
{{- . | safeHTML -}}
{{- end -}}
</a>

View File

@@ -0,0 +1,6 @@
{{- $type := cond .IsNamedParams (.Get "type") (.Get 0) | default "note" -}}
{{- $title := cond .IsNamedParams (.Get "title") (.Get 1) | default (T $type) -}}
{{- $open := cond .IsNamedParams (.Get "open") (.Get 2) -}}
{{- partial "plugin/admonitionPre.html" (dict "Type" $type "Title" $title "Open" $open) -}}
{{- .Inner | .Page.RenderString -}}
{{- partial "plugin/admonitionPost.html" -}}

View File

@@ -1,26 +0,0 @@
[build]
publish = "exampleSite/public"
[build.environment]
HUGO_VERSION = "0.134.2"
HUGO_THEME = "repo"
[context.production]
command = "cd exampleSite && hugo --minify --gc --themesDir ../.. -b ${URL}"
[context.production.environment]
HUGO_ENV = "production"
[context.branch-deploy]
command = "cd exampleSite && hugo --minify --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
[context.deploy-preview]
command = "cd exampleSite && hugo --minify --gc --themesDir ../.. -b ${DEPLOY_PRIME_URL}"
[[plugins]]
package = "netlify-plugin-hugo-cache-resources"
[plugins.inputs]
# If it should show more verbose logs (optional, default = true)
debug = true
# Relative path to source directory in case you use Hugo's "--s" option
srcdir = "exampleSite"