diff --git a/config/_default/config.toml b/config/_default/config.toml
new file mode 100644
index 0000000..e69de29
diff --git a/content/br/homepage/trainings.md b/content/br/homepage/trainings.md
index 136c37c..1960f70 100644
--- a/content/br/homepage/trainings.md
+++ b/content/br/homepage/trainings.md
@@ -3,10 +3,16 @@ title: "Calendário de Treinamentos"
weight: 2
header_menu: true
---
+### Próximas sessões disponíveis
+
{{< custom-table id="trainings" class="trainings" >}}
| 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 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 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) |
{{< /custom-table >}}
-*Attention, le déplacement, l’hébergement, la restauration n’est 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 >}}
diff --git a/content/br/trainings/brasil-march-massages.md b/content/br/trainings/brasil-march-massages.md
index e69de29..3c12a9b 100644
--- a/content/br/trainings/brasil-march-massages.md
+++ b/content/br/trainings/brasil-march-massages.md
@@ -0,0 +1,29 @@
+---
+title: "Massagem Esportiva em março (Brasil 🇧🇷)"
+layout: "single_training"
+---
+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 >}}
\ No newline at end of file
diff --git a/content/br/trainings/brasil-march-straping.md b/content/br/trainings/brasil-march-straping.md
index e69de29..1e7bc52 100644
--- a/content/br/trainings/brasil-march-straping.md
+++ b/content/br/trainings/brasil-march-straping.md
@@ -0,0 +1,29 @@
+---
+title: "Starpping Expert em março (Brasil 🇧🇷)"
+layout: "single_training"
+---
+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 >}}
\ No newline at end of file
diff --git a/content/en/homepage/trainings.md b/content/en/homepage/trainings.md
index 28966c2..34e9a7a 100644
--- a/content/en/homepage/trainings.md
+++ b/content/en/homepage/trainings.md
@@ -3,12 +3,16 @@ title: "Trainings Calendar"
weight: 2
header_menu: true
---
-
### Next Available Trainings
{{< custom-table id="trainings" class="trainings" >}}
| 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 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 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 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 >}}
+
+{{< admonition type="caution" >}}
+The price includes only the training costs.
+Please note that travel, accommodation, and catering are not included.
+{{< /admonition >}}
diff --git a/content/en/trainings/brasil-march-massages.md b/content/en/trainings/brasil-march-massages.md
index e69de29..c535be2 100644
--- a/content/en/trainings/brasil-march-massages.md
+++ b/content/en/trainings/brasil-march-massages.md
@@ -0,0 +1,29 @@
+---
+title: "Sport Massages in March (Brasil 🇧🇷)"
+layout: "single_training"
+---
+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 >}}
\ No newline at end of file
diff --git a/content/en/trainings/brasil-march-straping.md b/content/en/trainings/brasil-march-straping.md
index e69de29..eeeb982 100644
--- a/content/en/trainings/brasil-march-straping.md
+++ b/content/en/trainings/brasil-march-straping.md
@@ -0,0 +1,29 @@
+---
+title: "Strapping Expert in March (Brasil 🇧🇷)"
+layout: "single_training"
+---
+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 >}}
\ No newline at end of file
diff --git a/content/fr/homepage/trainings.md b/content/fr/homepage/trainings.md
index 50970cc..a95294d 100644
--- a/content/fr/homepage/trainings.md
+++ b/content/fr/homepage/trainings.md
@@ -3,10 +3,16 @@ title: "Trainings"
weight: 2
header_menu: true
---
+### Prochaines sessions disponibles
+
{{< 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 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 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 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 >}}
+{{< admonition type="caution" >}}
+Le prix comprend uniquement la prise en charge de la formation.
+Attention, le déplacement, l’hébergement, la restauration n’est pas inclus.
+{{< /admonition >}}
\ No newline at end of file
diff --git a/content/fr/trainings/brasil-march-massages.md b/content/fr/trainings/brasil-march-massages.md
index e69de29..fb4c2d3 100644
--- a/content/fr/trainings/brasil-march-massages.md
+++ b/content/fr/trainings/brasil-march-massages.md
@@ -0,0 +1,27 @@
+---
+title: "Massage du Sportif en mars (Brésil 🇧🇷)"
+layout: "single_training"
+---
+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 d’accueil
+- 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, l’hébergement, la restauration n’est pas inclus.
+{{< /admonition >}}
\ No newline at end of file
diff --git a/content/fr/trainings/brasil-march-straping.md b/content/fr/trainings/brasil-march-straping.md
index e69de29..b7062c8 100644
--- a/content/fr/trainings/brasil-march-straping.md
+++ b/content/fr/trainings/brasil-march-straping.md
@@ -0,0 +1,27 @@
+---
+title: "Strapping Expert en mars (Brésil 🇧🇷)"
+layout: "single_training"
+---
+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 d’accueil
+- 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, l’hébergement, la restauration n’est pas inclus.
+{{< /admonition >}}
\ No newline at end of file
diff --git a/hugo.toml b/hugo.toml
index 8c11f10..de8a812 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -9,6 +9,30 @@ theme = 'tse'
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]
customCSS = 'css/custom.scss'
@@ -89,21 +113,4 @@ enableEmoji = true
# [[[params.languageImg.fr]]]
# languageImg = "/images/lang-fr-100.png"
# [[[params.languageImg.pt]]]
- # 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"
+ # languageImg = "/images/lang-br-100.png"
\ No newline at end of file
diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html
deleted file mode 100644
index 374aa69..0000000
--- a/layouts/_default/_markup/render-link.html
+++ /dev/null
@@ -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 -}}
-
-{{ or .Text .Title $getpage.LinkTitle | safeHTML }}
diff --git a/layouts/_default/single_training.html b/layouts/_default/single_training.html
new file mode 100644
index 0000000..3a34217
--- /dev/null
+++ b/layouts/_default/single_training.html
@@ -0,0 +1,42 @@
+{{ define "main" }}
+
+
+ {{ $translations := .Page.AllTranslations }}
+
+ {{ $num_lang := len $translations }}
+ {{ if and (gt $num_lang 1) $.Site.Params.language_menu }}
+
+ {{ end }}
+
+
+
+
+
+ {{ .Title }}
+
+
+
+{{ end }}
\ No newline at end of file
diff --git a/static/images/board-bunch-cooking-food-349609.jpg b/static/images/board-bunch-cooking-food-349609.jpg
deleted file mode 100644
index 00fcf8a..0000000
Binary files a/static/images/board-bunch-cooking-food-349609.jpg and /dev/null differ
diff --git a/static/images/selective-focus-photography-of-pasta-with-tomato-and-basil-1279330.jpg b/static/images/selective-focus-photography-of-pasta-with-tomato-and-basil-1279330.jpg
deleted file mode 100644
index e49f5e9..0000000
Binary files a/static/images/selective-focus-photography-of-pasta-with-tomato-and-basil-1279330.jpg and /dev/null differ
diff --git a/static/images/static-happy-ethnic-woman-sitting-at-table-with-laptop-3769021.jpg b/static/images/static-happy-ethnic-woman-sitting-at-table-with-laptop-3769021.jpg
deleted file mode 100644
index 71ebeb5..0000000
Binary files a/static/images/static-happy-ethnic-woman-sitting-at-table-with-laptop-3769021.jpg and /dev/null differ
diff --git a/static/images/woman-pouring-juice-on-glass-3184192.jpg b/static/images/woman-pouring-juice-on-glass-3184192.jpg
deleted file mode 100644
index 3f881e0..0000000
Binary files a/static/images/woman-pouring-juice-on-glass-3184192.jpg and /dev/null differ
diff --git a/themes/tse/assets/css/_index.scss b/themes/tse/assets/css/_index.scss
index 2871b57..4577b70 100644
--- a/themes/tse/assets/css/_index.scss
+++ b/themes/tse/assets/css/_index.scss
@@ -12,3 +12,5 @@
// Custom CSS
@import "./custom.scss";
+
+@import "./admonition.scss";
diff --git a/themes/tse/assets/css/admonition.scss b/themes/tse/assets/css/admonition.scss
new file mode 100644
index 0000000..e7d7472
--- /dev/null
+++ b/themes/tse/assets/css/admonition.scss
@@ -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;
+ }
+}
diff --git a/themes/tse/assets/css/theme.scss b/themes/tse/assets/css/theme.scss
index fa074c2..bc57780 100644
--- a/themes/tse/assets/css/theme.scss
+++ b/themes/tse/assets/css/theme.scss
@@ -18,12 +18,16 @@ body {
vertical-align: middle;
}
+#site-page-head {
+ height: 0%;
+}
+
#site-head.withCenteredImage{
/* can't be used together with video */
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;
display: table;
width: 100%;
@@ -131,7 +135,6 @@ body {
}
}
-
#site-head-content {
// position: absolute;
diff --git a/themes/tse/assets/css/variables.scss b/themes/tse/assets/css/variables.scss
index 0dfb3c0..8e690b3 100644
--- a/themes/tse/assets/css/variables.scss
+++ b/themes/tse/assets/css/variables.scss
@@ -53,3 +53,39 @@
/* define list element for unnumbered lists, leave empty for default list element */
--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;
diff --git a/themes/tse/images/screenshot.png b/themes/tse/images/screenshot.png
deleted file mode 100644
index be4eeac..0000000
Binary files a/themes/tse/images/screenshot.png and /dev/null differ
diff --git a/themes/tse/images/tn.png b/themes/tse/images/tn.png
deleted file mode 100644
index be4eeac..0000000
Binary files a/themes/tse/images/tn.png and /dev/null differ
diff --git a/themes/tse/layouts/_default/_markup/render-blockquote-alert.html b/themes/tse/layouts/_default/_markup/render-blockquote-alert.html
new file mode 100644
index 0000000..a720bc7
--- /dev/null
+++ b/themes/tse/layouts/_default/_markup/render-blockquote-alert.html
@@ -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" -}}
\ No newline at end of file
diff --git a/themes/tse/layouts/_default/_markup/render-link.html b/themes/tse/layouts/_default/_markup/render-link.html
new file mode 100644
index 0000000..0c05396
--- /dev/null
+++ b/themes/tse/layouts/_default/_markup/render-link.html
@@ -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 -}}
diff --git a/themes/tse/layouts/_default/index.html b/themes/tse/layouts/_default/index.html
index c1215fb..b57c829 100644
--- a/themes/tse/layouts/_default/index.html
+++ b/themes/tse/layouts/_default/index.html
@@ -101,22 +101,18 @@
+
-
-
-
- {{ if .Site.Params.title_guard }}
{{ end }}
-
- {{ with .Params.header_subheadline }}
{{ . | safeHTML }}
{{ end }}
- {{ with .Params.header_subsubheadline }}{{ . | safeHTML }}
{{ end }}
-
- {{ if .Site.Params.title_guard }}{{ end }}
-
- {{ with (index $content 0) }}
- {{ $first_title := .Title }}{{ with .Params.navigation_menu_title }}{{ $first_title = . }}{{ end }}
-
- {{ end }}
-
+ {{ if .Site.Params.title_guard }}
{{ end }}
+ {{ with resources.Get .Params.header_logo }}

