aboutsummaryrefslogtreecommitdiff
path: root/src/indrajith-dev-crystal.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/indrajith-dev-crystal.cr')
-rw-r--r--src/indrajith-dev-crystal.cr13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/indrajith-dev-crystal.cr b/src/indrajith-dev-crystal.cr
index f5ddabd..f49f134 100644
--- a/src/indrajith-dev-crystal.cr
+++ b/src/indrajith-dev-crystal.cr
@@ -2,6 +2,8 @@ require "kemal"
require "crest"
require "json"
require "dotenv"
+require "./utils/utils"
+require "time"
Dotenv.load
@@ -13,6 +15,7 @@ module Indrajith::Dev::Crystal
macro page_renderer(filename, title)
page_title = {{title}}
+ published_at=""
render "src/views/#{{{filename}}}.ecr", "src/views/layout.ecr"
end
@@ -41,6 +44,11 @@ module Indrajith::Dev::Crystal
page_renderer "contact", "Contact"
end
+ get "/blog" do |context|
+ context.response.content_type = "text/html"
+ page_renderer "blog", "Blog"
+ end
+
get "/posts" do |context|
begin
site = Crest::Resource.new("#{STRAPI_URL}")
@@ -80,7 +88,7 @@ module Indrajith::Dev::Crystal
get "/post/:slug" do |context|
begin
slug = context.params.url["slug"]
- site = Crest::Resource.new("http://localhost:1337")
+ site = Crest::Resource.new("#{STRAPI_URL}")
response = site.get("/api/posts",
params: {
@@ -94,6 +102,9 @@ module Indrajith::Dev::Crystal
post_item = data[0]
post_attribute = post_item["attributes"]
content = post_attribute["post_content"]
+ published_raw_time = post_attribute["publishedAt"].as_s
+ published_time = Time.parse(published_raw_time, "%Y-%m-%dT%H:%M:%S.%3NZ", Time::Location.local)
+ published_at = format_date(published_time)
page_title = post_attribute["post_title"]
render "src/views/layout.ecr"
rescue ex