local Common = require("common")
local Navbar = require("components.navbar")
local Footer = require("components.footer")
local AnimatedBg = require("components.animated_bg")
local Home = require("pages.home")
local Projects = require("pages.projects")
local Games = require("pages.games")
local Contact = require("pages.contact")
local Blogpost = require("pages.blogpost")
local Blog = require("pages.blog")
local NotFound = require("not_found")
local blogposts = require("blog.posts")
math.randomseed(os.time())
local function wrap_component(component)
return
end
local function route(path)
if path == '/' then
return 200, wrap_component()
elseif path == '/projects' then
return 200, wrap_component()
elseif path == '/games' then
return 200, wrap_component()
elseif path == '/contact' then
return 200, wrap_component()
elseif path == '/blog' then
return 200, wrap_component()
elseif reluax.url_matches('/blog/{slug}', path) then
local slug = reluax.url_extract('/blog/{slug}', path).slug
-- blogposts is a list of blogposts, with the slug a property of each
local post = nil
for _, p in ipairs(blogposts) do
if p.slug == slug then
post = p
break
end
end
if post then
local article =
return 200, article
end
end
return 404, NotFound()
end
return {
name = "duckonaut.dev",
route = route
}