made page responsive + added content

This commit is contained in:
Lorenz Hohermuth 2024-05-05 21:47:04 +02:00
parent dedb185664
commit 6512ba1bef
9 changed files with 282 additions and 62 deletions

84
2 Normal file
View File

@ -0,0 +1,84 @@
package page
import "github.com/lorenzhohermuth/portfolio/view/layout"
import "github.com/lorenzhohermuth/portfolio/view/component"
templ ShowHome(arr []component.CarouselEntry, index int, events []component.Event) {
@layout.Base(){
<section class="bg-[#cdb4f6] pb-8 pt-1">
<div id="home" class="text-white py-2 pr-3 md:pr-10 pl-6 bg-[#6266ec] my-4 mr-4 rounded-r-4">
<p>
About this Website
</p>
<p>
The Purpose of this website is to try a new Stack with GO and HTMX with the goal of using a Minimal amount of Code.
And to refresh my old Portfolio to a newer State.
</p>
</div>
<div class="my-4">
@component.Banner("Stack", "", "#6266ec", "#b9f301" )
</div>
<div class="sm:flex justify-center">
<div class="px-4 sm:w-150">
<div class="grid grid-cols-3 gap-1 gap-y-2 font-sm text-sm">
<div class="col-span-2 rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
Language
</div>
<div class="rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
GO
</div>
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTMX
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Frontend Famework
</div>
<div class="col-span-2 rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
CSS Famework
</div>
<div class="rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
Uno CSS
</div>
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Templ
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTML Templating
</div>
<div class="text-white col-span-2 rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
HTTP Famework
</div>
<div class="text-white rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
Echo
</div>
</div>
</div>
</div>
</section>
<section id="projects" class="bg-[#ff5cdb] pb-7">
@component.Banner("Porjects", "󰣪", "#b9f301", "#ff5cdb")
<div class="flex justify-center items-center mt-10">
@component.Carousel(arr, index)
</div>
</section>
<section id="work" class="bg-[#fee7c5]">
@component.Banner("Work", "", "#1733d2", "#ff5cdb")
<div class="p-3 h-full">
<div class="bg-[#1733d2] rounded-8 flex justify-center items-center py-8">
@component.Timeline(events)
</div>
</div>
</section>
}
}

View File

@ -0,0 +1,73 @@
package mdparser
import (
"context"
"regexp"
"strings"
"github.com/lorenzhohermuth/portfolio/pkg/github"
"github.com/lorenzhohermuth/portfolio/view/component"
)
func GetProjects() []component.CarouselEntry {
projectsFile, ghErr := github.FetchGHFile(context.Background(), "/interactive/projects.md")
if ghErr != nil {
panic(ghErr)
}
components := make([]component.CarouselEntry, 0)
lines := strings.Split(projectsFile, "\n")
tmpTitle := ""
tmpText := ""
tmpImg := ""
for _, l := range lines {
isFilled, elm := parseMdProject(l, &tmpTitle, &tmpText, &tmpImg)
if isFilled {
components = append(components, elm)
}
}
return components
}
func getChar(text string, pos int) string {
text = strings.TrimSpace(text)
if text == "" {
return ""
}
return string([]rune(text)[pos])
}
func parseMdProject(line string, title *string, text *string, img *string) (bool, component.CarouselEntry){
char := getChar(line, 0)
if char == "" {
elm := component.CarouselEntry{
ImgPath: *img,
Title: *title,
Text: *text,
}
*img = ""
*title = ""
*text = ""
return true, elm
} else if char == "#" {
*title = strings.TrimSpace(line[1:])
} else if char == "!" {
rgx := regexp.MustCompile(`\((.*?)\)`)
mdImage := rgx.FindStringSubmatch(line)[1]
mdImage = strings.TrimSpace(mdImage)
if mdImage[:4] != "http" {
mdImage = strings.Replace(mdImage, "assets", "static", 1)
}
*img = mdImage
} else {
*text += line
}
return false, component.CarouselEntry{}
}

49
internal/mdparser/work.go Normal file
View File

