develop #3
20
main.go
20
main.go
@ -98,8 +98,26 @@ func NewServer() *Server {
|
|||||||
SonBirthDate: getEnv("SON_BIRTH_DATE", "2022-01-01"),
|
SonBirthDate: getEnv("SON_BIRTH_DATE", "2022-01-01"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Template Funcs
|
||||||
|
funcs := template.FuncMap{
|
||||||
|
"dict": func(values ...interface{}) (map[string]interface{}, error) {
|
||||||
|
if len(values)%2 != 0 {
|
||||||
|
return nil, fmt.Errorf("dict expects even number of args")
|
||||||
|
}
|
||||||
|
m := make(map[string]interface{}, len(values)/2)
|
||||||
|
for i := 0; i < len(values); i += 2 {
|
||||||
|
k, ok := values[i].(string)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("dict keys must be strings")
|
||||||
|
}
|
||||||
|
m[k] = values[i+1]
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// Parse templates with error handling
|
// Parse templates with error handling
|
||||||
templates, err := template.ParseGlob("templates/*.html")
|
templates, err := template.New("").Funcs(funcs).ParseGlob("templates/*.html")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Failed to parse templates: %v", err)
|
log.Fatalf("Failed to parse templates: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{template "benefits" .}}
|
{{template "benefits" (dict "Page" . "SectionClass" "section--light") }}
|
||||||
|
|
||||||
<section id="windows10-eol" class="section windows-eol">
|
<section id="windows10-eol" class="section windows-eol">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -322,7 +322,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{template "linux_features" .}}
|
{{template "linux_features" (dict "Page" . "SectionClass" "section--light-green") }}
|
||||||
|
|
||||||
<section class="section cta">
|
<section class="section cta">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{template "benefits" .}}
|
{{template "benefits" (dict "Page" . "SectionClass" "section--light-green") }}
|
||||||
|
|
||||||
<section class="section section--light distros">
|
<section class="section section--light distros">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -113,7 +113,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{{template "linux_features" .}}
|
{{template "linux_features" (dict "Page" . "SectionClass" "section--light-green") }}
|
||||||
|
|
||||||
<section class="section cta">
|
<section class="section cta">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
{{define "benefits"}}
|
{{define "benefits"}}
|
||||||
<section id="voordelen" class="section {{if eq .CurrentPage "linux"}}section--light-green{{else}}section--light{{end}} benefits">
|
{{/* Pass SectionClass via dict: template "benefits" (dict "Page" . "SectionClass" "section--light") */}}
|
||||||
|
{{ $sectionClass := "section--light" }}
|
||||||
|
{{ with index . "SectionClass" }}{{ $sectionClass = . }}{{ end }}
|
||||||
|
<section id="voordelen" class="section {{$sectionClass}} benefits">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2><a href="/linux">Waarom Linux kiezen?</a></h2>
|
<h2><a href="/linux">Waarom Linux kiezen?</a></h2>
|
||||||
<div class="benefits-grid">
|
<div class="benefits-grid">
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
{{define "linux_features"}}
|
{{define "linux_features"}}
|
||||||
<section class="section section--light-green linux-features">
|
{{ $sectionClass := "section--light-green" }}
|
||||||
|
{{ with index . "SectionClass" }}{{ $sectionClass = . }}{{ end }}
|
||||||
|
<section class="section {{$sectionClass}} linux-features">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2><a href="/linux">Linux in actie</a></h2>
|
<h2><a href="/linux">Linux in actie</a></h2>
|
||||||
<p class="section-subtitle">Zie hoe Linux eruitziet en werkt in de praktijk</p>
|
<p class="section-subtitle">Zie hoe Linux eruitziet en werkt in de praktijk</p>
|
||||||
|
Reference in New Issue
Block a user