You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
1.1 KiB
Ruby
95 lines
1.1 KiB
Ruby
#! /usr/bin/ruby3.0
|
|
require 'sinatra'
|
|
require 'erb'
|
|
require 'date'
|
|
|
|
class Page
|
|
String @path
|
|
@date
|
|
def initialize(path, date)
|
|
@path = path
|
|
@date = date
|
|
end
|
|
def setpath(path)
|
|
@path = path
|
|
end
|
|
def setdate(date)
|
|
@date = date
|
|
end
|
|
def getpath
|
|
return @path
|
|
end
|
|
def getdate
|
|
return @date
|
|
end
|
|
end
|
|
|
|
get '/' do
|
|
erb :greetpage
|
|
end
|
|
|
|
get '/home' do
|
|
erb :homepage
|
|
end
|
|
|
|
get '/media' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/media/' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/media/*' do
|
|
erb :blogpage
|
|
end
|
|
|
|
get '/technology' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/technology/' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/technology/*' do
|
|
erb :blogpage
|
|
end
|
|
|
|
get '/news' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/news/' do
|
|
erb :folderpage
|
|
end
|
|
|
|
get '/news/*' do
|
|
erb :blogpage
|
|
end
|
|
|
|
get '/archive' do
|
|
erb :archivepage, locals: {folder: "all", searchquery: ""}
|
|
end
|
|
|
|
get '/archive/' do
|
|
erb :archivepage, locals: {folder: "all", searchquery: ""}
|
|
end
|
|
|
|
get '/archive/:folder' do
|
|
erb :archivepage, locals: {folder: params["folder"].downcase, searchquery: params["search"]}
|
|
end
|
|
|
|
get '/about' do
|
|
erb :aboutpage
|
|
end
|
|
|
|
get '/contact' do
|
|
erb :contactpage
|
|
end
|
|
|
|
not_found do
|
|
status 404
|
|
erb :oops
|
|
end
|