@ -0,0 +1,49 @@
package mdparser
import (
"context"
"strings"
"github.com/lorenzhohermuth/portfolio/pkg/github"
"github.com/lorenzhohermuth/portfolio/view/component"
)
func GetWork() []component.Event {
projectsFile, ghErr := github.FetchGHFile(context.Background(), "/interactive/work.md")
if ghErr != nil {
panic(ghErr)
}
components := make([]component.Event, 0)
lines := strings.Split(projectsFile, "\n")
tmpTitle := ""
tmpPeriod := ""
for _, l := range lines {
isFilled, elm := parseMdWork(l, &tmpTitle, &tmpPeriod)
if isFilled {
components = append(components, elm)
}
}
return components
}
func parseMdWork(line string, title *string, periode *string) (bool, component.Event){
char := getChar(line, 0)
if char == "" {
elm := component.Event{
TimePeriode: *periode,
Title: *title,
}
*title = ""
*periode = ""
return true, elm
} else if char == "#" {
*title = strings.TrimSpace(line[1:])
} else {
*periode = line
}
return false, component.Event{}
}

View File

@ -17,7 +17,7 @@ func getEntry(arr []CarouselEntry, index int) CarouselEntry {
templ Carousel(elm []CarouselEntry , index int) {
<div id="carousel-parent">
<div class="flex items-center gap-x-13">
<div class="flex items-center gap-x-13 md:gap-x-28 lg:gap-x-52 2xl:gap-x-96 xl:text-lg">
<div class="relative z-10">
<button class="top-1/2 left-0 border-none bg-transparent p-0 absolute -translate-y-1/2 bg-black "
@ -25,13 +25,13 @@ templ Carousel(elm []CarouselEntry , index int) {
hx-trigger="click"
hx-target="#carousel-parent"
>
<img src={getEntry(elm, index - 1).ImgPath} class="h-28 w-52 rounded object-cover bg-neutral-800"/>
<img src={getEntry(elm, index - 1).ImgPath} class="h-28 w-56 md:h-40 md:w-80 xl:h-64 xl:w-156 rounded object-cover bg-neutral-800"/>
</button>
</div>
<div class="relative text-center z-20">
<img src={getEntry(elm, index).ImgPath} class="h-36 w-64 rounded object-cover bg-neutral-800"/>
<div class="bg-gradient-to-t from-black/30 absolute bottom-0 left-0 h-36 w-64 rounded"></div>
<img src={getEntry(elm, index).ImgPath} class="h-32 w-64 md:h-48 md:w-96 xl:h-82 xl:w-164 rounded object-cover bg-neutral-800"/>
<div class="bg-gradient-to-t from-black/30 absolute bottom-0 left-0 h-32 w-64 md:h-48 md:w-96 xl:h-82 xl:w-164 rounded"></div>
<p class="absolute text-neutral-300 bottom-0.5 left-5">{getEntry(elm, index).Title}</p>
</div>
@ -41,7 +41,7 @@ templ Carousel(elm []CarouselEntry , index int) {
hx-trigger="click"
hx-target="#carousel-parent"
>
<img src={getEntry(elm, index + 1).ImgPath} class="h-28 w-52 rounded object-cover bg-neutral-800"/>
<img src={getEntry(elm, index + 1).ImgPath} class="h-28 w-56 md:h-40 md:w-80 xl:h-64 xl:w-156 rounded object-cover bg-neutral-800"/>
</button>
</div>

View File

@ -38,7 +38,7 @@ func Carousel(elm []CarouselEntry, index int) templ.Component {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"carousel-parent\"><div class=\"flex items-center gap-x-13\"><div class=\"relative z-10\"><button class=\"top-1/2 left-0 border-none bg-transparent p-0 absolute -translate-y-1/2 bg-black \" hx-post=\"/carousel/previous\" hx-trigger=\"click\" hx-target=\"#carousel-parent\"><img src=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"carousel-parent\"><div class=\"flex items-center gap-x-13 md:gap-x-28 lg:gap-x-52 2xl:gap-x-96 xl:text-lg\"><div class=\"relative z-10\"><button class=\"top-1/2 left-0 border-none bg-transparent p-0 absolute -translate-y-1/2 bg-black \" hx-post=\"/carousel/previous\" hx-trigger=\"click\" hx-target=\"#carousel-parent\"><img src=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -51,7 +51,7 @@ func Carousel(elm []CarouselEntry, index int) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-28 w-52 rounded object-cover bg-neutral-800\"></button></div><div class=\"relative text-center z-20\"><img src=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-28 w-56 md:h-40 md:w-80 xl:h-64 xl:w-156 rounded object-cover bg-neutral-800\"></button></div><div class=\"relative text-center z-20\"><img src=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -64,7 +64,7 @@ func Carousel(elm []CarouselEntry, index int) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-36 w-64 rounded object-cover bg-neutral-800\"><div class=\"bg-gradient-to-t from-black/30 absolute bottom-0 left-0 h-36 w-64 rounded\"></div><p class=\"absolute text-neutral-300 bottom-0.5 left-5\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-32 w-64 md:h-48 md:w-96 xl:h-82 xl:w-164 rounded object-cover bg-neutral-800\"><div class=\"bg-gradient-to-t from-black/30 absolute bottom-0 left-0 h-32 w-64 md:h-48 md:w-96 xl:h-82 xl:w-164 rounded\"></div><p class=\"absolute text-neutral-300 bottom-0.5 left-5\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -90,7 +90,7 @@ func Carousel(elm []CarouselEntry, index int) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-28 w-52 rounded object-cover bg-neutral-800\"></button></div></div><p class=\"text-center font-thin\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"h-28 w-56 md:h-40 md:w-80 xl:h-64 xl:w-156 rounded object-cover bg-neutral-800\"></button></div></div><p class=\"text-center font-thin\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@ -22,7 +22,7 @@ templ Base() {
<div class="bg-orange-500 w-35 flex justify-center">
<img src="/static/robot.png" height="70"/>
</div>
<div class="container bg-[#3331ee]">
<div class="bg-[#3331ee] w-full">
<ul class="flex items-center justify-center h-full gap-x-4 p-0 list-none m-0">
<li><a class="no-underline text-[#ff5cdb]" href="#home">Home</a></li>
<li><a class="no-underline text-[#ff5cdb]" href="#projects">Projects</a></li>

View File

@ -23,7 +23,7 @@ func Base() templ.Component {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>Portfolio Lorenz Hohermuth</title><script src=\"https://cdn.jsdelivr.net/npm/@unocss/runtime\"></script><script src=\"https://unpkg.com/htmx.org@1.9.11\" integrity=\"sha384-0gxUXCCR8yv9FM2b+U3FDbsKthCI66oH5IA9fHppQq9DDMHuMauqq1ZHBpJxQ0J0\" crossorigin=\"anonymous\"></script></head><style>\n\t\t@font-face {\n\t\t\tfont-family: UbuntuMono;\n\t\t\tsrc: url(static/UbuntuMono/UbuntuMonoNerdFont-Bold.ttf)\n\t\t}\n\t</style><body class=\"m-0 p-0 font-black\" style=\"font-family: UbuntuMono\"><nav class=\"flex w-full pos-sticky top-0 z-30\"><div class=\"bg-orange-500 w-35 flex justify-center\"><img src=\"/static/robot.png\" height=\"70\"></div><div class=\"container bg-[#3331ee]\"><ul class=\"flex items-center justify-center h-full gap-x-4 p-0 list-none m-0\"><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#home\">Home</a></li><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#projects\">Projects</a></li><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#work\">Work</a></li></ul></div></nav><main>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!doctype html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>Portfolio Lorenz Hohermuth</title><script src=\"https://cdn.jsdelivr.net/npm/@unocss/runtime\"></script><script src=\"https://unpkg.com/htmx.org@1.9.11\" integrity=\"sha384-0gxUXCCR8yv9FM2b+U3FDbsKthCI66oH5IA9fHppQq9DDMHuMauqq1ZHBpJxQ0J0\" crossorigin=\"anonymous\"></script></head><style>\n\t\t@font-face {\n\t\t\tfont-family: UbuntuMono;\n\t\t\tsrc: url(static/UbuntuMono/UbuntuMonoNerdFont-Bold.ttf)\n\t\t}\n\t</style><body class=\"m-0 p-0 font-black\" style=\"font-family: UbuntuMono\"><nav class=\"flex w-full pos-sticky top-0 z-30\"><div class=\"bg-orange-500 w-35 flex justify-center\"><img src=\"/static/robot.png\" height=\"70\"></div><div class=\"bg-[#3331ee] w-full\"><ul class=\"flex items-center justify-center h-full gap-x-4 p-0 list-none m-0\"><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#home\">Home</a></li><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#projects\">Projects</a></li><li><a class=\"no-underline text-[#ff5cdb]\" href=\"#work\">Work</a></li></ul></div></nav><main>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@ -5,66 +5,80 @@ import "github.com/lorenzhohermuth/portfolio/view/component"
templ ShowHome(arr []component.CarouselEntry, index int, events []component.Event) {
@layout.Base(){
<section class="bg-[#cdb4f6] pb-8 pt-1">
<div id="home" class="text-white py-2 pr-3 pl-6 bg-[#6266ec] my-4 mr-4 rounded-r-4">
<p>
About this Website
</p>
<p>
The Purpose of this website is to try a new Stack with GO and HTMX with the goal of using a Minimal amount of Code.
And to refresh my old Portfolio to a newer State.
</p>
<section class="bg-[#cdb4f6] pt-1">
<div class="md:flex justify-center">
<div id="home" class="text-white py-2 pr-3 pl-6 bg-[#6266ec] my-4 mr-4 rounded-r-4 md:rounded-4 md:m-4 md:w-164">
<h2>
About this Website
</h2>
<p>
The Purpose of this website is to try a new Stack with GO and HTMX with the goal of using a Minimal amount of Code.
And to refresh my old Portfolio to a newer State.
</p>
<p>
Normally, my Portfolio is seriously out of date.
So I have written this one with the GitHub API and a small parser, which parser the Markdown Files in my Repo into the Timeline and the Carousel.
They are the files in the Interactive folder.
</p>
<a href="https://github.com/LorenzHohermuth/portfolio" class="text-[#ff5cdb]">Repo</a>
<p>
Yes, I could have written a GitHub workflow to Automatically make restart the site,
but I wanted to learn more about the go Context. (Plus Pipelines are a Pain in the Ass).
</p>
</div>
</div>
<div class="my-4">
<div>
@component.Banner("Stack", "", "#6266ec", "#b9f301" )
</div>
<div class="px-4">
<div class="grid grid-cols-3 gap-1 gap-y-2 font-sm text-sm">
<div class="col-span-2 rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
Language
</div>
<div class="rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
GO
</div>
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTMX
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Frontend Famework
</div>
<div class="sm:flex justify-center py-12">
<div class="px-4 sm:w-150">
<div class="col-span-2 rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
CSS Famework
</div>
<div class="rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
Uno CSS
</div>
<div class="grid grid-cols-3 gap-1 gap-y-2 text-sm md:text-base">
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Templ
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTML Templating
</div>
<div class="col-span-2 rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
Language
</div>
<div class="rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6">
GO
</div>
<div class="text-white col-span-2 rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
HTTP Famework
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTMX
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Frontend Famework
</div>
<div class="col-span-2 rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
CSS Famework
</div>
<div class="rounded bg-[#b9f301] flex justify-center items-center py-3 px-6">
Uno CSS
</div>
<div class="text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
Templ
</div>
<div class="text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6">
HTML Templating
</div>
<div class="text-white col-span-2 rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
HTTP Famework
</div>
<div class="text-white rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
Echo
</div>
</div>
<div class="text-white rounded bg-[#3331ee] flex justify-center items-center py-3 px-6">
Echo
</div>
</div>
</div>
</section>
<section id="projects" class="bg-[#ff5cdb] pb-7">
@component.Banner("Porjects", "󰣪", "#b9f301", "#ff5cdb")
@component.Banner("Projects", "󰣪", "#b9f301", "#ff5cdb")
<div class="flex justify-center items-center mt-10">
@component.Carousel(arr, index)
</div>
@ -73,7 +87,7 @@ templ ShowHome(arr []component.CarouselEntry, index int, events []component.Even
<section id="work" class="bg-[#fee7c5]">
@component.Banner("Work", "", "#1733d2", "#ff5cdb")
<div class="p-3 h-full">
<div class="bg-[#1733d2] rounded-8 flex justify-center items-center py-8">
<div class="bg-[#1733d2] rounded-8 flex justify-center items-center py-16 sm:p-24">
@component.Timeline(events)
</div>
</div>

View File

@ -32,7 +32,7 @@ func ShowHome(arr []component.CarouselEntry, index int, events []component.Event
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<section class=\"bg-[#cdb4f6] pb-8 pt-1\"><div id=\"home\" class=\"text-white py-2 pr-3 pl-6 bg-[#6266ec] my-4 mr-4 rounded-r-4\"><p>About this Website </p><p>The Purpose of this website is to try a new Stack with GO and HTMX with the goal of using a Minimal amount of Code. And to refresh my old Portfolio to a newer State.</p></div><div class=\"my-4\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<section class=\"bg-[#cdb4f6] pt-1\"><div class=\"md:flex justify-center\"><div id=\"home\" class=\"text-white py-2 pr-3 pl-6 bg-[#6266ec] my-4 mr-4 rounded-r-4 md:rounded-4 md:m-4 md:w-164\"><h2>About this Website </h2><p>The Purpose of this website is to try a new Stack with GO and HTMX with the goal of using a Minimal amount of Code. And to refresh my old Portfolio to a newer State.</p><p>Normally, my Portfolio is seriously out of date. So I have written this one with the GitHub API and a small parser, which parser the Markdown Files in my Repo into the Timeline and the Carousel. They are the files in the Interactive folder. </p><a href=\"https://github.com/LorenzHohermuth/portfolio\" class=\"text-[#ff5cdb]\">Repo</a><p>Yes, I could have written a GitHub workflow to Automatically make restart the site, but I wanted to learn more about the go Context. (Plus Pipelines are a Pain in the Ass).</p></div></div><div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -40,11 +40,11 @@ func ShowHome(arr []component.CarouselEntry, index int, events []component.Event
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"px-4\"><div class=\"grid grid-cols-3 gap-1 gap-y-2 font-sm text-sm\"><div class=\"col-span-2 rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6\">Language</div><div class=\"rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6\">GO</div><div class=\"text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">HTMX</div><div class=\"text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">Frontend Famework</div><div class=\"col-span-2 rounded bg-[#b9f301] flex justify-center items-center py-3 px-6\">CSS Famework</div><div class=\"rounded bg-[#b9f301] flex justify-center items-center py-3 px-6\">Uno CSS</div><div class=\"text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">Templ</div><div class=\"text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">HTML Templating</div><div class=\"text-white col-span-2 rounded bg-[#3331ee] flex justify-center items-center py-3 px-6\">HTTP Famework</div><div class=\"text-white rounded bg-[#3331ee] flex justify-center items-center py-3 px-6\">Echo</div></div></div></section><section id=\"projects\" class=\"bg-[#ff5cdb] pb-7\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div><div class=\"sm:flex justify-center py-12\"><div class=\"px-4 sm:w-150\"><div class=\"grid grid-cols-3 gap-1 gap-y-2 text-sm md:text-base\"><div class=\"col-span-2 rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6\">Language</div><div class=\"rounded bg-[#ff5cdb] flex justify-center items-center py-3 px-6\">GO</div><div class=\"text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">HTMX</div><div class=\"text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">Frontend Famework</div><div class=\"col-span-2 rounded bg-[#b9f301] flex justify-center items-center py-3 px-6\">CSS Famework</div><div class=\"rounded bg-[#b9f301] flex justify-center items-center py-3 px-6\">Uno CSS</div><div class=\"text-white rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">Templ</div><div class=\"text-white col-span-2 rounded bg-[#6266ec] flex justify-center items-center py-3 px-6\">HTML Templating</div><div class=\"text-white col-span-2 rounded bg-[#3331ee] flex justify-center items-center py-3 px-6\">HTTP Famework</div><div class=\"text-white rounded bg-[#3331ee] flex justify-center items-center py-3 px-6\">Echo</div></div></div></div></section><section id=\"projects\" class=\"bg-[#ff5cdb] pb-7\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = component.Banner("Porjects", "󰣪", "#b9f301", "#ff5cdb").Render(ctx, templ_7745c5c3_Buffer)
templ_7745c5c3_Err = component.Banner("Projects", "󰣪", "#b9f301", "#ff5cdb").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -64,7 +64,7 @@ func ShowHome(arr []component.CarouselEntry, index int, events []component.Event
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"p-3 h-full\"><div class=\"bg-[#1733d2] rounded-8 flex justify-center items-center py-8\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"p-3 h-full\"><div class=\"bg-[#1733d2] rounded-8 flex justify-center items-center py-16 sm:p-24\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}