some code that actually is sorta working!
parent
34742dfbac
commit
8437c5a49f
|
@ -0,0 +1,4 @@
|
|||
siteroot: /home/olivia/code/charbase/lib
|
||||
public: public
|
||||
views: views
|
||||
dsn: yaml://%siteroot%/../characters.yml
|
|
@ -1,6 +1,10 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
|
||||
require 'sinatra'
|
||||
require 'sinatra/base'
|
||||
require 'liquid'
|
||||
require 'yaml'
|
||||
require 'charbase/app'
|
||||
require 'pp'
|
||||
|
||||
Charbase::App.run!
|
||||
|
|
|
@ -1,2 +1,38 @@
|
|||
module Charbase
|
||||
class App < Sinatra::Base
|
||||
class App < Sinatra::Base
|
||||
set :conf, ENV['CHARBASE_CONFIG']
|
||||
conf = YAML.load_file(settings.conf)
|
||||
set :port, conf["port"] || 4567
|
||||
set :siteroot, conf["siteroot"]
|
||||
set :public_folder, File.expand_path(conf["public"],conf["siteroot"])
|
||||
set :views, File.expand_path(conf["views"] ,conf[ "siteroot" ])
|
||||
set :dsn, conf["dsn"]
|
||||
|
||||
|
||||
|
||||
def initialize
|
||||
parseDSN()
|
||||
super
|
||||
end
|
||||
|
||||
|
||||
def parseDSN()
|
||||
(driver,path) = settings.dsn.split(/:/,2)
|
||||
if driver == "yaml"
|
||||
@characters = YAML.load_file(path.sub(/%siteroot%/,settings.siteroot))
|
||||
elsif driver == "json"
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
get "/" do
|
||||
@characters.inspect.to_s
|
||||
end
|
||||
|
||||
get "/character/:nick" do |nick|
|
||||
liquid :character, :locals => {:character => @characters["characters"].select { |n| n["nick"] == nick }.first}
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<img src="{{site.imgdir}}/{{character.avatar}}" />
|
||||
<h1>{{character.name}} - Character Sheet</h1>
|
||||
</header>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue