diff --git a/components/blog.templ b/components/blog.templ new file mode 100644 index 0000000..d13b349 --- /dev/null +++ b/components/blog.templ @@ -0,0 +1,48 @@ +package components + +import "strings" + +type Blog struct { + Title string + Summary string + Link templ.SafeURL +} + +templ BlogSummary(entry Blog) { +
+

+ { entry.Title } +

+
+

+ { entry.Summary } +

+ +
+
+ + Read all + + +
+
+} diff --git a/config/routes.go b/config/routes.go index ced8b2a..b52f515 100644 --- a/config/routes.go +++ b/config/routes.go @@ -64,6 +64,45 @@ var mockProjects = []components.Project{ }, } +var mockBlog = []components.Blog{ + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, + { + Title: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim.", + Summary: "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint " + + "cillum sint consectetur cupidatat Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", + Link: templ.URL("/001"), + }, +} + var images = []string{ "/images/image-1.png", "/images/image-2.png", diff --git a/pages/homepage.templ b/pages/homepage.templ index 28235e5..a8693b1 100644 --- a/pages/homepage.templ +++ b/pages/homepage.templ @@ -7,6 +7,7 @@ import ( type HomepageProps struct { Projects []components.Project + Blogs []components.Blog Images []string } @@ -147,6 +148,44 @@ templ Homepage(props HomepageProps) { +
+
+
+

Blog.

+

+ + See more + + +

+
+
+ for i, blog := range props.Blogs { + if i < 2 { +
+ @components.BlogSummary(blog) +
+ } else if i < 4 { + + } + } +
+
+