pho-utensil 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +4 -0
- data/Rakefile +47 -0
- data/bin/utensil +7 -0
- data/lib/utensil-app.rb +159 -0
- data/public/css/blueprint/ie.css +28 -0
- data/public/css/blueprint/plugins/fancy-type/screen.css +71 -0
- data/public/css/blueprint/print.css +30 -0
- data/public/css/blueprint/screen.css +252 -0
- data/public/css/blueprint/src/forms.css +49 -0
- data/public/css/blueprint/src/grid.css +269 -0
- data/public/css/blueprint/src/grid.png +0 -0
- data/public/css/blueprint/src/ie.css +61 -0
- data/public/css/blueprint/src/print.css +85 -0
- data/public/css/blueprint/src/reset.css +38 -0
- data/public/css/blueprint/src/typography.css +105 -0
- data/public/css/impromptu.css +318 -0
- data/public/css/spared.css +99 -0
- data/public/icons/script_delete.png +0 -0
- data/public/icons/script_edit.png +0 -0
- data/public/icons/script_error.png +0 -0
- data/public/icons/script_go.png +0 -0
- data/public/img/purzen_Cartoon_spatula.png +0 -0
- data/public/js/spared-config.js +126 -0
- data/public/js/spared-examples.js +13 -0
- data/public/js/spared-prefixes.js +85 -0
- data/public/js/spared-templates.js +9 -0
- data/public/js/spared.js +190 -0
- data/public/lib/jquery-1.2.6.js +3549 -0
- data/public/lib/jquery-impromptu.1.5.js +133 -0
- data/public/lib/jquery.ui.all.js +9639 -0
- data/public/rq/list-properties-of-type.rq +9 -0
- data/public/rq/list-properties.rq +7 -0
- data/public/rq/list-types.rq +7 -0
- data/views/admin.erb +37 -0
- data/views/configure.erb +4 -0
- data/views/enrich.erb +35 -0
- data/views/explore.erb +1 -0
- data/views/index.erb +33 -0
- data/views/layout.erb +53 -0
- data/views/spared.erb +66 -0
- data/views/update.erb +28 -0
- data/views/upload.erb +35 -0
- metadata +117 -0
data/README.rdoc
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/gempackagetask'
|
3
|
+
require 'rake/rdoctask'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rake/clean'
|
6
|
+
|
7
|
+
NAME = "pho-utensil"
|
8
|
+
VER = "0.0.1"
|
9
|
+
PKG_FILES = %w( README.rdoc Rakefile ) +
|
10
|
+
Dir.glob("{bin,lib,public,views}/**/*")
|
11
|
+
|
12
|
+
CLEAN.include ['*.gem', 'pkg']
|
13
|
+
SPEC =
|
14
|
+
Gem::Specification.new do |s|
|
15
|
+
s.name = NAME
|
16
|
+
s.version = VER
|
17
|
+
s.platform = Gem::Platform::RUBY
|
18
|
+
s.required_ruby_version = ">= 1.8.5"
|
19
|
+
s.has_rdoc = true
|
20
|
+
s.extra_rdoc_files = ["README.rdoc"]
|
21
|
+
s.summary = "Talis Platform Admin Client"
|
22
|
+
s.description = s.summary
|
23
|
+
s.author = "Leigh Dodds"
|
24
|
+
s.email = 'leigh.dodds@talis.com'
|
25
|
+
s.homepage = 'http://github.com/ldodds/pho-utensil'
|
26
|
+
#s.rubyforge_project = 'pho'
|
27
|
+
s.files = PKG_FILES
|
28
|
+
s.require_path = "lib"
|
29
|
+
s.bindir = "bin"
|
30
|
+
s.executables = ["utensil"]
|
31
|
+
s.add_dependency("pho", ">= 0.7")
|
32
|
+
end
|
33
|
+
|
34
|
+
Rake::GemPackageTask.new(SPEC) do |pkg|
|
35
|
+
pkg.need_tar = true
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "Install from a locally built copy of the gem"
|
39
|
+
task :install do
|
40
|
+
sh %{rake package}
|
41
|
+
sh %{sudo gem install pkg/#{NAME}-#{VER}}
|
42
|
+
end
|
43
|
+
|
44
|
+
desc "Uninstall the gem"
|
45
|
+
task :uninstall => [:clean] do
|
46
|
+
sh %{sudo gem uninstall #{NAME}}
|
47
|
+
end
|
data/bin/utensil
ADDED
data/lib/utensil-app.rb
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'pho'
|
3
|
+
require 'sinatra/base'
|
4
|
+
|
5
|
+
class UtensilApp < Sinatra::Base
|
6
|
+
|
7
|
+
helpers do
|
8
|
+
include Rack::Utils
|
9
|
+
alias_method :h, :escape_html
|
10
|
+
end
|
11
|
+
|
12
|
+
#Configure application level options
|
13
|
+
#TODO read from YAML configuration file
|
14
|
+
configure do |app|
|
15
|
+
set :static, true
|
16
|
+
set :storename, ENV["TALIS_STORE"]
|
17
|
+
set :user, ENV["TALIS_USER"]
|
18
|
+
set :pass, ENV["TALIS_PASS"]
|
19
|
+
store = ENV["TALIS_STORE"]
|
20
|
+
if store != nil && !store.start_with?("http")
|
21
|
+
store = "http://api.talis.com/stores/#{store}"
|
22
|
+
end
|
23
|
+
set :store, Pho::Store.new( store, ENV["TALIS_USER"], ENV["TALIS_PASS"] )
|
24
|
+
|
25
|
+
set :views, File.dirname(__FILE__) + "/../views"
|
26
|
+
set :public, File.dirname(__FILE__) + "/../public"
|
27
|
+
end
|
28
|
+
|
29
|
+
get '/' do
|
30
|
+
@jobs = Pho::Jobs.read_from_store( settings.store )
|
31
|
+
@status = Pho::Status.read_from_store( settings.store )
|
32
|
+
erb :index
|
33
|
+
end
|
34
|
+
|
35
|
+
get '/query' do
|
36
|
+
erb :spared
|
37
|
+
end
|
38
|
+
|
39
|
+
get '/sparql' do
|
40
|
+
|
41
|
if /(CONSTRUCT|DESCRIBE) /i =~ params[:query]
|
42
|
+
resp = settings.store.sparql_client.query(params[:query], "application/rdf+xml")
|
43
|
+
else
|
44
|
+
resp = settings.store.sparql_client.query(params[:query], "application/json")
|
45
|
+
end
|
46
|
+
status = resp.status
|
47
|
+
resp.content
|
1
48
|
end
|
49
|
+
|
50
|
+
get '/enrich' do
|
51
|
+
erb :enrich
|
52
|
+
end
|
53
|
+
|
54
|
+
post '/enrich' do
|
55
|
+
|
56
|
+
sparql_client = Pho::Sparql::SparqlClient.new(params[:endpoint])
|
57
|
+
enricher = Pho::Enrichment::StoreEnricher.new( settings.store, sparql_client)
|
58
|
+
|
59
|
+
begin
|
60
|
+
resp = enricher.merge( params[:query] )
|
61
|
+
|
62
|
+
params[:response] = resp
|
63
|
+
if resp.status == 204
|
64
|
+
params[:success] = true
|
65
|
+
else
|
66
|
+
params[:success] = false
|
67
|
+
end
|
68
|
+
rescue Exception => e
|
69
|
+
params["error"] = e
|
70
|
+
end
|
71
|
+
|
72
|
+
erb :enrich
|
73
|
+
end
|
74
|
+
|
75
|
+
get '/explore' do
|
76
|
+
erb :explore
|
77
|
+
end
|
78
|
+
|
79
|
+
get '/upload' do
|
80
|
+
erb :upload
|
81
|
+
end
|
82
|
+
|
83
|
+
post '/upload' do
|
84
|
+
begin
|
85
|
+
resp = settings.store.store_data( params[:data], nil, params[:format] )
|
86
|
+
params[:response] = resp
|
87
|
+
if resp.status == 204
|
88
|
+
params[:success] = true
|
89
|
+
else
|
90
|
+
params[:success] = false
|
91
|
+
end
|
92
|
+
rescue Exception => e
|
93
|
+
params["error"] = e
|
94
|
+
end
|
95
|
+
erb :upload
|
96
|
+
end
|
97
|
+
|
98
|
+
get '/admin' do
|
99
|
+
|
100
|
+
@snapshot = Pho::Snapshot.read_from_store( settings.store )
|
101
|
+
#@snapshot = Pho::Snapshot.new("http://www.example.com", "", "1000", "KB", "2009-01-01")
|
102
|
+
erb :admin
|
103
|
+
end
|
104
|
+
|
105
|
+
post '/jobs' do
|
106
|
+
if params[:job] == nil
|
107
|
+
redirect "/admin"
|
108
|
+
else
|
109
|
+
jobtype = "http://schemas.talis.com/2006/bigfoot/configuration##{params[:job]}"
|
110
|
+
begin
|
111
|
+
resp = Pho::Jobs.submit_job(settings.store, jobtype, "Submitted from Pho-Utensil" )
|
112
|
+
if resp.status == 201
|
113
|
+
job_url = resp.header["Location"].first
|
114
|
+
redirect "/admin?job_url=#{job_url}", 303
|
115
|
+
end
|
116
|
+
rescue Exception => e
|
117
|
+
end
|
118
|
+
end
|
119
|
+
status 500
|
120
|
+
end
|
121
|
+
|
122
|
+
get '/configure' do
|
123
|
+
erb :configure
|
124
|
+
end
|
125
|
+
|
126
|
+
|
127
|
+
get '/update' do
|
128
|
+
@url = params[:url] || ""
|
129
|
+
if @url != ""
|
130
|
+
resp = settings.store.describe(@url)
|
131
|
+
if resp.status == 200
|
132
|
+
@description = resp.content
|
133
|
+
else
|
134
|
+
@description = ""
|
135
|
+
end
|
136
|
+
else
|
137
|
+
@description = ""
|
138
|
+
end
|
139
|
+
erb :update
|
2
140
|
end
|
141
|
+
|
142
|
+
post '/update' do
|
143
|
+
if params[:url] == nil || params[:data] == nil || params[:old_data] == nil
|
144
|
+
status 500
|
145
|
+
return "Missing parameters"
|
146
|
+
end
|
147
|
+
|
148
|
+
before = Pho::ResourceHash::Converter.parse_rdfxml( params[:old_data], params[:url] )
|
149
|
+
after = Pho::ResourceHash::Converter.parse_rdfxml( params[:data], params[:url] )
|
150
|
+
cs = Pho::Update::ChangesetBuilder.build(params[:url], before, after, "Submitted from Utensil")
|
151
|
+
|
152
|
+
begin
|
153
|
+
resp = cs.submit(settings.store)
|
154
|
+
if resp.status == 204
|
155
|
+
redirect "/update?success=true&url=#{ escape params[:url]}", 303
|
156
|
+
end
|
157
|
+
rescue Exception => e
|
158
|
+
end
|
159
|
+
status 500
|
160
|
+
"Error"
|
3
161
|
end
|
162
|
+
end
|
163
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/* -----------------------------------------------------------------------
|
2
|
+
|
3
|
+
|
4
|
+
Blueprint CSS Framework 0.8
|
5
|
+
http://blueprintcss.org
|
6
|
+
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
8
|
+
* See README for instructions on how to use Blueprint.
|
9
|
+
* For credits and origins, see AUTHORS.
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
11
|
+
|
12
|
+
----------------------------------------------------------------------- */
|
13
|
+
|
14
|
+
/* ie.css */
|
15
|
+
* html {font-size: 40%}
|
16
|
+
body {text-align:center}
|
17
|
+
.container {text-align:left;}
|
18
|
+
* html .column, * html div.span-1, * html div.span-2, * html div.span-3, * html div.span-4, * html div.span-5, * html div.span-6, * html div.span-7, * html div.span-8, * html div.span-9, * html div.span-10, * html div.span-11, * html div.span-12, * html div.span-13, * html div.span-14, * html div.span-15, * html div.span-16, * html div.span-17, * html div.span-18, * html div.span-19, * html div.span-20, * html div.span-21, * html div.span-22, * html div.span-23, * html div.span-24 {overflow-x:hidden;}
|
19
|
+
* html legend {margin:0px -8px 16px 0;padding:0;}
|
20
|
+
ol {margin-left:2em;}
|
21
|
+
sup {vertical-align:text-top;}
|
22
|
+
sub {vertical-align:text-bottom;}
|
23
|
+
html>body p code {*white-space:normal;}
|
24
|
+
hr {margin:-8px auto 11px;}
|
25
|
+
img {-ms-interpolation-mode:bicubic;}
|
26
|
+
.clearfix, .container {display:inline-block;}
|
27
|
+
* html .clearfix, * html .container {height:1%;}
|
28
|
+
fieldset {padding-top:0;}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/* --------------------------------------------------------------
|
2
|
+
|
3
|
+
fancy-type.css
|
4
|
+
* Lots of pretty advanced classes for manipulating text.
|
5
|
+
|
6
|
+
See the Readme file in this folder for additional instructions.
|
7
|
+
|
8
|
+
-------------------------------------------------------------- */
|
9
|
+
|
10
|
+
/* Indentation instead of line shifts for sibling paragraphs. */
|
11
|
+
p + p { text-indent:2em; margin-top:-1.5em; }
|
12
|
+
form p + p { text-indent: 0; } /* Don't want this in forms. */
|
13
|
+
|
14
|
+
|
15
|
+
/* For great looking type, use this code instead of asdf:
|
16
|
+
<span class="alt">asdf</span>
|
17
|
+
Best used on prepositions and ampersands. */
|
18
|
+
|
19
|
+
.alt {
|
20
|
+
color: #666;
|
21
|
+
font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif;
|
22
|
+
font-style: italic;
|
23
|
+
font-weight: normal;
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
/* For great looking quote marks in titles, replace "asdf" with:
|
28
|
+
<span class="dquo">“</span>asdf”
|
29
|
+
(That is, when the title starts with a quote mark).
|
30
|
+
(You may have to change this value depending on your font size). */
|
31
|
+
|
32
|
+
.dquo { margin-left: -.5em; }
|
33
|
+
|
34
|
+
|
35
|
+
/* Reduced size type with incremental leading
|
36
|
+
(http://www.markboulton.co.uk/journal/comments/incremental_leading/)
|
37
|
+
|
38
|
+
This could be used for side notes. For smaller type, you don't necessarily want to
|
39
|
+
follow the 1.5x vertical rhythm -- the line-height is too much.
|
40
|
+
|
41
|
+
Using this class, it reduces your font size and line-height so that for
|
42
|
+
every four lines of normal sized type, there is five lines of the sidenote. eg:
|
43
|
+
|
44
|
+
New type size in em's:
|
45
|
+
10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems)
|
46
|
+
|
47
|
+
New line-height value:
|
48
|
+
12px x 1.5 = 18px (old line-height)
|
49
|
+
18px x 4 = 72px
|
50
|
+
72px / 5 = 14.4px (new line height)
|
51
|
+
14.4px / 10px = 1.44 (new line height in em's) */
|
52
|
+
|
53
|
+
p.incr, .incr p {
|
54
|
+
font-size: 10px;
|
55
|
+
line-height: 1.44em;
|
56
|
+
margin-bottom: 1.5em;
|
57
|
+
}
|
58
|
+
|
59
|
+
|
60
|
+
/* Surround uppercase words and abbreviations with this class.
|
61
|
+
Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */
|
62
|
+
|
63
|
+
.caps {
|
64
|
+
font-variant: small-caps;
|
65
|
+
letter-spacing: 1px;
|
66
|
+
text-transform: lowercase;
|
67
|
+
font-size:1.2em;
|
68
|
+
line-height:1%;
|
69
|
+
font-weight:bold;
|
70
|
+
padding:0 2px;
|
71
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/* -----------------------------------------------------------------------
|
2
|
+
|
3
|
+
|
4
|
+
Blueprint CSS Framework 0.8
|
5
|
+
http://blueprintcss.org
|
6
|
+
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
8
|
+
* See README for instructions on how to use Blueprint.
|
9
|
+
* For credits and origins, see AUTHORS.
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
11
|
+
|
12
|
+
----------------------------------------------------------------------- */
|
13
|
+
|
14
|
+
/* print.css */
|
15
|
+
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
16
|
+
.container {background:none;}
|
17
|
+
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
18
|
+
hr.space {background:#fff;color:#fff;}
|
19
|
+
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
20
|
+
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
21
|
+
img {float:left;margin:1.5em 1.5em 1.5em 0;}
|
22
|
+
a img {border:none;}
|
23
|
+
p img.top {margin-top:0;}
|
24
|
+
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
25
|
+
.small {font-size:.9em;}
|
26
|
+
.large {font-size:1.1em;}
|
27
|
+
.quiet {color:#999;}
|
28
|
+
.hide {display:none;}
|
29
|
+
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
30
|
+
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|
@@ -0,0 +1,252 @@
|
|
1
|
+
/* -----------------------------------------------------------------------
|
2
|
+
|
3
|
+
|
4
|
+
Blueprint CSS Framework 0.8
|
5
|
+
http://blueprintcss.org
|
6
|
+
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
8
|
+
* See README for instructions on how to use Blueprint.
|
9
|
+
* For credits and origins, see AUTHORS.
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
11
|
+
|
12
|
+
----------------------------------------------------------------------- */
|
13
|
+
|
14
|
+
/* reset.css */
|
15
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
|
16
|
+
body {line-height:1.5;}
|
17
|
+
table {border-collapse:separate;border-spacing:0;}
|
18
|
+
caption, th, td {text-align:left;font-weight:normal;}
|
19
|
+
table, td, th {vertical-align:middle;}
|
20
|
+
blockquote:before, blockquote:after, q:before, q:after {content:"";}
|
21
|
+
blockquote, q {quotes:"" "";}
|
22
|
+
a img {border:none;}
|
23
|
+
|
24
|
+
/* typography.css */
|
25
|
+
body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
|
26
|
+
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
|
27
|
+
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
|
28
|
+
h2 {font-size:2em;margin-bottom:0.75em;}
|
29
|
+
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
|
30
|
+
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
|
31
|
+
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
|
32
|
+
h6 {font-size:1em;font-weight:bold;}
|
33
|
+
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
|
34
|
+
p {margin:0 0 1.5em;}
|
35
|
+
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
|
36
|
+
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
|
37
|
+
a:focus, a:hover {color:#000;}
|
38
|
+
a {color:#009;text-decoration:underline;}
|
39
|
+
blockquote {margin:1.5em;color:#666;font-style:italic;}
|
40
|
+
strong {font-weight:bold;}
|
41
|
+
em, dfn {font-style:italic;}
|
42
|
+
dfn {font-weight:bold;}
|
43
|
+
sup, sub {line-height:0;}
|
44
|
+
abbr, acronym {border-bottom:1px dotted #666;}
|
45
|
+
address {margin:0 0 1.5em;font-style:italic;}
|
46
|
+
del {color:#666;}
|
47
|
+
pre {margin:1.5em 0;white-space:pre;}
|
48
|
+
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
|
49
|
+
li ul, li ol {margin:0 1.5em;}
|
50
|
+
ul, ol {margin:0 1.5em 1.5em 1.5em;}
|
51
|
+
ul {list-style-type:disc;}
|
52
|
+
ol {list-style-type:decimal;}
|
53
|
+
dl {margin:0 0 1.5em 0;}
|
54
|
+
dl dt {font-weight:bold;}
|
55
|
+
dd {margin-left:1.5em;}
|
56
|
+
table {margin-bottom:1.4em;width:100%;}
|
57
|
+
th {font-weight:bold;}
|
58
|
+
thead th {background:#c3d9ff;}
|
59
|
+
th, td, caption {padding:4px 10px 4px 5px;}
|
60
|
+
tr.even td {background:#e5ecf9;}
|
61
|
+
tfoot {font-style:italic;}
|
62
|
+
caption {background:#eee;}
|
63
|
+
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
|
64
|
+
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
|
65
|
+
.hide {display:none;}
|
66
|
+
.quiet {color:#666;}
|
67
|
+
.loud {color:#000;}
|
68
|
+
.highlight {background:#ff0;}
|
69
|
+
.added {background:#060;color:#fff;}
|
70
|
+
.removed {background:#900;color:#fff;}
|
71
|
+
.first {margin-left:0;padding-left:0;}
|
72
|
+
.last {margin-right:0;padding-right:0;}
|
73
|
+
.top {margin-top:0;padding-top:0;}
|
74
|
+
.bottom {margin-bottom:0;padding-bottom:0;}
|
75
|
+
|
76
|
+
/* forms.css */
|
77
|
+
label {font-weight:bold;}
|
78
|
+
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
|
79
|
+
legend {font-weight:bold;font-size:1.2em;}
|
80
|
+
input.text, input.title, textarea, select {margin:0.5em 0;border:1px solid #bbb;}
|
81
|
+
input.text:focus, input.title:focus, textarea:focus, select:focus {border:1px solid #666;}
|
82
|
+
input.text, input.title {width:300px;padding:5px;}
|
83
|
+
input.title {font-size:1.5em;}
|
84
|
+
textarea {width:390px;height:250px;padding:5px;}
|
85
|
+
.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
|
86
|
+
.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
|
87
|
+
.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
|
88
|
+
.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
|
89
|
+
.error a {color:#8a1f11;}
|
90
|
+
.notice a {color:#514721;}
|
91
|
+
.success a {color:#264409;}
|
92
|
+
|
93
|
+
/* grid.css */
|
94
|
+
.container {width:950px;margin:0 auto;}
|
95
|
+
.showgrid {background:url(src/grid.png);}
|
96
|
+
.column, div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21, div.span-22, div.span-23, div.span-24 {float:left;margin-right:10px;}
|
97
|
+
.last, div.last {margin-right:0;}
|
98
|
+
.span-1 {width:30px;}
|
99
|
+
.span-2 {width:70px;}
|
100
|
+
.span-3 {width:110px;}
|
101
|
+
.span-4 {width:150px;}
|
102
|
+
.span-5 {width:190px;}
|
103
|
+
.span-6 {width:230px;}
|
104
|
+
.span-7 {width:270px;}
|
105
|
+
.span-8 {width:310px;}
|
106
|
+
.span-9 {width:350px;}
|
107
|
+
.span-10 {width:390px;}
|
108
|
+
.span-11 {width:430px;}
|
109
|
+
.span-12 {width:470px;}
|
110
|
+
.span-13 {width:510px;}
|
111
|
+
.span-14 {width:550px;}
|
112
|
+
.span-15 {width:590px;}
|
113
|
+
.span-16 {width:630px;}
|
114
|
+
.span-17 {width:670px;}
|
115
|
+
.span-18 {width:710px;}
|
116
|
+
.span-19 {width:750px;}
|
117
|
+
.span-20 {width:790px;}
|
118
|
+
.span-21 {width:830px;}
|
119
|
+
.span-22 {width:870px;}
|
120
|
+
.span-23 {width:910px;}
|
121
|
+
.span-24, div.span-24 {width:950px;margin:0;}
|
122
|
+
input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px!important;border-right-width:1px!important;padding-left:5px!important;padding-right:5px!important;}
|
123
|
+
input.span-1, textarea.span-1 {width:18px!important;}
|
124
|
+
input.span-2, textarea.span-2 {width:58px!important;}
|
125
|
+
input.span-3, textarea.span-3 {width:98px!important;}
|
126
|
+
input.span-4, textarea.span-4 {width:138px!important;}
|
127
|
+
input.span-5, textarea.span-5 {width:178px!important;}
|
128
|
+
input.span-6, textarea.span-6 {width:218px!important;}
|
129
|
+
input.span-7, textarea.span-7 {width:258px!important;}
|
130
|
+
input.span-8, textarea.span-8 {width:298px!important;}
|
131
|
+
input.span-9, textarea.span-9 {width:338px!important;}
|
132
|
+
input.span-10, textarea.span-10 {width:378px!important;}
|
133
|
+
input.span-11, textarea.span-11 {width:418px!important;}
|
134
|
+
input.span-12, textarea.span-12 {width:458px!important;}
|
135
|
+
input.span-13, textarea.span-13 {width:498px!important;}
|
136
|
+
input.span-14, textarea.span-14 {width:538px!important;}
|
137
|
+
input.span-15, textarea.span-15 {width:578px!important;}
|
138
|
+
input.span-16, textarea.span-16 {width:618px!important;}
|
139
|
+
input.span-17, textarea.span-17 {width:658px!important;}
|
140
|
+
input.span-18, textarea.span-18 {width:698px!important;}
|
141
|
+
input.span-19, textarea.span-19 {width:738px!important;}
|
142
|
+
input.span-20, textarea.span-20 {width:778px!important;}
|
143
|
+
input.span-21, textarea.span-21 {width:818px!important;}
|
144
|
+
input.span-22, textarea.span-22 {width:858px!important;}
|
145
|
+
input.span-23, textarea.span-23 {width:898px!important;}
|
146
|
+
input.span-24, textarea.span-24 {width:938px!important;}
|
147
|
+
.append-1 {padding-right:40px;}
|
148
|
+
.append-2 {padding-right:80px;}
|
149
|
+
.append-3 {padding-right:120px;}
|
150
|
+
.append-4 {padding-right:160px;}
|
151
|
+
.append-5 {padding-right:200px;}
|
152
|
+
.append-6 {padding-right:240px;}
|
153
|
+
.append-7 {padding-right:280px;}
|
154
|
+
.append-8 {padding-right:320px;}
|
155
|
+
.append-9 {padding-right:360px;}
|
156
|
+
.append-10 {padding-right:400px;}
|
157
|
+
.append-11 {padding-right:440px;}
|
158
|
+
.append-12 {padding-right:480px;}
|
159
|
+
.append-13 {padding-right:520px;}
|
160
|
+
.append-14 {padding-right:560px;}
|
161
|
+
.append-15 {padding-right:600px;}
|
162
|
+
.append-16 {padding-right:640px;}
|
163
|
+
.append-17 {padding-right:680px;}
|
164
|
+
.append-18 {padding-right:720px;}
|
165
|
+
.append-19 {padding-right:760px;}
|
166
|
+
.append-20 {padding-right:800px;}
|
167
|
+
.append-21 {padding-right:840px;}
|
168
|
+
.append-22 {padding-right:880px;}
|
169
|
+
.append-23 {padding-right:920px;}
|
170
|
+
.prepend-1 {padding-left:40px;}
|
171
|
+
.prepend-2 {padding-left:80px;}
|
172
|
+
.prepend-3 {padding-left:120px;}
|
173
|
+
.prepend-4 {padding-left:160px;}
|
174
|
+
.prepend-5 {padding-left:200px;}
|
175
|
+
.prepend-6 {padding-left:240px;}
|
176
|
+
.prepend-7 {padding-left:280px;}
|
177
|
+
.prepend-8 {padding-left:320px;}
|
178
|
+
.prepend-9 {padding-left:360px;}
|
179
|
+
.prepend-10 {padding-left:400px;}
|
180
|
+
.prepend-11 {padding-left:440px;}
|
181
|
+
.prepend-12 {padding-left:480px;}
|
182
|
+
.prepend-13 {padding-left:520px;}
|
183
|
+
.prepend-14 {padding-left:560px;}
|
184
|
+
.prepend-15 {padding-left:600px;}
|
185
|
+
.prepend-16 {padding-left:640px;}
|
186
|
+
.prepend-17 {padding-left:680px;}
|
187
|
+
.prepend-18 {padding-left:720px;}
|
188
|
+
.prepend-19 {padding-left:760px;}
|
189
|
+
.prepend-20 {padding-left:800px;}
|
190
|
+
.prepend-21 {padding-left:840px;}
|
191
|
+
.prepend-22 {padding-left:880px;}
|
192
|
+
.prepend-23 {padding-left:920px;}
|
193
|
+
div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
|
194
|
+
div.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
|
195
|
+
.pull-1 {margin-left:-40px;}
|
196
|
+
.pull-2 {margin-left:-80px;}
|
197
|
+
.pull-3 {margin-left:-120px;}
|
198
|
+
.pull-4 {margin-left:-160px;}
|
199
|
+
.pull-5 {margin-left:-200px;}
|
200
|
+
.pull-6 {margin-left:-240px;}
|
201
|
+
.pull-7 {margin-left:-280px;}
|
202
|
+
.pull-8 {margin-left:-320px;}
|
203
|
+
.pull-9 {margin-left:-360px;}
|
204
|
+
.pull-10 {margin-left:-400px;}
|
205
|
+
.pull-11 {margin-left:-440px;}
|
206
|
+
.pull-12 {margin-left:-480px;}
|
207
|
+
.pull-13 {margin-left:-520px;}
|
208
|
+
.pull-14 {margin-left:-560px;}
|
209
|
+
.pull-15 {margin-left:-600px;}
|
210
|
+
.pull-16 {margin-left:-640px;}
|
211
|
+
.pull-17 {margin-left:-680px;}
|
212
|
+
.pull-18 {margin-left:-720px;}
|
213
|
+
.pull-19 {margin-left:-760px;}
|
214
|
+
.pull-20 {margin-left:-800px;}
|
215
|
+
.pull-21 {margin-left:-840px;}
|
216
|
+
.pull-22 {margin-left:-880px;}
|
217
|
+
.pull-23 {margin-left:-920px;}
|
218
|
+
.pull-24 {margin-left:-960px;}
|
219
|
+
.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
|
220
|
+
.push-1 {margin:0 -40px 1.5em 40px;}
|
221
|
+
.push-2 {margin:0 -80px 1.5em 80px;}
|
222
|
+
.push-3 {margin:0 -120px 1.5em 120px;}
|
223
|
+
.push-4 {margin:0 -160px 1.5em 160px;}
|
224
|
+
.push-5 {margin:0 -200px 1.5em 200px;}
|
225
|
+
.push-6 {margin:0 -240px 1.5em 240px;}
|
226
|
+
.push-7 {margin:0 -280px 1.5em 280px;}
|
227
|
+
.push-8 {margin:0 -320px 1.5em 320px;}
|
228
|
+
.push-9 {margin:0 -360px 1.5em 360px;}
|
229
|
+
.push-10 {margin:0 -400px 1.5em 400px;}
|
230
|
+
.push-11 {margin:0 -440px 1.5em 440px;}
|
231
|
+
.push-12 {margin:0 -480px 1.5em 480px;}
|
232
|
+
.push-13 {margin:0 -520px 1.5em 520px;}
|
233
|
+
.push-14 {margin:0 -560px 1.5em 560px;}
|
234
|
+
.push-15 {margin:0 -600px 1.5em 600px;}
|
235
|
+
.push-16 {margin:0 -640px 1.5em 640px;}
|
236
|
+
.push-17 {margin:0 -680px 1.5em 680px;}
|
237
|
+
.push-18 {margin:0 -720px 1.5em 720px;}
|
238
|
+
.push-19 {margin:0 -760px 1.5em 760px;}
|
239
|
+
.push-20 {margin:0 -800px 1.5em 800px;}
|
240
|
+
.push-21 {margin:0 -840px 1.5em 840px;}
|
241
|
+
.push-22 {margin:0 -880px 1.5em 880px;}
|
242
|
+
.push-23 {margin:0 -920px 1.5em 920px;}
|
243
|
+
.push-24 {margin:0 -960px 1.5em 960px;}
|
244
|
+
.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
|
245
|
+
.prepend-top {margin-top:1.5em;}
|
246
|
+
.append-bottom {margin-bottom:1.5em;}
|
247
|
+
.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
|
248
|
+
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
|
249
|
+
hr.space {background:#fff;color:#fff;}
|
250
|
+
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
|
251
|
+
.clearfix, .container {display:block;}
|
252
|
+
.clear {clear:both;}
|