37 lines
662 B
Ruby
37 lines
662 B
Ruby
# frozen_string_literal: true
|
|
require "roda"
|
|
require 'tilt'
|
|
require 'tilt/erubi'
|
|
|
|
class App < Roda
|
|
plugin :render, escape: true
|
|
plugin :route_csrf
|
|
|
|
route do |r|
|
|
check_csrf!
|
|
|
|
r.root do
|
|
@page_title = 'Homepage'
|
|
@subtitle = 'My Homepage'
|
|
# renders index.erb inside layout.erb
|
|
view :index
|
|
end
|
|
|
|
r.get 'about' do
|
|
@page_title = 'About page'
|
|
@subtitle = 'About This Site'
|
|
# renders about.erb inside layout.erb
|
|
view :index
|
|
end
|
|
|
|
r.on 'hello' do
|
|
r.get String do |name|
|
|
@name = name.capitalize
|
|
@subtitle = "Hello, #{@name}!"
|
|
view :index
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|