Merge pull request 'feature/training-pages' (#1) from feature/training-pages into development
Reviewed-on: #1 Reviewed-by: adelin.dubois <dubois.adelin@gmail.com>
This commit was merged in pull request #1.
This commit is contained in:
0
config/_default/config.toml
Normal file
0
config/_default/config.toml
Normal file
@@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Sobre Mim"
|
title: "Sobre Mim"
|
||||||
|
params:
|
||||||
|
back_link: /#about-me
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< about-me >}}
|
{{< about-me >}}
|
||||||
|
|||||||
@@ -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, 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 >}}
|
||||||
|
|||||||
@@ -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 >}}
|
||||||
@@ -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 >}}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "About Me"
|
title: "About Me"
|
||||||
|
params:
|
||||||
|
back_link: /#about-me
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< about-me >}}
|
{{< about-me >}}
|
||||||
|
|||||||
@@ -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 >}}
|
||||||
|
|||||||
@@ -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 >}}
|
||||||
@@ -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 >}}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "About Me"
|
title: "About Me"
|
||||||
|
params:
|
||||||
|
back_link: /#about-me
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< about-me >}}
|
{{< about-me >}}
|
||||||
|
|||||||
@@ -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, l’hébergement, la restauration n’est pas inclus.
|
||||||
|
{{< /admonition >}}
|
||||||
@@ -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 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 >}}
|
||||||
@@ -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 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 >}}
|
||||||
43
hugo.toml
43
hugo.toml
@@ -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"
|
|
||||||
@@ -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>
|
|
||||||
48
layouts/_default/single.html
Normal file
48
layouts/_default/single.html
Normal 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 }} {{ $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> {{ $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 |
@@ -12,3 +12,5 @@
|
|||||||
|
|
||||||
// Custom CSS
|
// Custom CSS
|
||||||
@import "./custom.scss";
|
@import "./custom.scss";
|
||||||
|
|
||||||
|
@import "./admonition.scss";
|
||||||
|
|||||||
70
themes/tse/assets/css/admonition.scss
Normal file
70
themes/tse/assets/css/admonition.scss
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 |
@@ -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" -}}
|
||||||
6
themes/tse/layouts/_default/_markup/render-link.html
Normal file
6
themes/tse/layouts/_default/_markup/render-link.html
Normal 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 -}}
|
||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
1
themes/tse/layouts/partials/function/isUrlRemote.html
Normal file
1
themes/tse/layouts/partials/function/isUrlRemote.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{- return and (not (eq .Scheme "")) .Host -}}
|
||||||
17
themes/tse/layouts/partials/function/resource.html
Normal file
17
themes/tse/layouts/partials/function/resource.html
Normal 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 -}}
|
||||||
1
themes/tse/layouts/partials/plugin/admonitionPost.html
Normal file
1
themes/tse/layouts/partials/plugin/admonitionPost.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
</div></div></div>
|
||||||
39
themes/tse/layouts/partials/plugin/admonitionPre.html
Normal file
39
themes/tse/layouts/partials/plugin/admonitionPre.html
Normal 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">
|
||||||
9
themes/tse/layouts/partials/plugin/link.html
Normal file
9
themes/tse/layouts/partials/plugin/link.html
Normal 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>
|
||||||
6
themes/tse/layouts/shortcodes/admonition.html
Normal file
6
themes/tse/layouts/shortcodes/admonition.html
Normal 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" -}}
|
||||||
@@ -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"
|
|
||||||
Reference in New Issue
Block a user