From 0fa81ea2fa51c911e4cfacc04f4b03d9c2bff99e Mon Sep 17 00:00:00 2001 From: myfreeweb Date: Sun, 20 Feb 2011 15:31:36 +0300 Subject: [PATCH] Basic stuff works --- .gitignore | 2 ++ Gemfile | 10 +++++++++- Gemfile.lock | 19 +++++++++++++++++++ config.ru | 3 +++ data/001_Base.rb | 15 +++++++++++++++ migration.rb | 12 ------------ views/head.haml | 1 + views/header.haml | 6 ++++++ views/landing.haml | 4 ++-- views/pages.haml | 20 ++++++++++++++++++++ views/settings.haml | 12 ++++++++++++ 11 files changed, 89 insertions(+), 15 deletions(-) create mode 100644 .gitignore create mode 100644 data/001_Base.rb delete mode 100644 migration.rb create mode 100644 views/head.haml create mode 100644 views/header.haml create mode 100644 views/pages.haml create mode 100644 views/settings.haml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1411807 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.bundle +test.db \ No newline at end of file diff --git a/Gemfile b/Gemfile index f8eadfe..48bbf19 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,12 @@ source :rubygems gem 'sinatra' gem 'haml' gem 'dropbox' -gem 'sequel' \ No newline at end of file +gem 'sequel' +gem 'rack-flash' +group :development do + gem 'sqlite3-ruby' + gem 'ruby-debug' +end +group :production do + gem 'pg' +end \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 61740ea..cf03b81 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,7 @@ GEM remote: http://rubygems.org/ specs: + columnize (0.3.2) dropbox (1.2.3) json (>= 1.2.0) mechanize (>= 1.0.0) @@ -8,15 +9,28 @@ GEM oauth (>= 0.3.6) haml (3.0.25) json (1.5.1) + linecache (0.43) mechanize (1.0.0) nokogiri (>= 1.2.1) multipart-post (1.1.0) nokogiri (1.4.4) oauth (0.4.4) + pg (0.10.1) rack (1.2.1) + rack-flash (0.1.1) + rack + ruby-debug (0.10.4) + columnize (>= 0.1) + ruby-debug-base (~> 0.10.4.0) + ruby-debug-base (0.10.4) + linecache (>= 0.3) + sequel (3.20.0) sinatra (1.1.2) rack (~> 1.1) tilt (~> 1.2) + sqlite3 (1.3.3) + sqlite3-ruby (1.3.3) + sqlite3 (>= 1.3.3) tilt (1.2.2) PLATFORMS @@ -25,4 +39,9 @@ PLATFORMS DEPENDENCIES dropbox haml + pg + rack-flash + ruby-debug + sequel sinatra + sqlite3-ruby diff --git a/config.ru b/config.ru index b9f5e88..b073627 100644 --- a/config.ru +++ b/config.ru @@ -1,2 +1,5 @@ +require 'rubygems' +require 'bundler' +Bundler.require require 'app' run Sinatra::Application \ No newline at end of file diff --git a/data/001_Base.rb b/data/001_Base.rb new file mode 100644 index 0000000..2cedda5 --- /dev/null +++ b/data/001_Base.rb @@ -0,0 +1,15 @@ +require 'rubygems' +require 'sequel' + +class Base < Sequel::Migration + def up + create_table! :users do + primary_key :id + String :email + String :folder + end + end + def down + drop_table :users + end +end diff --git a/migration.rb b/migration.rb deleted file mode 100644 index 826b9a2..0000000 --- a/migration.rb +++ /dev/null @@ -1,12 +0,0 @@ -Sequel.migration do - up do - create_table(:users) do - primary_key :id - String :email - String :folder - end - end - down do - drop_table(:users) - end -end diff --git a/views/head.haml b/views/head.haml new file mode 100644 index 0000000..2cc3a88 --- /dev/null +++ b/views/head.haml @@ -0,0 +1 @@ +%meta{:charset => "utf-8"}/ \ No newline at end of file diff --git a/views/header.haml b/views/header.haml new file mode 100644 index 0000000..7297e9e --- /dev/null +++ b/views/header.haml @@ -0,0 +1,6 @@ +%header + %h1 Wikibox + = if flash[:error] + %div.error= flash[:error] + = if flash[:info] + %div.info= flash[:info] diff --git a/views/landing.haml b/views/landing.haml index 140b9fd..1d23b7d 100644 --- a/views/landing.haml +++ b/views/landing.haml @@ -1,8 +1,8 @@ !!! 5 %html{:lang => "en"} %head - %meta{:charset => "utf-8"}/ %title Wikibox + = haml :head %body %h1 Wikibox alpha - %a{:href => "/auth"} Login with Dropbox \ No newline at end of file + %a{:href => "/auth"} Login with Dropbox diff --git a/views/pages.haml b/views/pages.haml new file mode 100644 index 0000000..c67022c --- /dev/null +++ b/views/pages.haml @@ -0,0 +1,20 @@ +!!! 5 +%html{:lang => "en"} + %head + %title Wikibox + = haml :head + %body + = haml :header + %nav + %ul + = for page in @pages + %li + %a{:href => "/pages/#{page}"}= page + %article + %header + %h1= page + %a{:href => "/pages/#{@cur_page['name']}/delete"} delete + = @cur_page['text'] or "This page doesn't exist yet." + %form{:method => "post", :action => ""} + %textarea{:name => "text"}= @cur_page['text'] + %button{:type => "submit"} Save diff --git a/views/settings.haml b/views/settings.haml new file mode 100644 index 0000000..fa76368 --- /dev/null +++ b/views/settings.haml @@ -0,0 +1,12 @@ +!!! 5 +%html{:lang => "en"} + %head + %title Settings / Wikibox + = haml :head + %body + = haml :header + %h1 Settings + %form{:method => "post", :action => ""} + %label{:for => "folder"} Folder: + %input{:name => "folder", :type => "text", value => @folder} + %button{:type => "submit"} Save