1
0
Fork 0

some code that actually is sorta working!

master
Olivia Theze 2015-03-06 01:05:21 -05:00
parent 34742dfbac
commit 8437c5a49f
4 changed files with 59 additions and 2 deletions

4
config.yml Normal file
View File

@ -0,0 +1,4 @@
siteroot: /home/olivia/code/charbase/lib
public: public
views: views
dsn: yaml://%siteroot%/../characters.yml

6
lib/charbase.rb Normal file → Executable file
View File

@ -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!

View File

@ -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

View File

@ -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>