{{ end }}
+ {{ with .Params.header_subheadline }}
{{ . | safeHTML }}
{{ end }}
+ {{ with .Params.header_subsubheadline }}
{{ . | safeHTML }}
{{ end }}
+ {{ if .Site.Params.title_guard }}
{{ end }}
+ {{ with (index $content 0) }}
+ {{ $first_title := .Title }}{{ with .Params.navigation_menu_title }}{{ $first_title = . }}{{ end }}
+
+ {{ end }}
+
diff --git a/themes/tse/layouts/partials/function/isUrlRemote.html b/themes/tse/layouts/partials/function/isUrlRemote.html
new file mode 100644
index 0000000..40217f7
--- /dev/null
+++ b/themes/tse/layouts/partials/function/isUrlRemote.html
@@ -0,0 +1 @@
+{{- return and (not (eq .Scheme "")) .Host -}}
diff --git a/themes/tse/layouts/partials/function/resource.html b/themes/tse/layouts/partials/function/resource.html
new file mode 100644
index 0000000..ac3a2ca
--- /dev/null
+++ b/themes/tse/layouts/partials/function/resource.html
@@ -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 -}}
diff --git a/themes/tse/layouts/partials/plugin/admonitionPost.html b/themes/tse/layouts/partials/plugin/admonitionPost.html
new file mode 100644
index 0000000..2c322a4
--- /dev/null
+++ b/themes/tse/layouts/partials/plugin/admonitionPost.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/tse/layouts/partials/plugin/admonitionPre.html b/themes/tse/layouts/partials/plugin/admonitionPre.html
new file mode 100644
index 0000000..891feeb
--- /dev/null
+++ b/themes/tse/layouts/partials/plugin/admonitionPre.html
@@ -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 -}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/themes/tse/layouts/partials/plugin/link.html b/themes/tse/layouts/partials/plugin/link.html
new file mode 100644
index 0000000..8e07a6c
--- /dev/null
+++ b/themes/tse/layouts/partials/plugin/link.html
@@ -0,0 +1,9 @@
+{{- $rel := "" -}}
+
+ {{- with .Icon -}}
+ {{- partial "plugin/icon.html" . -}}
+ {{- end -}}
+ {{- with .Content -}}
+ {{- . | safeHTML -}}
+ {{- end -}}
+
\ No newline at end of file
diff --git a/themes/tse/layouts/shortcodes/admonition.html b/themes/tse/layouts/shortcodes/admonition.html
new file mode 100644
index 0000000..e21f765
--- /dev/null
+++ b/themes/tse/layouts/shortcodes/admonition.html
@@ -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" -}}
\ No newline at end of file
diff --git a/themes/tse/netlify.toml b/themes/tse/netlify.toml
deleted file mode 100644
index df0f27f..0000000
--- a/themes/tse/netlify.toml
+++ /dev/null
@@ -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"