feature/training-pages #1
0
config/_default/config.toml
Normal file
0
config/_default/config.toml
Normal file
@@ -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 >}}
|
||||
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
@@ -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 >}}
|
||||
43
hugo.toml
43
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"
|
||||
@@ -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>
|
||||
42
layouts/_default/single_training.html
Normal file
42
layouts/_default/single_training.html
Normal file
@@ -0,0 +1,42 @@
|
||||
{{ 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 }}
|
||||
</div>
|
||||
<div id="site-menu" class="inner">
|
||||
{{ with .Site.Params.back_to_home }}
|
||||
<a class='btn site-menu' href='{{ "/#trainings-calendar" | relURL }}'><i class="fa fa-angle-left"></i> {{ . }}</a>
|
||||
{{ end }}
|
||||
</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
|
||||
@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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
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 id="site-head-content" class="inner">
|
||||
|
||||
|
||||
<div id="site-head-content" class="inner">
|
||||
|
||||
{{ if .Site.Params.title_guard }}<div class="title-and-description-guard">{{ end }}
|
||||
|
||||
{{ with .Params.header_subheadline }}<h2 class="blog-description">{{ . | safeHTML }}</h2>{{ end }}
|
||||
{{ with .Params.header_subsubheadline }}<h3 class="blog-description">{{ . | safeHTML }}</h3>{{ end }}
|
||||
|
||||
{{ if .Site.Params.title_guard }}</div>{{ end }}
|
||||
|
||||
{{ 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>
|
||||
{{ if .Site.Params.title_guard }}<div class="title-and-description-guard">{{ end }}
|
||||
{{ 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 }}
|
||||
{{ with .Params.header_subsubheadline }}<h3 class="blog-description">{{ . | safeHTML }}</h3>{{ end }}
|
||||
{{ if .Site.Params.title_guard }}</div>{{ end }}
|
||||
{{ 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>
|
||||
</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