improvements
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,6 +1,6 @@
|
||||
templ:
|
||||
@templ generate
|
||||
run:
|
||||
@npx tailwindcss -i ./resources/global.css -o ./styles/output.css
|
||||
@npx tailwindcss -i ./resources/global.css -o ./resources/output.css
|
||||
@templ generate
|
||||
@go run ./cmd/main.go
|
||||
@@ -6,9 +6,6 @@ templ Header() {
|
||||
<a href="/" class="header-item">
|
||||
ABOUT
|
||||
</a>
|
||||
<a href="/skills" class="header-item">
|
||||
SKILLS
|
||||
</a>
|
||||
<a href="/resume" class="header-item">
|
||||
RESUME
|
||||
</a>
|
||||
|
||||
@@ -23,7 +23,7 @@ func Header() templ.Component {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<header class=\"header site-container pt-1 pb-1\"><nav class=\"header-nav\"><a href=\"/\" class=\"header-item\">ABOUT</a> <a href=\"/skills\" class=\"header-item\">SKILLS</a> <a href=\"/resume\" class=\"header-item\">RESUME</a> <a class=\"header-item\" href=\"https://medium.com/@berkay.akyazi\" target=\"_blank\">BLOG</a></nav><hr></header>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<header class=\"header site-container pt-1 pb-1\"><nav class=\"header-nav\"><a href=\"/\" class=\"header-item\">ABOUT</a> <a href=\"/resume\" class=\"header-item\">RESUME</a> <a class=\"header-item\" href=\"https://medium.com/@berkay.akyazi\" target=\"_blank\">BLOG</a></nav><hr></header>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ templ Home() {
|
||||
<div class="text-lg">
|
||||
<p class="py-6">
|
||||
<i>
|
||||
You can access the source code of this resume website by clicking <a href="https://github.com/bakyazi/nextjs-resume" target="_blank" class="text-cyan-700 text-xl">here</a>.
|
||||
You can access the source code of this resume website by clicking <a href="https://github.com/bakyazi/gotemplresume" target="_blank" class="text-cyan-700 text-xl">here</a>.
|
||||
</i>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -39,7 +39,7 @@ func Home() templ.Component {
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><div class=\"text-justify text-lg\"><h2 class=\"text-2xl pb-4\">Hi, I am <b class=\"text-cyan-700\">Berkay Akyazı</b></h2><p class=\"pb-2\">I live in <b class=\"text-cyan-700 text-xl\">Ankara, Turkey</b>. I'm a full stack developer. I am always looking for new challenges and opportunities. I am passionate about learning new technologies and are constantly trying to improve.</p><br><p class=\"pb-2\">I've been learning programming since I was a kid. When I was in elementary school, I started using <b class=\"text-cyan-700 text-xl\">HTML, CSS,</b> and <b class=\"text-cyan-700 text-xl\">JavaScript</b> a little. After I started studying, I learned about the programming languages <b class=\"text-cyan-700 text-xl\">Python</b> and <b class=\"text-cyan-700 text-xl\">C / C++</b>, and my passion for programming began. After that, I met <b class=\"text-cyan-700 text-xl\">Java</b> in a summer internship. Since then, I've been writing Java in my professional career.</p><br><p class=\"pb-2\">In recent times, I prefer Golang for software development. I am fan of its ability to facilitate rapid development, in addition to being both simple and powerful.</p><br><p class=\"pb-2\">Besides Golang and Java, I use <b class=\"text-cyan-700 text-xl\">Python, React</b> and <b class=\"text-cyan-700 text-xl\">Vue.js</b> in my professional career and everyday life. I love Python for small hands-on projects and web crawls. React is usually my first choice for front-end work. I am currently looking for go + templ + htmx tech stack and I am very passionate about it.</p></div><div class=\"mt-20\"><img src=\"resources/me.jpg\" alt=\"sorry i can't find nice pic for here\"></div><div class=\"text-lg\"><p class=\"py-6\"><i>You can access the source code of this resume website by clicking <a href=\"https://github.com/bakyazi/nextjs-resume\" target=\"_blank\" class=\"text-cyan-700 text-xl\">here</a>.</i></p></div></div></div>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><div class=\"text-justify text-lg\"><h2 class=\"text-2xl pb-4\">Hi, I am <b class=\"text-cyan-700\">Berkay Akyazı</b></h2><p class=\"pb-2\">I live in <b class=\"text-cyan-700 text-xl\">Ankara, Turkey</b>. I'm a full stack developer. I am always looking for new challenges and opportunities. I am passionate about learning new technologies and are constantly trying to improve.</p><br><p class=\"pb-2\">I've been learning programming since I was a kid. When I was in elementary school, I started using <b class=\"text-cyan-700 text-xl\">HTML, CSS,</b> and <b class=\"text-cyan-700 text-xl\">JavaScript</b> a little. After I started studying, I learned about the programming languages <b class=\"text-cyan-700 text-xl\">Python</b> and <b class=\"text-cyan-700 text-xl\">C / C++</b>, and my passion for programming began. After that, I met <b class=\"text-cyan-700 text-xl\">Java</b> in a summer internship. Since then, I've been writing Java in my professional career.</p><br><p class=\"pb-2\">In recent times, I prefer Golang for software development. I am fan of its ability to facilitate rapid development, in addition to being both simple and powerful.</p><br><p class=\"pb-2\">Besides Golang and Java, I use <b class=\"text-cyan-700 text-xl\">Python, React</b> and <b class=\"text-cyan-700 text-xl\">Vue.js</b> in my professional career and everyday life. I love Python for small hands-on projects and web crawls. React is usually my first choice for front-end work. I am currently looking for go + templ + htmx tech stack and I am very passionate about it.</p></div><div class=\"mt-20\"><img src=\"resources/me.jpg\" alt=\"sorry i can't find nice pic for here\"></div><div class=\"text-lg\"><p class=\"py-6\"><i>You can access the source code of this resume website by clicking <a href=\"https://github.com/bakyazi/gotemplresume\" target=\"_blank\" class=\"text-cyan-700 text-xl\">here</a>.</i></p></div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -10,7 +10,9 @@ templ Resume(r dto.Resume) {
|
||||
<a href="/resources/cv.pdf" target="_blank">
|
||||
<div class="flex justify-end items-center text-cyan-700 hover:bg-cyan-700 hover:bg-opacity-60 p-1.5 rounded-md hover:text-white"
|
||||
>
|
||||
<label class="cursor-pointer">Download CV</label>
|
||||
<label class="cursor-pointer">
|
||||
<i class="fa-solid fa-download"></i>
|
||||
Download CV</label>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -32,7 +32,7 @@ func Resume(r dto.Resume) templ.Component {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"site-container\"><div class=\"flex justify-end items-center space-x-4\"><a href=\"/resources/cv.pdf\" target=\"_blank\"><div class=\"flex justify-end items-center text-cyan-700 hover:bg-cyan-700 hover:bg-opacity-60 p-1.5 rounded-md hover:text-white\"><label class=\"cursor-pointer\">Download CV</label></div></a></div><div>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"site-container\"><div class=\"flex justify-end items-center space-x-4\"><a href=\"/resources/cv.pdf\" target=\"_blank\"><div class=\"flex justify-end items-center text-cyan-700 hover:bg-cyan-700 hover:bg-opacity-60 p-1.5 rounded-md hover:text-white\"><label class=\"cursor-pointer\"><i class=\"fa-solid fa-download\"></i> Download CV</label></div></a></div><div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
package pages
|
||||
|
||||
import "github.com/bakyazi/gotemplresume/dto"
|
||||
import "github.com/bakyazi/gotemplresume/pages/components"
|
||||
|
||||
templ Skills(r dto.Resume) {
|
||||
@Base(){
|
||||
<div class="site-container">
|
||||
<div class="skills-sections">
|
||||
<div class="skills-section">
|
||||
<label class="text-left text-cyan-700">Programming Languages</label>
|
||||
<div class="skills-container">
|
||||
for _, pl := range r.Skills.ProgrammingLanguages {
|
||||
<div class="rate-card">
|
||||
{pl.Name}
|
||||
@components.Rating(int(pl.Rank))
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="skills-section">
|
||||
<label class="text-left text-cyan-700">Frameworks</label>
|
||||
<div class="skills-container">
|
||||
for _, pl := range r.Skills.Frameworks {
|
||||
<div class="rate-card">
|
||||
{pl.Name}
|
||||
@components.Rating(int(pl.Rank))
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="skills-section">
|
||||
<label class="text-left text-cyan-700">Operating Systems</label>
|
||||
<div class="skills-container">
|
||||
for _, pl := range r.Skills.OperatingSystems {
|
||||
<div class="rate-card">
|
||||
{pl.Name}
|
||||
@components.Rating(int(pl.Rank))
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="skills-section">
|
||||
<label class="text-left text-cyan-700">CI/CD</label>
|
||||
<div class="skills-container">
|
||||
for _, pl := range r.Skills.CiCd {
|
||||
<div class="rate-card">
|
||||
{pl.Name}
|
||||
@components.Rating(int(pl.Rank))
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="skills-section">
|
||||
<label class="text-left text-cyan-700">Tools</label>
|
||||
<div class="skills-container">
|
||||
for _, pl := range r.Skills.Tools {
|
||||
<div class="rate-card">
|
||||
{pl.Name}
|
||||
@components.Rating(int(pl.Rank))
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
@@ -1,188 +0,0 @@
|
||||
// Code generated by templ - DO NOT EDIT.
|
||||
|
||||
// templ: version: v0.2.543
|
||||
package pages
|
||||
|
||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||
|
||||
import "github.com/a-h/templ"
|
||||
import "context"
|
||||
import "io"
|
||||
import "bytes"
|
||||
|
||||
import "github.com/bakyazi/gotemplresume/dto"
|
||||
import "github.com/bakyazi/gotemplresume/pages/components"
|
||||
|
||||
func Skills(r dto.Resume) templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var1 == nil {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
templ_7745c5c3_Var2 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"site-container\"><div class=\"skills-sections\"><div class=\"skills-section\"><label class=\"text-left text-cyan-700\">Programming Languages</label><div class=\"skills-container\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, pl := range r.Skills.ProgrammingLanguages {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"rate-card\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var3 string
|
||||
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(pl.Name)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pages/skills.templ`, Line: 14, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = components.Rating(int(pl.Rank)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"skills-section\"><label class=\"text-left text-cyan-700\">Frameworks</label><div class=\"skills-container\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, pl := range r.Skills.Frameworks {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"rate-card\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(pl.Name)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pages/skills.templ`, Line: 25, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = components.Rating(int(pl.Rank)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"skills-section\"><label class=\"text-left text-cyan-700\">Operating Systems</label><div class=\"skills-container\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, pl := range r.Skills.OperatingSystems {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"rate-card\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var5 string
|
||||
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(pl.Name)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pages/skills.templ`, Line: 36, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = components.Rating(int(pl.Rank)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"skills-section\"><label class=\"text-left text-cyan-700\">CI/CD</label><div class=\"skills-container\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, pl := range r.Skills.CiCd {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"rate-card\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var6 string
|
||||
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(pl.Name)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pages/skills.templ`, Line: 47, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = components.Rating(int(pl.Rank)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div><div class=\"skills-section\"><label class=\"text-left text-cyan-700\">Tools</label><div class=\"skills-container\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
for _, pl := range r.Skills.Tools {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"rate-card\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var7 string
|
||||
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(pl.Name)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `pages/skills.templ`, Line: 58, Col: 36}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
templ_7745c5c3_Err = components.Rating(int(pl.Rank)).Render(ctx, templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = io.Copy(templ_7745c5c3_W, templ_7745c5c3_Buffer)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
templ_7745c5c3_Err = Base().Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
BIN
resources/cv.pdf
BIN
resources/cv.pdf
Binary file not shown.
@@ -4,7 +4,7 @@
|
||||
|
||||
@layer components {
|
||||
.site-container {
|
||||
@apply max-w-2xl mx-auto px-6 font-mono py-24
|
||||
@apply max-w-4xl mx-auto px-6 font-mono py-24
|
||||
}
|
||||
|
||||
.site-3xl-container {
|
||||
@@ -69,19 +69,6 @@
|
||||
@apply mr-2
|
||||
}
|
||||
|
||||
/* Skills */
|
||||
.skills-container {
|
||||
@apply grid grid-cols-3 gap-4 place-content-end pt-4
|
||||
}
|
||||
|
||||
.rate-card {
|
||||
@apply basis-1/3 flex flex-col justify-center
|
||||
}
|
||||
|
||||
.skills-section {
|
||||
@apply pb-5
|
||||
}
|
||||
|
||||
|
||||
/* Timeline */
|
||||
.timeline {
|
||||
|
||||
@@ -547,7 +547,7 @@ video {
|
||||
.site-container {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
max-width: 42rem;
|
||||
max-width: 56rem;
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
padding-top: 6rem;
|
||||
@@ -735,27 +735,6 @@ video {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
/* Skills */
|
||||
|
||||
.skills-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
place-content: end;
|
||||
gap: 1rem;
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.rate-card {
|
||||
display: flex;
|
||||
flex-basis: 33.333333%;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.skills-section {
|
||||
padding-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
/* Timeline */
|
||||
|
||||
.timeline {
|
||||
@@ -938,10 +917,6 @@ video {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.grid {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.h-11 {
|
||||
height: 2.75rem;
|
||||
}
|
||||
@@ -958,14 +933,14 @@ video {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.max-w-2xl {
|
||||
max-width: 42rem;
|
||||
}
|
||||
|
||||
.max-w-3xl {
|
||||
max-width: 48rem;
|
||||
}
|
||||
|
||||
.max-w-4xl {
|
||||
max-width: 56rem;
|
||||
}
|
||||
|
||||
.flex-auto {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
@@ -978,18 +953,10 @@ video {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.basis-1\/3 {
|
||||
flex-basis: 33.333333%;
|
||||
}
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.grid-cols-3 {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.flex-row {
|
||||
flex-direction: row;
|
||||
}
|
||||
@@ -998,10 +965,6 @@ video {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.place-content-end {
|
||||
place-content: end;
|
||||
}
|
||||
|
||||
.items-center {
|
||||
align-items: center;
|
||||
}
|
||||
@@ -1014,10 +977,6 @@ video {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.gap-4 {
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.rounded-full {
|
||||
border-radius: 9999px;
|
||||
}
|
||||
|
||||
@@ -65,92 +65,5 @@
|
||||
"location": "Ümitköy Anatolian High School",
|
||||
"description": "There is nothing to say so much. It was an ordinary school but I have good memories there."
|
||||
}
|
||||
],
|
||||
"skills": {
|
||||
"programmingLanguages": [
|
||||
{
|
||||
"name": "Golang",
|
||||
"rank": 4.5,
|
||||
"key": "golang"
|
||||
},
|
||||
{
|
||||
"name": "Java",
|
||||
"rank": 4.5,
|
||||
"key": "java"
|
||||
},
|
||||
{
|
||||
"name": "Python",
|
||||
"rank": 4.0,
|
||||
"key": "python"
|
||||
},
|
||||
{
|
||||
"name": "JavaScript",
|
||||
"rank": 3.5,
|
||||
"key": "javascript"
|
||||
}
|
||||
],
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Spring",
|
||||
"rank": 3.5,
|
||||
"key": "spring"
|
||||
},
|
||||
{
|
||||
"name": "React",
|
||||
"rank": 3,
|
||||
"key": "react"
|
||||
},
|
||||
{
|
||||
"name": "Vue",
|
||||
"rank": 2,
|
||||
"key": "vue"
|
||||
}
|
||||
],
|
||||
"operatingSystems": [
|
||||
{
|
||||
"name": "Ubuntu",
|
||||
"rank": 4.5,
|
||||
"key": "ubuntu"
|
||||
},
|
||||
{
|
||||
"name": "CentOS",
|
||||
"rank": 4,
|
||||
"key": "centos"
|
||||
},
|
||||
{
|
||||
"name": "MacOS",
|
||||
"rank": 3.5,
|
||||
"key": "macos"
|
||||
}
|
||||
],
|
||||
"ciCd": [
|
||||
{
|
||||
"name": "Jenkins",
|
||||
"rank": 3.5,
|
||||
"key": "jenkins"
|
||||
},
|
||||
{
|
||||
"name": "TravisCI",
|
||||
"rank": 2,
|
||||
"key": "travisci"
|
||||
}
|
||||
],
|
||||
"tools": [
|
||||
{
|
||||
"name": "JIRA",
|
||||
"rank": 5,
|
||||
"key": "jira"
|
||||
},
|
||||
{
|
||||
"name": "Bitbucket",
|
||||
"rank": 5,
|
||||
"key": "bitbucket"
|
||||
},
|
||||
{
|
||||
"name": "GitHub",
|
||||
"rank": 5,
|
||||
"key": "github"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,7 +15,6 @@ func Init(e *echo.Echo) {
|
||||
router := &Router{}
|
||||
e.Static("/resources", "resources")
|
||||
e.GET("/", router.Home)
|
||||
e.GET("/skills", router.Skills)
|
||||
e.GET("/resume", router.Resume)
|
||||
}
|
||||
|
||||
@@ -23,25 +22,6 @@ func (r *Router) Home(c echo.Context) error {
|
||||
return pages.Home().Render(c.Request().Context(), c.Response().Writer)
|
||||
}
|
||||
|
||||
func (r *Router) Skills(c echo.Context) error {
|
||||
|
||||
resumeFile, err := os.Open("resources/resume.json")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer resumeFile.Close()
|
||||
|
||||
resumeDecoder := json.NewDecoder(resumeFile)
|
||||
|
||||
var resume dto.Resume
|
||||
|
||||
err = resumeDecoder.Decode(&resume)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return pages.Skills(resume).Render(c.Request().Context(), c.Response().Writer)
|
||||
}
|
||||
|
||||
func (r *Router) Resume(c echo.Context) error {
|
||||
|
||||
resumeFile, err := os.Open("resources/resume.json")
|
||||
|
||||
1364
styles/output.css
1364
styles/output.css
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user