concen 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +117 -26
- data/app/controllers/concen/sessions_controller.rb +1 -1
- data/app/models/concen/grid_file.rb +18 -10
- data/app/models/concen/page.rb +6 -3
- data/app/stylesheets/application.sass +2 -59
- data/app/views/concen/pages/index.html.haml +6 -3
- data/app/views/concen/pages/new.html.haml +1 -1
- data/concen.gemspec +4 -3
- data/lib/concen.rb +3 -1
- data/lib/concen/engine.rb +2 -0
- data/lib/concen/version.rb +1 -1
- data/public/concen/stylesheets/application.css +135 -237
- metadata +31 -33
- data/public/concen/javascripts/controlcenter.js +0 -173
data/README.md
CHANGED
@@ -1,41 +1,132 @@
|
|
1
1
|
# Concen
|
2
2
|
|
3
|
+
Concen is a Rails Engine for controlling and monitoring a Rails application from a web interface. It includes content capturing system, real-time traffic monitoring, and real-time performance monitoring. It's built to be flexible and customizable to fit custom needs.
|
4
|
+
|
5
|
+
## Requirements
|
6
|
+
|
7
|
+
- **Rails 3.0.x**. Concen only supports Rails 3.0 application. Support for Rails 3.1 is planned to be added in near future.
|
8
|
+
- **MongoDB 1.8.x**. All data are stored in MongoDB database, including all of the files uploaded (stored in GridFS).
|
9
|
+
- **Typekit** (optional). Concen uses [Proxima Nova](http://typekit.com/fonts/proxima-nova) font. This font can be obtained from Typekit.
|
10
|
+
|
3
11
|
## Installation
|
4
12
|
|
5
|
-
Add the following to the Gemfile.
|
13
|
+
Add the following to the Gemfile of a Rails application.
|
14
|
+
|
15
|
+
gem "concen", "~> 0.1"
|
6
16
|
|
7
|
-
```
|
8
|
-
gem "concen"
|
9
|
-
```
|
10
|
-
|
11
17
|
Add initializer file for concen configurations.
|
12
18
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
end
|
17
|
-
|
19
|
+
Concen.setup do |config|
|
20
|
+
config.application_name = "My Application Name"
|
21
|
+
config.typekit_id = "qxq7sbk"
|
22
|
+
end
|
23
|
+
|
24
|
+
Generate mongoid.yml configuration.
|
25
|
+
|
26
|
+
rails g mongoid:config
|
27
|
+
|
28
|
+
For more configuration options checkout the [Mongoid documentation](http://mongoid.org/docs/installation/configuration.html).
|
29
|
+
|
30
|
+
Symlink assets.
|
31
|
+
|
32
|
+
rake concen:symlink_assets
|
33
|
+
|
34
|
+
## Content Capturing System
|
35
|
+
|
36
|
+
Any Rails application will require static contents at some point or another. Many of us will just write those content in Rails views. Quite recently I have begun to think that this is a wrong thing to do. We don't need a full blown Content Management System (CMS) to handle them. We rather need a Content Capturing System (CCS). Most of these contents might not come from you, but other people. Most often they are several people involved. A CCS does not focus in managing content. It focuses on capturing content from the content creator.
|
37
|
+
|
38
|
+
The CCS itself has a simple text editor and a simple file uploader. Contents these days are not only in the form of text but also images, audios and videos. CCS offers a quick and easy way to capture all of them.
|
39
|
+
|
40
|
+
Back to the Rails application, the developer/programmer could place these contents in the views. For example with the following method call.
|
41
|
+
|
42
|
+
Concen::Page.published.desc(:publish_time)
|
43
|
+
|
44
|
+
The above method call will return all the contents that have been marked as published and sort them by publish time. In this fashion, Rails views could be free from any static content.
|
45
|
+
|
46
|
+
Concen also comes with a configurable Markdown parser. [Markdown](http://daringfireball.net/projects/markdown/syntax) is a recommended text format to be used in Concen. Markdown is easy to understand and always in plain text mode. You can easily generate HTML from the Markdown formatted content with the following method call.
|
47
|
+
|
48
|
+
Concen::Page.published.desc(:publish_time).first.content_in_html
|
49
|
+
|
50
|
+
Generating static content should not be performed for every request because it is expensive. Concen does not have a mechanism of caching. However it is very simple in Rails to cache a page. You don't have to use Rails page caching mechanism. You simple need to set the proper Cache-Control header. For example the following code will cache a page for 5 minutes in any reverse proxy and in the client browser. You can add a [Rack Cache](http://rtomayko.github.com/rack-cache/) or setup [Nginx reverse proxy cache](http://wiki.nginx.org/HttpProxyModule#proxy_cache) easily or even [Varnish](http://varnish-cache.org/) when the time comes.
|
51
|
+
|
52
|
+
expires_in 5.minutes, :public => true
|
53
|
+
fresh_when :etag => @article, :public => true
|
54
|
+
|
55
|
+
## Writing Style for Content Capturing System
|
56
|
+
|
57
|
+
There are no rules enforced for writing content with Concen CCS. But there are certain writing styles that will help writing content more manageable and convenient.
|
58
|
+
|
59
|
+
Here is an example with single-segment content.
|
60
|
+
|
61
|
+
Title: 1984
|
62
|
+
|
63
|
+
Description: Nineteen Eighty-Four (sometimes written 1984) is a 1948 dystopian fiction written by George Orwell about a society ruled by an oligarchical dictatorship.
|
64
|
+
|
65
|
+
Publish Time: tomorrow
|
66
|
+
|
67
|
+
-----
|
68
|
+
|
69
|
+
It was a bright cold day in April, and the clocks were striking thirteen. Winston Smith, his chin nuzzled into his breast in an effort to escape the vile wind, slipped quickly through the glass doors of Victory Mansions, though not quickly enough to prevent a swirl of gritty dust from entering along with him.
|
70
|
+
|
71
|
+
Here is another example with multiple-segment content.
|
72
|
+
|
73
|
+
Title: 1984
|
74
|
+
|
75
|
+
Description: Nineteen Eighty-Four (sometimes written 1984) is a 1948 dystopian fiction written by George Orwell about a society ruled by an oligarchical dictatorship.
|
76
|
+
|
77
|
+
Publish Time: tomorrow
|
78
|
+
|
79
|
+
-----
|
80
|
+
|
81
|
+
@ Chapter 1
|
82
|
+
|
83
|
+
It was a bright cold day in April, and the clocks were striking thirteen. Winston Smith, his chin nuzzled into his breast in an effort to escape the vile wind, slipped quickly through the glass doors of Victory Mansions, though not quickly enough to prevent a swirl of gritty dust from entering along with him.
|
84
|
+
|
85
|
+
-----
|
86
|
+
|
87
|
+
@ Chapter 2
|
88
|
+
|
89
|
+
As he put his hand to the door-knob Winston saw that he had left the diary open on the table. DOWN WITH BIG BROTHER was written all over it, in letters almost big enough to be legible across the room. It was an inconceivably stupid thing to have done. But, he realized, even in his panic he had not wanted to smudge the creamy paper by shutting the book while the ink was wet.
|
90
|
+
|
91
|
+
Content can be divided with 3 or more hyphen (-). The first part will always be metadata declaration. The rest will be the content.
|
92
|
+
|
93
|
+
"Publish Time" meta data has special treatment, where it accepts date in natural language format, relative to the current time.
|
94
|
+
|
95
|
+
To obtain the content, you typically will call the following.
|
96
|
+
|
97
|
+
Concen::Page.published.desc(:publish_time).first.content
|
98
|
+
|
99
|
+
Or if you want the content in HTML format, simply call the following.
|
100
|
+
|
101
|
+
Concen::Page.published.desc(:publish_time).first.content_in_html
|
102
|
+
|
103
|
+
`content_in_html` accepts an argument of the content segment key. In this example if you declare "Chapter 2", the key will be "chapter_2".
|
104
|
+
|
105
|
+
## Real Time Traffic Monitoring
|
106
|
+
|
107
|
+
Insert the Visit Recorder JavaScript in your layout. It's recommended to append this code block right before the closing `</bod>` tag.
|
108
|
+
|
109
|
+
For layout in Haml, insert the following code block.
|
18
110
|
|
19
|
-
|
111
|
+
= javascript_include_tag visit_recorder_js_url
|
112
|
+
:javascript
|
113
|
+
VisitRecorder.record({});
|
20
114
|
|
21
|
-
|
115
|
+
For layout in ERB, insert the following code block.
|
22
116
|
|
23
|
-
|
117
|
+
<script src="http://steverandytantra.com/visits/js" type="text/javascript"></script>
|
118
|
+
<script>
|
119
|
+
//<![CDATA[
|
120
|
+
VisitRecorder.record({});
|
121
|
+
//]]>
|
122
|
+
</script>
|
24
123
|
|
25
|
-
|
26
|
-
To do so, please follow these steps:
|
124
|
+
## Real Time Performance Monitoring
|
27
125
|
|
28
|
-
|
126
|
+
There are many commercial performance monitoring solutions for a Rails application. But when starting out with a simple application you might not want the extra steps to setup these commercial solutions. Concen comes with a simple real-time performance monitoring. It doesn't give you an extensive reports like the commercial solutions, but it's just enough to get you going to the next level. When the time comes, you can add a more suitable solution.
|
29
127
|
|
30
|
-
|
31
|
-
= javascript_include_tag visit_recorder_js_url
|
32
|
-
```
|
33
|
-
|
34
|
-
Call record function before the closing <body> tag.
|
128
|
+
There is no extra setup for this free real-time performance monitoring. And there is no more reason not to know which controller actions are slow.
|
35
129
|
|
36
|
-
|
37
|
-
:javascript
|
38
|
-
VisitRecorder.record({});
|
39
|
-
```
|
130
|
+
## Concen Web Interface
|
40
131
|
|
41
|
-
|
132
|
+
To access Concen web interface, use "concen" subdomain for example http://concen.domain.com. When it's accessed for the first time, it will prompt to create a new master user. This user will have full control over the Concen. [Pow](http://pow.cx/) rack server is recommended because it provides access to subdomain by default.
|
@@ -15,7 +15,7 @@ module Concen
|
|
15
15
|
|
16
16
|
if user && user.authenticate(params[:password])
|
17
17
|
cookies.permanent[:auth_token] = user.auth_token
|
18
|
-
redirect_to
|
18
|
+
redirect_to concen_root_path, :notice => "You have successfully signed in!"
|
19
19
|
else
|
20
20
|
flash.now.alert = "Invalid email or password"
|
21
21
|
render "new"
|
@@ -42,16 +42,24 @@ module Concen
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def store(content, filename)
|
45
|
-
original_filename = filename.dup
|
46
|
-
file_extension = File.extname(filename).downcase
|
47
|
-
filename = "#{self.id.to_s}-#{File.basename(original_filename, file_extension).downcase.parameterize.gsub("_", "-")}#{file_extension}"
|
48
45
|
grid = Mongo::Grid.new(Mongoid.database)
|
49
|
-
|
50
|
-
if
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
46
|
+
|
47
|
+
# First, delete if a GridFS file already exists.
|
48
|
+
# There is no update.
|
49
|
+
grid.delete(self.grid_id) if self.grid_id
|
50
|
+
|
51
|
+
original_filename = filename.dup
|
52
|
+
file_extension = File.extname(original_filename).downcase
|
53
|
+
content_type = MIME::Types.type_for(original_filename).first.to_s
|
54
|
+
|
55
|
+
# Pre generate ObjectId for the new GridFS file.
|
56
|
+
grid_id = BSON::ObjectId.new
|
57
|
+
|
58
|
+
filename = File.basename(original_filename, file_extension).downcase.parameterize.gsub("_", "-")
|
59
|
+
filename = "#{grid_id.to_s}-#{filename}#{file_extension}"
|
60
|
+
|
61
|
+
if grid.put(content, :_id => grid_id, :filename => filename, :content_type => content_type, :safe => true)
|
62
|
+
self.update_attributes(:grid_id => grid_id, :filename => filename, :original_filename => original_filename)
|
55
63
|
else
|
56
64
|
return false
|
57
65
|
end
|
@@ -64,4 +72,4 @@ module Concen
|
|
64
72
|
grid.delete(self.grid_id)
|
65
73
|
end
|
66
74
|
end
|
67
|
-
end
|
75
|
+
end
|
data/app/models/concen/page.rb
CHANGED
@@ -77,9 +77,12 @@ module Concen
|
|
77
77
|
def content_in_html(key = "main", data={})
|
78
78
|
if content = self.content.try(:[], key)
|
79
79
|
content = Mustache.render(content, data)
|
80
|
-
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML,
|
80
|
+
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, Concen.markdown_extensions)
|
81
81
|
html = markdown.render content
|
82
|
-
|
82
|
+
if Concen.parse_markdown_with_smartypants
|
83
|
+
html = Redcarpet::Render::SmartyPants.render html
|
84
|
+
end
|
85
|
+
return html
|
83
86
|
else
|
84
87
|
return nil
|
85
88
|
end
|
@@ -266,7 +269,7 @@ module Concen
|
|
266
269
|
else
|
267
270
|
content_key = (index + 1).to_s
|
268
271
|
end
|
269
|
-
self.content[content_key] = content.join
|
272
|
+
self.content[content_key] = content.join.strip
|
270
273
|
end
|
271
274
|
else
|
272
275
|
meta_data = self.raw_text.strip
|
@@ -40,12 +40,9 @@ header
|
|
40
40
|
float: left
|
41
41
|
span.engine-name
|
42
42
|
font-weight: bold
|
43
|
-
.wf-active &
|
44
|
-
font-weight: 700
|
45
43
|
span.application-name
|
46
44
|
margin-left: $standard-gap/2
|
47
|
-
|
48
|
-
font-weight: 400
|
45
|
+
font-weight: normal
|
49
46
|
img
|
50
47
|
display: block
|
51
48
|
nav
|
@@ -88,8 +85,6 @@ header
|
|
88
85
|
text-align: left
|
89
86
|
h1
|
90
87
|
margin-bottom: $standard-gap
|
91
|
-
.wf-active &
|
92
|
-
font-weight: 600
|
93
88
|
span
|
94
89
|
margin-right: $standard-gap/2
|
95
90
|
div.parent-header
|
@@ -196,17 +191,6 @@ a.grid
|
|
196
191
|
background: lighten(#000, 92%)
|
197
192
|
padding: 6px 10px
|
198
193
|
+text-shadow(white, 0px, 1px, 0px)
|
199
|
-
a.organize
|
200
|
-
font-size: 12px
|
201
|
-
font-weight: 600
|
202
|
-
line-height: 25px
|
203
|
-
display: block
|
204
|
-
position: absolute
|
205
|
-
top: 0
|
206
|
-
right: 10px
|
207
|
-
color: lighten(#000, 60%)
|
208
|
-
a.sort-path
|
209
|
-
display: none
|
210
194
|
ul
|
211
195
|
list-style-position: inside
|
212
196
|
margin-bottom: 20px
|
@@ -259,47 +243,6 @@ a.grid
|
|
259
243
|
background: $color-4
|
260
244
|
+border-top-radius(4px)
|
261
245
|
+text-shadow(white, 0px, 1px, 0px)
|
262
|
-
span
|
263
|
-
font-size: 12px
|
264
|
-
margin-left: 2px
|
265
|
-
color: lighten(#000, 60%)
|
266
|
-
font-weight: 500
|
267
|
-
span.link
|
268
|
-
a
|
269
|
-
font-size: 10px
|
270
|
-
line-height: 10px
|
271
|
-
float: right
|
272
|
-
display: block
|
273
|
-
border: 1px solid lighten(#000, 60%)
|
274
|
-
+border-radius(2px)
|
275
|
-
padding: 2px 6px
|
276
|
-
font-weight: 600
|
277
|
-
+box-shadow(white, 0px, 1px, 0px)
|
278
|
-
margin-left: 8px
|
279
|
-
text-align: center
|
280
|
-
color: lighten(#000, 40%)
|
281
|
-
background: lighten(#000, 88%)
|
282
|
-
+linear-gradient(color-stops(lighten(#000, 95%), lighten(#000, 85%)))
|
283
|
-
a.active, a:active
|
284
|
-
color: lighten(#000, 40%)
|
285
|
-
border-color: lighten(#000, 50%)
|
286
|
-
background: lighten(#000, 85%)
|
287
|
-
+linear-gradient(color-stops(lighten(#000, 85%), lighten(#000, 95%)))
|
288
|
-
a:hover
|
289
|
-
text-decoration: none
|
290
|
-
span.timezone
|
291
|
-
font-size: 10px
|
292
|
-
line-height: 10px
|
293
|
-
float: right
|
294
|
-
display: block
|
295
|
-
border: 1px solid lighten(#000, 70%)
|
296
|
-
+border-radius(2px)
|
297
|
-
padding: 2px 6px
|
298
|
-
font-weight: 600
|
299
|
-
+box-shadow(white, 0px, 1px, 0px)
|
300
|
-
margin-left: 8px
|
301
|
-
text-align: center
|
302
|
-
color: lighten(#000, 60%)
|
303
246
|
p.big-number
|
304
247
|
font-size: 72px
|
305
248
|
text-align: center
|
@@ -428,8 +371,8 @@ table
|
|
428
371
|
th
|
429
372
|
background: $color-4
|
430
373
|
+border-top-radius(4px)
|
431
|
-
font-weight: bold
|
432
374
|
font-size: 16px
|
375
|
+
font-weight: bold
|
433
376
|
.wf-active &
|
434
377
|
font-weight: 600
|
435
378
|
td, th
|
@@ -2,8 +2,11 @@
|
|
2
2
|
= javascript_include_tag "/concen/javascripts/page.js"
|
3
3
|
|
4
4
|
#content
|
5
|
-
%h1
|
5
|
+
%h1
|
6
|
+
= one_line do
|
7
|
+
%span Pages
|
8
|
+
- unless @page
|
9
|
+
= link_to "New Page", new_concen_page_path(:level => 0), :class => "link-button"
|
10
|
+
|
6
11
|
- if @page
|
7
12
|
= render :partial => "nested_list", :locals => {:page => @page, :root => true}
|
8
|
-
- else
|
9
|
-
= link_to "New Page", new_concen_page_path(:level => 0)
|
data/concen.gemspec
CHANGED
@@ -7,10 +7,11 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = Concen::VERSION
|
8
8
|
s.authors = ["Steve Randy Tantra"]
|
9
9
|
s.email = ["steve.randy@gmail.com"]
|
10
|
-
s.homepage = ""
|
11
|
-
s.summary =
|
12
|
-
s.description =
|
10
|
+
s.homepage = "https://github.com/steverandy/concen"
|
11
|
+
s.summary = "Control and monitor Rails application."
|
12
|
+
s.description = "A Rails Engine to control and monitor Rails application from a web interface. It includes content capturing system, real-time traffic monitoring, and real-time performance monitoring. It’s built to be flexible and customizable."
|
13
13
|
|
14
|
+
s.required_rubygems_version = ">= 1.3.6"
|
14
15
|
s.rubyforge_project = "concen"
|
15
16
|
|
16
17
|
s.files = `git ls-files`.split("\n")
|
data/lib/concen.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
require "concen/engine" if defined?(Rails)
|
2
2
|
|
3
3
|
module Concen
|
4
|
-
mattr_accessor :application_name, :typekit_id
|
4
|
+
mattr_accessor :application_name, :typekit_id, :markdown_extensions, :parse_markdown_with_smartypants
|
5
5
|
@@application_name = nil
|
6
6
|
@@typekit_id = "qxq7sbk"
|
7
|
+
@@markdown_extensions = {}
|
8
|
+
@@parse_markdown_with_smartypants = true
|
7
9
|
|
8
10
|
def self.setup
|
9
11
|
yield self
|
data/lib/concen/engine.rb
CHANGED
data/lib/concen/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/* line 17,
|
1
|
+
/* line 17, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
2
2
|
html, body, div, span, applet, object, iframe,
|
3
3
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
4
4
|
a, abbr, acronym, address, big, cite, code,
|
@@ -20,45 +20,45 @@ time, mark, audio, video {
|
|
20
20
|
vertical-align: baseline;
|
21
21
|
}
|
22
22
|
|
23
|
-
/* line 20,
|
23
|
+
/* line 20, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
24
24
|
body {
|
25
25
|
line-height: 1;
|
26
26
|
}
|
27
27
|
|
28
|
-
/* line 22,
|
28
|
+
/* line 22, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
29
29
|
ol, ul {
|
30
30
|
list-style: none;
|
31
31
|
}
|
32
32
|
|
33
|
-
/* line 24,
|
33
|
+
/* line 24, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
34
34
|
table {
|
35
35
|
border-collapse: collapse;
|
36
36
|
border-spacing: 0;
|
37
37
|
}
|
38
38
|
|
39
|
-
/* line 26,
|
39
|
+
/* line 26, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
40
40
|
caption, th, td {
|
41
41
|
text-align: left;
|
42
42
|
font-weight: normal;
|
43
43
|
vertical-align: middle;
|
44
44
|
}
|
45
45
|
|
46
|
-
/* line 28,
|
46
|
+
/* line 28, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
47
47
|
q, blockquote {
|
48
48
|
quotes: none;
|
49
49
|
}
|
50
|
-
/* line 101,
|
50
|
+
/* line 101, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
51
51
|
q:before, q:after, blockquote:before, blockquote:after {
|
52
52
|
content: "";
|
53
53
|
content: none;
|
54
54
|
}
|
55
55
|
|
56
|
-
/* line 30,
|
56
|
+
/* line 30, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
57
57
|
a img {
|
58
58
|
border: none;
|
59
59
|
}
|
60
60
|
|
61
|
-
/* line 114,
|
61
|
+
/* line 114, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
|
62
62
|
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
|
63
63
|
display: block;
|
64
64
|
}
|
@@ -113,19 +113,19 @@ a {
|
|
113
113
|
color: #141f52;
|
114
114
|
text-decoration: underline;
|
115
115
|
}
|
116
|
-
/* line 18,
|
116
|
+
/* line 18, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss */
|
117
117
|
a:visited {
|
118
118
|
color: #141f52;
|
119
119
|
}
|
120
|
-
/* line 21,
|
120
|
+
/* line 21, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss */
|
121
121
|
a:focus {
|
122
122
|
color: #141f52;
|
123
123
|
}
|
124
|
-
/* line 24,
|
124
|
+
/* line 24, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss */
|
125
125
|
a:hover {
|
126
126
|
color: #141f52;
|
127
127
|
}
|
128
|
-
/* line 27,
|
128
|
+
/* line 27, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss */
|
129
129
|
a:active {
|
130
130
|
color: #141f52;
|
131
131
|
}
|
@@ -170,11 +170,11 @@ a.link-button {
|
|
170
170
|
background: linear-gradient(#ffffff, #edeef3);
|
171
171
|
text-shadow: white 0 1px 0;
|
172
172
|
}
|
173
|
-
/* line 4,
|
173
|
+
/* line 4, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss */
|
174
174
|
a.link-button:hover {
|
175
175
|
text-decoration: underline;
|
176
176
|
}
|
177
|
-
/* line 7,
|
177
|
+
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
|
178
178
|
a.link-button {
|
179
179
|
*display: inline;
|
180
180
|
}
|
@@ -294,7 +294,7 @@ form .actions a {
|
|
294
294
|
margin-left: 10px;
|
295
295
|
text-decoration: none;
|
296
296
|
}
|
297
|
-
/* line 4,
|
297
|
+
/* line 4, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss */
|
298
298
|
form .actions a:hover {
|
299
299
|
text-decoration: underline;
|
300
300
|
}
|
@@ -492,7 +492,7 @@ div.legend table td {
|
|
492
492
|
}
|
493
493
|
|
494
494
|
@media print {
|
495
|
-
/* line 24,
|
495
|
+
/* line 24, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
496
496
|
body {
|
497
497
|
line-height: 1.5;
|
498
498
|
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
@@ -501,12 +501,12 @@ div.legend table td {
|
|
501
501
|
font-size: 10pt;
|
502
502
|
}
|
503
503
|
|
504
|
-
/* line 45,
|
504
|
+
/* line 45, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
505
505
|
.container {
|
506
506
|
background: none;
|
507
507
|
}
|
508
508
|
|
509
|
-
/* line 47,
|
509
|
+
/* line 47, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
510
510
|
hr {
|
511
511
|
background: #cccccc;
|
512
512
|
color: #cccccc;
|
@@ -516,40 +516,40 @@ div.legend table td {
|
|
516
516
|
padding: 0;
|
517
517
|
border: none;
|
518
518
|
}
|
519
|
-
/* line 55,
|
519
|
+
/* line 55, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
520
520
|
hr.space {
|
521
521
|
background: white;
|
522
522
|
color: white;
|
523
523
|
}
|
524
524
|
|
525
|
-
/* line 58,
|
525
|
+
/* line 58, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
526
526
|
h1, h2, h3, h4, h5, h6 {
|
527
527
|
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
528
528
|
}
|
529
529
|
|
530
|
-
/* line 60,
|
530
|
+
/* line 60, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
531
531
|
code {
|
532
532
|
font-size: 0.9em;
|
533
533
|
font-family: "andale mono", "lucida console", monospace;
|
534
534
|
}
|
535
535
|
|
536
|
-
/* line 65,
|
536
|
+
/* line 65, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
537
537
|
a img {
|
538
538
|
border: none;
|
539
539
|
}
|
540
|
-
/* line 68,
|
540
|
+
/* line 68, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
541
541
|
a:link, a:visited {
|
542
542
|
background: transparent;
|
543
543
|
font-weight: 700;
|
544
544
|
text-decoration: underline;
|
545
545
|
}
|
546
546
|
|
547
|
-
/* line 72,
|
547
|
+
/* line 72, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
548
548
|
p img.top {
|
549
549
|
margin-top: 0;
|
550
550
|
}
|
551
551
|
|
552
|
-
/* line 74,
|
552
|
+
/* line 74, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
553
553
|
blockquote {
|
554
554
|
margin: 1.5em;
|
555
555
|
padding: 1em;
|
@@ -557,22 +557,22 @@ div.legend table td {
|
|
557
557
|
font-size: 0.9em;
|
558
558
|
}
|
559
559
|
|
560
|
-
/* line 79,
|
560
|
+
/* line 79, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
561
561
|
.small {
|
562
562
|
font-size: 0.9em;
|
563
563
|
}
|
564
564
|
|
565
|
-
/* line 81,
|
565
|
+
/* line 81, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
566
566
|
.large {
|
567
567
|
font-size: 1.1em;
|
568
568
|
}
|
569
569
|
|
570
|
-
/* line 83,
|
570
|
+
/* line 83, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
571
571
|
.quiet {
|
572
572
|
color: #999999;
|
573
573
|
}
|
574
574
|
|
575
|
-
/* line 85,
|
575
|
+
/* line 85, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/blueprint/stylesheets/blueprint/_print.scss */
|
576
576
|
.hide {
|
577
577
|
display: none;
|
578
578
|
}
|
@@ -620,28 +620,21 @@ header h1 span.engine-name {
|
|
620
620
|
font-weight: bold;
|
621
621
|
}
|
622
622
|
/* line 43, ../../../app/stylesheets/application.sass */
|
623
|
-
.wf-active header h1 span.engine-name {
|
624
|
-
font-weight: 700;
|
625
|
-
}
|
626
|
-
/* line 45, ../../../app/stylesheets/application.sass */
|
627
623
|
header h1 span.application-name {
|
628
624
|
margin-left: 15px;
|
625
|
+
font-weight: normal;
|
629
626
|
}
|
630
|
-
/* line
|
631
|
-
.wf-active header h1 span.application-name {
|
632
|
-
font-weight: 400;
|
633
|
-
}
|
634
|
-
/* line 49, ../../../app/stylesheets/application.sass */
|
627
|
+
/* line 46, ../../../app/stylesheets/application.sass */
|
635
628
|
header h1 img {
|
636
629
|
display: block;
|
637
630
|
}
|
638
|
-
/* line
|
631
|
+
/* line 48, ../../../app/stylesheets/application.sass */
|
639
632
|
header nav {
|
640
633
|
position: absolute;
|
641
634
|
right: 0;
|
642
635
|
top: 0;
|
643
636
|
}
|
644
|
-
/* line
|
637
|
+
/* line 52, ../../../app/stylesheets/application.sass */
|
645
638
|
header nav ul {
|
646
639
|
margin: 0;
|
647
640
|
padding: 0;
|
@@ -651,7 +644,7 @@ header nav ul {
|
|
651
644
|
font-size: 13px;
|
652
645
|
overflow: visible;
|
653
646
|
}
|
654
|
-
/* line 60,
|
647
|
+
/* line 60, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss */
|
655
648
|
header nav ul li {
|
656
649
|
list-style-image: none;
|
657
650
|
list-style-type: none;
|
@@ -662,41 +655,41 @@ header nav ul li {
|
|
662
655
|
padding-left: 10px;
|
663
656
|
padding-right: 10px;
|
664
657
|
}
|
665
|
-
/* line 48,
|
658
|
+
/* line 48, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss */
|
666
659
|
header nav ul li:first-child, header nav ul li.first {
|
667
660
|
padding-left: 0;
|
668
661
|
}
|
669
|
-
/* line 49,
|
662
|
+
/* line 49, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss */
|
670
663
|
header nav ul li:last-child {
|
671
664
|
padding-right: 0;
|
672
665
|
}
|
673
|
-
/* line 50,
|
666
|
+
/* line 50, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss */
|
674
667
|
header nav ul li.last {
|
675
668
|
padding-right: 0;
|
676
669
|
}
|
677
|
-
/* line
|
670
|
+
/* line 56, ../../../app/stylesheets/application.sass */
|
678
671
|
header nav ul li {
|
679
672
|
line-height: 25px;
|
680
673
|
}
|
681
|
-
/* line
|
674
|
+
/* line 58, ../../../app/stylesheets/application.sass */
|
682
675
|
header nav ul li a {
|
683
676
|
text-decoration: none;
|
684
677
|
}
|
685
|
-
/* line 4,
|
678
|
+
/* line 4, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss */
|
686
679
|
header nav ul li a:hover {
|
687
680
|
text-decoration: underline;
|
688
681
|
}
|
689
|
-
/* line
|
682
|
+
/* line 60, ../../../app/stylesheets/application.sass */
|
690
683
|
header form {
|
691
684
|
position: absolute;
|
692
685
|
top: 0;
|
693
686
|
right: 0;
|
694
687
|
}
|
695
|
-
/* line
|
688
|
+
/* line 64, ../../../app/stylesheets/application.sass */
|
696
689
|
header input#keyword {
|
697
690
|
font-size: 12px;
|
698
691
|
line-height: 15px;
|
699
|
-
background: url('/../../public/concen/images/magnifying-glass.png?
|
692
|
+
background: url('/../../public/concen/images/magnifying-glass.png?1313773428');
|
700
693
|
background-repeat: no-repeat;
|
701
694
|
height: 13px;
|
702
695
|
width: 13px;
|
@@ -716,48 +709,44 @@ header input#keyword {
|
|
716
709
|
padding: 4px 12px 4px 24px;
|
717
710
|
color: #999999;
|
718
711
|
}
|
719
|
-
/* line
|
712
|
+
/* line 78, ../../../app/stylesheets/application.sass */
|
720
713
|
header input#keyword:focus {
|
721
714
|
color: #333333;
|
722
715
|
}
|
723
716
|
|
724
|
-
/* line
|
717
|
+
/* line 83, ../../../app/stylesheets/application.sass */
|
725
718
|
#content {
|
726
719
|
margin: 30px auto 0 auto;
|
727
720
|
text-align: left;
|
728
721
|
}
|
729
|
-
/* line
|
722
|
+
/* line 86, ../../../app/stylesheets/application.sass */
|
730
723
|
#content h1 {
|
731
724
|
margin-bottom: 30px;
|
732
725
|
}
|
733
|
-
/* line
|
734
|
-
.wf-active #content h1 {
|
735
|
-
font-weight: 600;
|
736
|
-
}
|
737
|
-
/* line 93, ../../../app/stylesheets/application.sass */
|
726
|
+
/* line 88, ../../../app/stylesheets/application.sass */
|
738
727
|
#content h1 span {
|
739
728
|
margin-right: 15px;
|
740
729
|
}
|
741
|
-
/* line
|
730
|
+
/* line 90, ../../../app/stylesheets/application.sass */
|
742
731
|
#content div.parent-header {
|
743
732
|
height: 24px;
|
744
733
|
width: 100%;
|
745
734
|
position: relative;
|
746
735
|
}
|
747
|
-
/* line
|
736
|
+
/* line 94, ../../../app/stylesheets/application.sass */
|
748
737
|
#content div.parent-header h2 {
|
749
738
|
line-height: 24px;
|
750
739
|
display: inline;
|
751
740
|
margin-bottom: 0;
|
752
741
|
}
|
753
|
-
/* line
|
742
|
+
/* line 98, ../../../app/stylesheets/application.sass */
|
754
743
|
#content div.parent-header p.description {
|
755
744
|
font-size: 12px;
|
756
745
|
display: inline;
|
757
746
|
margin-left: 6px;
|
758
747
|
color: #999999;
|
759
748
|
}
|
760
|
-
/* line
|
749
|
+
/* line 103, ../../../app/stylesheets/application.sass */
|
761
750
|
#content div.parent-header p.counter {
|
762
751
|
font-style: italic;
|
763
752
|
font-size: 18px;
|
@@ -765,12 +754,12 @@ header input#keyword:focus {
|
|
765
754
|
float: right;
|
766
755
|
}
|
767
756
|
|
768
|
-
/* line
|
757
|
+
/* line 109, ../../../app/stylesheets/application.sass */
|
769
758
|
ul.pages {
|
770
759
|
margin-left: 0;
|
771
760
|
font-size: 14px;
|
772
761
|
}
|
773
|
-
/* line
|
762
|
+
/* line 112, ../../../app/stylesheets/application.sass */
|
774
763
|
ul.pages span.handle {
|
775
764
|
background: url("/concen/images/icon-handle.png");
|
776
765
|
width: 12px;
|
@@ -781,48 +770,48 @@ ul.pages span.handle {
|
|
781
770
|
vertical-align: middle;
|
782
771
|
*vertical-align: auto;
|
783
772
|
}
|
784
|
-
/* line 7,
|
773
|
+
/* line 7, ../../../../../../.rvm/gems/ruby-1.9.2-p290@concen/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
|
785
774
|
ul.pages span.handle {
|
786
775
|
*display: inline;
|
787
776
|
}
|
788
|
-
/* line
|
777
|
+
/* line 117, ../../../app/stylesheets/application.sass */
|
789
778
|
ul.pages p, ul.pages ul p {
|
790
779
|
margin-bottom: 10px;
|
791
780
|
vertical-align: middle;
|
792
781
|
}
|
793
|
-
/* line
|
782
|
+
/* line 120, ../../../app/stylesheets/application.sass */
|
794
783
|
ul.pages p span, ul.pages p a, ul.pages ul p span, ul.pages ul p a {
|
795
784
|
vertical-align: middle;
|
796
785
|
}
|
797
|
-
/* line
|
786
|
+
/* line 125, ../../../app/stylesheets/application.sass */
|
798
787
|
ul.pages a, ul.pages ul a {
|
799
788
|
margin-left: 4px;
|
800
789
|
}
|
801
|
-
/* line
|
790
|
+
/* line 127, ../../../app/stylesheets/application.sass */
|
802
791
|
ul.pages ul {
|
803
792
|
margin-left: 20px;
|
804
793
|
}
|
805
794
|
|
806
|
-
/* line
|
795
|
+
/* line 130, ../../../app/stylesheets/application.sass */
|
807
796
|
section#article {
|
808
797
|
width: 774px;
|
809
798
|
}
|
810
799
|
|
811
|
-
/* line
|
800
|
+
/* line 133, ../../../app/stylesheets/application.sass */
|
812
801
|
.boxshadow ul.search-result {
|
813
802
|
padding-bottom: 0;
|
814
803
|
}
|
815
|
-
/* line
|
804
|
+
/* line 135, ../../../app/stylesheets/application.sass */
|
816
805
|
.boxshadow ul.search-result li.child {
|
817
806
|
margin-top: 0;
|
818
807
|
margin-bottom: 30px;
|
819
808
|
}
|
820
|
-
/* line
|
809
|
+
/* line 138, ../../../app/stylesheets/application.sass */
|
821
810
|
.boxshadow ul.search-result div.text {
|
822
811
|
margin-top: 0;
|
823
812
|
}
|
824
813
|
|
825
|
-
/* line
|
814
|
+
/* line 143, ../../../app/stylesheets/application.sass */
|
826
815
|
footer {
|
827
816
|
color: #141f52;
|
828
817
|
margin: 30px auto 0 auto;
|
@@ -831,16 +820,16 @@ footer {
|
|
831
820
|
font-size: 12px;
|
832
821
|
border-top: 1px solid #858bad;
|
833
822
|
}
|
834
|
-
/* line
|
823
|
+
/* line 150, ../../../app/stylesheets/application.sass */
|
835
824
|
footer p {
|
836
825
|
text-align: center;
|
837
826
|
margin: 15px 0 0 0;
|
838
827
|
font-size: 12px;
|
839
828
|
}
|
840
829
|
|
841
|
-
/* line
|
830
|
+
/* line 157, ../../../app/stylesheets/application.sass */
|
842
831
|
a.prev {
|
843
|
-
background: url('/../../public/concen/images/button-prev.png?
|
832
|
+
background: url('/../../public/concen/images/button-prev.png?1313773428');
|
844
833
|
background-repeat: no-repeat;
|
845
834
|
height: 26px;
|
846
835
|
width: 26px;
|
@@ -848,17 +837,17 @@ a.prev {
|
|
848
837
|
display: block;
|
849
838
|
}
|
850
839
|
|
851
|
-
/* line
|
840
|
+
/* line 162, ../../../app/stylesheets/application.sass */
|
852
841
|
a.prev.disabled {
|
853
|
-
background: url('/../../public/concen/images/button-prev-disabled.png?
|
842
|
+
background: url('/../../public/concen/images/button-prev-disabled.png?1313773428');
|
854
843
|
background-repeat: no-repeat;
|
855
844
|
height: 26px;
|
856
845
|
width: 26px;
|
857
846
|
}
|
858
847
|
|
859
|
-
/* line
|
848
|
+
/* line 165, ../../../app/stylesheets/application.sass */
|
860
849
|
a.next {
|
861
|
-
background: url('/../../public/concen/images/button-next.png?
|
850
|
+
background: url('/../../public/concen/images/button-next.png?1313773428');
|
862
851
|
background-repeat: no-repeat;
|
863
852
|
height: 26px;
|
864
853
|
width: 26px;
|
@@ -866,17 +855,17 @@ a.next {
|
|
866
855
|
display: block;
|
867
856
|
}
|
868
857
|
|
869
|
-
/* line
|
858
|
+
/* line 170, ../../../app/stylesheets/application.sass */
|
870
859
|
a.next.disabled {
|
871
|
-
background: url('/../../public/concen/images/button-next-disabled.png?
|
860
|
+
background: url('/../../public/concen/images/button-next-disabled.png?1313773428');
|
872
861
|
background-repeat: no-repeat;
|
873
862
|
height: 26px;
|
874
863
|
width: 26px;
|
875
864
|
}
|
876
865
|
|
877
|
-
/* line
|
866
|
+
/* line 173, ../../../app/stylesheets/application.sass */
|
878
867
|
a.grid {
|
879
|
-
background: url('/../../public/concen/images/button-grid.png?
|
868
|
+
background: url('/../../public/concen/images/button-grid.png?1313773428');
|
880
869
|
background-repeat: no-repeat;
|
881
870
|
height: 26px;
|
882
871
|
width: 26px;
|
@@ -884,7 +873,7 @@ a.grid {
|
|
884
873
|
display: block;
|
885
874
|
}
|
886
875
|
|
887
|
-
/* line
|
876
|
+
/* line 178, ../../../app/stylesheets/application.sass */
|
888
877
|
#file-list {
|
889
878
|
width: 260px;
|
890
879
|
float: right;
|
@@ -893,7 +882,7 @@ a.grid {
|
|
893
882
|
text-shadow: white 0px 1px 0px;
|
894
883
|
position: relative;
|
895
884
|
}
|
896
|
-
/* line
|
885
|
+
/* line 186, ../../../app/stylesheets/application.sass */
|
897
886
|
#file-list h3 {
|
898
887
|
line-height: 1;
|
899
888
|
font-size: 13px;
|
@@ -903,27 +892,12 @@ a.grid {
|
|
903
892
|
padding: 6px 10px;
|
904
893
|
text-shadow: white 0px 1px 0px;
|
905
894
|
}
|
906
|
-
/* line
|
907
|
-
#file-list a.organize {
|
908
|
-
font-size: 12px;
|
909
|
-
font-weight: 600;
|
910
|
-
line-height: 25px;
|
911
|
-
display: block;
|
912
|
-
position: absolute;
|
913
|
-
top: 0;
|
914
|
-
right: 10px;
|
915
|
-
color: #999999;
|
916
|
-
}
|
917
|
-
/* line 208, ../../../app/stylesheets/application.sass */
|
918
|
-
#file-list a.sort-path {
|
919
|
-
display: none;
|
920
|
-
}
|
921
|
-
/* line 210, ../../../app/stylesheets/application.sass */
|
895
|
+
/* line 194, ../../../app/stylesheets/application.sass */
|
922
896
|
#file-list ul {
|
923
897
|
list-style-position: inside;
|
924
898
|
margin-bottom: 20px;
|
925
899
|
}
|
926
|
-
/* line
|
900
|
+
/* line 197, ../../../app/stylesheets/application.sass */
|
927
901
|
#file-list ul li {
|
928
902
|
font-size: 12px;
|
929
903
|
line-height: 1;
|
@@ -934,18 +908,18 @@ a.grid {
|
|
934
908
|
overflow: hidden;
|
935
909
|
*zoom: 1;
|
936
910
|
}
|
937
|
-
/* line
|
911
|
+
/* line 205, ../../../app/stylesheets/application.sass */
|
938
912
|
#file-list ul li a {
|
939
913
|
font-size: 12px;
|
940
914
|
}
|
941
|
-
/* line
|
915
|
+
/* line 207, ../../../app/stylesheets/application.sass */
|
942
916
|
#file-list ul li .right {
|
943
917
|
float: right;
|
944
918
|
height: inherit;
|
945
919
|
overflow: hidden;
|
946
920
|
*zoom: 1;
|
947
921
|
}
|
948
|
-
/* line
|
922
|
+
/* line 211, ../../../app/stylesheets/application.sass */
|
949
923
|
#file-list ul li .right div, #file-list ul li .right a {
|
950
924
|
width: 12px;
|
951
925
|
height: 12px;
|
@@ -954,58 +928,58 @@ a.grid {
|
|
954
928
|
text-indent: -9999px;
|
955
929
|
float: left;
|
956
930
|
}
|
957
|
-
/* line
|
931
|
+
/* line 218, ../../../app/stylesheets/application.sass */
|
958
932
|
#file-list ul li .right .check {
|
959
|
-
background: url('/../../public/concen/images/glyph-small-check.png?
|
933
|
+
background: url('/../../public/concen/images/glyph-small-check.png?1313773428');
|
960
934
|
background-repeat: no-repeat;
|
961
935
|
height: 12px;
|
962
936
|
width: 12px;
|
963
937
|
}
|
964
|
-
/* line
|
938
|
+
/* line 220, ../../../app/stylesheets/application.sass */
|
965
939
|
#file-list ul li .right .activate {
|
966
|
-
background: url('/../../public/concen/images/glyph-small-check-alt.png?
|
940
|
+
background: url('/../../public/concen/images/glyph-small-check-alt.png?1313773428');
|
967
941
|
background-repeat: no-repeat;
|
968
942
|
height: 12px;
|
969
943
|
width: 12px;
|
970
944
|
}
|
971
|
-
/* line
|
945
|
+
/* line 222, ../../../app/stylesheets/application.sass */
|
972
946
|
#file-list ul li .right .activate:hover {
|
973
|
-
background: url('/../../public/concen/images/glyph-small-check.png?
|
947
|
+
background: url('/../../public/concen/images/glyph-small-check.png?1313773428');
|
974
948
|
background-repeat: no-repeat;
|
975
949
|
height: 12px;
|
976
950
|
width: 12px;
|
977
951
|
}
|
978
|
-
/* line
|
952
|
+
/* line 224, ../../../app/stylesheets/application.sass */
|
979
953
|
#file-list ul li .right .handle {
|
980
|
-
background: url('/../../public/concen/images/glyph-small-handle.png?
|
954
|
+
background: url('/../../public/concen/images/glyph-small-handle.png?1313773428');
|
981
955
|
background-repeat: no-repeat;
|
982
956
|
height: 12px;
|
983
957
|
width: 12px;
|
984
958
|
}
|
985
|
-
/* line
|
959
|
+
/* line 226, ../../../app/stylesheets/application.sass */
|
986
960
|
#file-list ul li .right .delete {
|
987
|
-
background: url('/../../public/concen/images/glyph-small-delete.png?
|
961
|
+
background: url('/../../public/concen/images/glyph-small-delete.png?1313773428');
|
988
962
|
background-repeat: no-repeat;
|
989
963
|
height: 12px;
|
990
964
|
width: 12px;
|
991
965
|
}
|
992
966
|
|
993
|
-
/* line
|
967
|
+
/* line 229, ../../../app/stylesheets/application.sass */
|
994
968
|
.panels {
|
995
969
|
margin-bottom: 30px;
|
996
970
|
}
|
997
|
-
/* line
|
971
|
+
/* line 231, ../../../app/stylesheets/application.sass */
|
998
972
|
.panels .panel {
|
999
973
|
float: left;
|
1000
974
|
width: 31.25%;
|
1001
975
|
margin-right: 3.125%;
|
1002
976
|
font-size: 12px;
|
1003
977
|
}
|
1004
|
-
/* line
|
978
|
+
/* line 237, ../../../app/stylesheets/application.sass */
|
1005
979
|
.panels .panel .graph {
|
1006
980
|
padding: 15px;
|
1007
981
|
}
|
1008
|
-
/* line
|
982
|
+
/* line 239, ../../../app/stylesheets/application.sass */
|
1009
983
|
.panels .panel h3 {
|
1010
984
|
line-height: 1;
|
1011
985
|
border-bottom: 1px solid #858bad;
|
@@ -1025,95 +999,19 @@ a.grid {
|
|
1025
999
|
border-top-right-radius: 4px;
|
1026
1000
|
text-shadow: white 0px 1px 0px;
|
1027
1001
|
}
|
1028
|
-
/* line
|
1029
|
-
.panels .panel h3 span {
|
1030
|
-
font-size: 12px;
|
1031
|
-
margin-left: 2px;
|
1032
|
-
color: #999999;
|
1033
|
-
font-weight: 500;
|
1034
|
-
}
|
1035
|
-
/* line 268, ../../../app/stylesheets/application.sass */
|
1036
|
-
.panels .panel h3 span.link a {
|
1037
|
-
font-size: 10px;
|
1038
|
-
line-height: 10px;
|
1039
|
-
float: right;
|
1040
|
-
display: block;
|
1041
|
-
border: 1px solid #999999;
|
1042
|
-
-moz-border-radius: 2px;
|
1043
|
-
-webkit-border-radius: 2px;
|
1044
|
-
-o-border-radius: 2px;
|
1045
|
-
-ms-border-radius: 2px;
|
1046
|
-
-khtml-border-radius: 2px;
|
1047
|
-
border-radius: 2px;
|
1048
|
-
padding: 2px 6px;
|
1049
|
-
font-weight: 600;
|
1050
|
-
-moz-box-shadow: 0px 1px 0px white;
|
1051
|
-
-webkit-box-shadow: 0px 1px 0px white;
|
1052
|
-
-o-box-shadow: 0px 1px 0px white;
|
1053
|
-
box-shadow: 0px 1px 0px white;
|
1054
|
-
margin-left: 8px;
|
1055
|
-
text-align: center;
|
1056
|
-
color: #666666;
|
1057
|
-
background: #e0e0e0;
|
1058
|
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f2f2f2), color-stop(100%, #d9d9d9));
|
1059
|
-
background-image: -webkit-linear-gradient(top, #f2f2f2, #d9d9d9);
|
1060
|
-
background-image: -moz-linear-gradient(top, #f2f2f2, #d9d9d9);
|
1061
|
-
background-image: -o-linear-gradient(top, #f2f2f2, #d9d9d9);
|
1062
|
-
background-image: -ms-linear-gradient(top, #f2f2f2, #d9d9d9);
|
1063
|
-
background-image: linear-gradient(top, #f2f2f2, #d9d9d9);
|
1064
|
-
}
|
1065
|
-
/* line 283, ../../../app/stylesheets/application.sass */
|
1066
|
-
.panels .panel h3 span.link a.active, .panels .panel h3 span.link a:active {
|
1067
|
-
color: #666666;
|
1068
|
-
border-color: gray;
|
1069
|
-
background: #d9d9d9;
|
1070
|
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #d9d9d9), color-stop(100%, #f2f2f2));
|
1071
|
-
background-image: -webkit-linear-gradient(top, #d9d9d9, #f2f2f2);
|
1072
|
-
background-image: -moz-linear-gradient(top, #d9d9d9, #f2f2f2);
|
1073
|
-
background-image: -o-linear-gradient(top, #d9d9d9, #f2f2f2);
|
1074
|
-
background-image: -ms-linear-gradient(top, #d9d9d9, #f2f2f2);
|
1075
|
-
background-image: linear-gradient(top, #d9d9d9, #f2f2f2);
|
1076
|
-
}
|
1077
|
-
/* line 288, ../../../app/stylesheets/application.sass */
|
1078
|
-
.panels .panel h3 span.link a:hover {
|
1079
|
-
text-decoration: none;
|
1080
|
-
}
|
1081
|
-
/* line 290, ../../../app/stylesheets/application.sass */
|
1082
|
-
.panels .panel h3 span.timezone {
|
1083
|
-
font-size: 10px;
|
1084
|
-
line-height: 10px;
|
1085
|
-
float: right;
|
1086
|
-
display: block;
|
1087
|
-
border: 1px solid #b3b3b3;
|
1088
|
-
-moz-border-radius: 2px;
|
1089
|
-
-webkit-border-radius: 2px;
|
1090
|
-
-o-border-radius: 2px;
|
1091
|
-
-ms-border-radius: 2px;
|
1092
|
-
-khtml-border-radius: 2px;
|
1093
|
-
border-radius: 2px;
|
1094
|
-
padding: 2px 6px;
|
1095
|
-
font-weight: 600;
|
1096
|
-
-moz-box-shadow: 0px 1px 0px white;
|
1097
|
-
-webkit-box-shadow: 0px 1px 0px white;
|
1098
|
-
-o-box-shadow: 0px 1px 0px white;
|
1099
|
-
box-shadow: 0px 1px 0px white;
|
1100
|
-
margin-left: 8px;
|
1101
|
-
text-align: center;
|
1102
|
-
color: #999999;
|
1103
|
-
}
|
1104
|
-
/* line 303, ../../../app/stylesheets/application.sass */
|
1002
|
+
/* line 246, ../../../app/stylesheets/application.sass */
|
1105
1003
|
.panels .panel p.big-number {
|
1106
1004
|
font-size: 72px;
|
1107
1005
|
text-align: center;
|
1108
1006
|
height: 168px;
|
1109
1007
|
line-height: 168px;
|
1110
1008
|
}
|
1111
|
-
/* line
|
1009
|
+
/* line 251, ../../../app/stylesheets/application.sass */
|
1112
1010
|
.panels .panel ul {
|
1113
1011
|
width: 100%;
|
1114
1012
|
min-height: 15px;
|
1115
1013
|
}
|
1116
|
-
/* line
|
1014
|
+
/* line 254, ../../../app/stylesheets/application.sass */
|
1117
1015
|
.panels .panel ul li {
|
1118
1016
|
padding: 6px 10px;
|
1119
1017
|
border-bottom: 1px solid #dadce7;
|
@@ -1121,11 +1019,11 @@ a.grid {
|
|
1121
1019
|
list-style: none;
|
1122
1020
|
overflow: hidden;
|
1123
1021
|
}
|
1124
|
-
/* line
|
1022
|
+
/* line 260, ../../../app/stylesheets/application.sass */
|
1125
1023
|
.panels .panel ul li:last-child, .panels .panel ul li.last {
|
1126
1024
|
border-bottom: 0;
|
1127
1025
|
}
|
1128
|
-
/* line
|
1026
|
+
/* line 262, ../../../app/stylesheets/application.sass */
|
1129
1027
|
.panels .panel ul li a, .panels .panel ul li p {
|
1130
1028
|
font-size: 12px;
|
1131
1029
|
white-space: nowrap;
|
@@ -1136,7 +1034,7 @@ a.grid {
|
|
1136
1034
|
display: block;
|
1137
1035
|
width: 100%;
|
1138
1036
|
}
|
1139
|
-
/* line
|
1037
|
+
/* line 267, ../../../app/stylesheets/application.sass */
|
1140
1038
|
.panels .panel ul li p.right {
|
1141
1039
|
position: absolute;
|
1142
1040
|
top: 6px;
|
@@ -1145,22 +1043,22 @@ a.grid {
|
|
1145
1043
|
background: white;
|
1146
1044
|
width: auto;
|
1147
1045
|
}
|
1148
|
-
/* line
|
1046
|
+
/* line 275, ../../../app/stylesheets/application.sass */
|
1149
1047
|
.panels .panel.wide {
|
1150
1048
|
width: auto;
|
1151
1049
|
margin-right: 0;
|
1152
1050
|
float: none;
|
1153
1051
|
}
|
1154
|
-
/* line
|
1052
|
+
/* line 279, ../../../app/stylesheets/application.sass */
|
1155
1053
|
.panels .edge {
|
1156
1054
|
margin-right: 0px;
|
1157
1055
|
}
|
1158
|
-
/* line
|
1056
|
+
/* line 281, ../../../app/stylesheets/application.sass */
|
1159
1057
|
.panels ul.historical-visits {
|
1160
1058
|
list-style-type: none;
|
1161
1059
|
border: none;
|
1162
1060
|
}
|
1163
|
-
/* line
|
1061
|
+
/* line 284, ../../../app/stylesheets/application.sass */
|
1164
1062
|
.panels ul.historical-visits li {
|
1165
1063
|
float: right;
|
1166
1064
|
width: 40px;
|
@@ -1169,29 +1067,29 @@ a.grid {
|
|
1169
1067
|
height: 142px;
|
1170
1068
|
border: none;
|
1171
1069
|
}
|
1172
|
-
/* line
|
1070
|
+
/* line 291, ../../../app/stylesheets/application.sass */
|
1173
1071
|
.panels ul.historical-visits li div.count {
|
1174
1072
|
height: 120px;
|
1175
1073
|
position: relative;
|
1176
1074
|
}
|
1177
|
-
/* line
|
1075
|
+
/* line 294, ../../../app/stylesheets/application.sass */
|
1178
1076
|
.panels ul.historical-visits li div.total, .panels ul.historical-visits li div.unique {
|
1179
1077
|
position: absolute;
|
1180
1078
|
bottom: 0;
|
1181
1079
|
left: 0;
|
1182
1080
|
width: 100%;
|
1183
1081
|
}
|
1184
|
-
/* line
|
1082
|
+
/* line 299, ../../../app/stylesheets/application.sass */
|
1185
1083
|
.panels ul.historical-visits li div.total {
|
1186
1084
|
background: #43d166;
|
1187
1085
|
z-index: 10;
|
1188
1086
|
}
|
1189
|
-
/* line
|
1087
|
+
/* line 302, ../../../app/stylesheets/application.sass */
|
1190
1088
|
.panels ul.historical-visits li div.unique {
|
1191
1089
|
background: #9aeeb0;
|
1192
1090
|
z-index: 11;
|
1193
1091
|
}
|
1194
|
-
/* line
|
1092
|
+
/* line 305, ../../../app/stylesheets/application.sass */
|
1195
1093
|
.panels ul.historical-visits li p {
|
1196
1094
|
margin-top: 8px;
|
1197
1095
|
height: 14px;
|
@@ -1200,14 +1098,14 @@ a.grid {
|
|
1200
1098
|
text-align: center;
|
1201
1099
|
}
|
1202
1100
|
|
1203
|
-
/* line
|
1101
|
+
/* line 314, ../../../app/stylesheets/application.sass */
|
1204
1102
|
.qtip-content {
|
1205
1103
|
font-size: 13px;
|
1206
1104
|
color: #333333;
|
1207
1105
|
background: white;
|
1208
1106
|
}
|
1209
1107
|
|
1210
|
-
/* line
|
1108
|
+
/* line 321, ../../../app/stylesheets/application.sass */
|
1211
1109
|
.qtip-wrapper {
|
1212
1110
|
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
|
1213
1111
|
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
|
@@ -1215,45 +1113,45 @@ a.grid {
|
|
1215
1113
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
|
1216
1114
|
}
|
1217
1115
|
|
1218
|
-
/* line
|
1116
|
+
/* line 326, ../../../app/stylesheets/application.sass */
|
1219
1117
|
#text-editor {
|
1220
1118
|
min-height: 400px;
|
1221
1119
|
position: relative;
|
1222
1120
|
}
|
1223
1121
|
|
1224
|
-
/* line
|
1122
|
+
/* line 330, ../../../app/stylesheets/application.sass */
|
1225
1123
|
#file-manager {
|
1226
1124
|
float: right;
|
1227
1125
|
width: 25%;
|
1228
1126
|
}
|
1229
|
-
/* line
|
1127
|
+
/* line 333, ../../../app/stylesheets/application.sass */
|
1230
1128
|
#file-manager div.border {
|
1231
1129
|
padding: 20px;
|
1232
1130
|
margin-left: 30px;
|
1233
1131
|
}
|
1234
|
-
/* line
|
1132
|
+
/* line 336, ../../../app/stylesheets/application.sass */
|
1235
1133
|
#file-manager h3 {
|
1236
1134
|
margin-top: 20px;
|
1237
1135
|
}
|
1238
|
-
/* line
|
1136
|
+
/* line 338, ../../../app/stylesheets/application.sass */
|
1239
1137
|
#file-manager h3 span {
|
1240
1138
|
vertical-align: middle;
|
1241
1139
|
}
|
1242
|
-
/* line
|
1140
|
+
/* line 340, ../../../app/stylesheets/application.sass */
|
1243
1141
|
#file-manager h3 a {
|
1244
1142
|
margin-right: 4px;
|
1245
1143
|
vertical-align: middle;
|
1246
1144
|
}
|
1247
|
-
/* line
|
1145
|
+
/* line 343, ../../../app/stylesheets/application.sass */
|
1248
1146
|
#file-manager ul {
|
1249
1147
|
list-style-type: none;
|
1250
1148
|
}
|
1251
|
-
/* line
|
1149
|
+
/* line 345, ../../../app/stylesheets/application.sass */
|
1252
1150
|
#file-manager ul li {
|
1253
1151
|
font-size: 12px;
|
1254
1152
|
margin-top: 10px;
|
1255
1153
|
}
|
1256
|
-
/* line
|
1154
|
+
/* line 348, ../../../app/stylesheets/application.sass */
|
1257
1155
|
#file-manager ul li a {
|
1258
1156
|
white-space: pre;
|
1259
1157
|
white-space: pre-wrap;
|
@@ -1266,21 +1164,21 @@ a.grid {
|
|
1266
1164
|
color: #858bad;
|
1267
1165
|
margin-right: 4px;
|
1268
1166
|
}
|
1269
|
-
/* line
|
1167
|
+
/* line 352, ../../../app/stylesheets/application.sass */
|
1270
1168
|
#file-manager ul li a.filename {
|
1271
1169
|
color: #141f52;
|
1272
1170
|
}
|
1273
1171
|
|
1274
|
-
/* line
|
1172
|
+
/* line 355, ../../../app/stylesheets/application.sass */
|
1275
1173
|
form.with-text-editor {
|
1276
1174
|
float: left;
|
1277
1175
|
width: 75%;
|
1278
1176
|
}
|
1279
|
-
/* line
|
1177
|
+
/* line 358, ../../../app/stylesheets/application.sass */
|
1280
1178
|
form.with-text-editor.wide {
|
1281
1179
|
width: 100%;
|
1282
1180
|
}
|
1283
|
-
/* line
|
1181
|
+
/* line 360, ../../../app/stylesheets/application.sass */
|
1284
1182
|
form.with-text-editor .border {
|
1285
1183
|
padding: 10px;
|
1286
1184
|
-moz-box-shadow: rgba(133, 139, 173, 0.3) 0 2px 2px inset;
|
@@ -1289,18 +1187,18 @@ form.with-text-editor .border {
|
|
1289
1187
|
box-shadow: rgba(133, 139, 173, 0.3) 0 2px 2px inset;
|
1290
1188
|
}
|
1291
1189
|
|
1292
|
-
/* line
|
1190
|
+
/* line 364, ../../../app/stylesheets/application.sass */
|
1293
1191
|
.tickLabel {
|
1294
1192
|
font-size: 12px;
|
1295
1193
|
}
|
1296
1194
|
|
1297
|
-
/* line
|
1195
|
+
/* line 367, ../../../app/stylesheets/application.sass */
|
1298
1196
|
table {
|
1299
1197
|
border-collapse: collapse;
|
1300
1198
|
font-size: 14px;
|
1301
1199
|
width: 100%;
|
1302
1200
|
}
|
1303
|
-
/* line
|
1201
|
+
/* line 371, ../../../app/stylesheets/application.sass */
|
1304
1202
|
table th {
|
1305
1203
|
background: #f3f3f7;
|
1306
1204
|
-moz-border-radius-topleft: 4px;
|
@@ -1315,28 +1213,28 @@ table th {
|
|
1315
1213
|
-ms-border-top-right-radius: 4px;
|
1316
1214
|
-khtml-border-top-right-radius: 4px;
|
1317
1215
|
border-top-right-radius: 4px;
|
1318
|
-
font-weight: bold;
|
1319
1216
|
font-size: 16px;
|
1217
|
+
font-weight: bold;
|
1320
1218
|
}
|
1321
|
-
/* line
|
1219
|
+
/* line 376, ../../../app/stylesheets/application.sass */
|
1322
1220
|
.wf-active table th {
|
1323
1221
|
font-weight: 600;
|
1324
1222
|
}
|
1325
|
-
/* line
|
1223
|
+
/* line 378, ../../../app/stylesheets/application.sass */
|
1326
1224
|
table td, table th {
|
1327
1225
|
border-bottom: 1px solid #dadce7;
|
1328
1226
|
padding: 10px;
|
1329
1227
|
vertical-align: top;
|
1330
1228
|
}
|
1331
|
-
/* line
|
1229
|
+
/* line 382, ../../../app/stylesheets/application.sass */
|
1332
1230
|
table td.center, table th.center {
|
1333
1231
|
text-align: center;
|
1334
1232
|
}
|
1335
|
-
/* line
|
1233
|
+
/* line 384, ../../../app/stylesheets/application.sass */
|
1336
1234
|
table td.right, table th.right {
|
1337
1235
|
text-align: right;
|
1338
1236
|
}
|
1339
|
-
/* line
|
1237
|
+
/* line 387, ../../../app/stylesheets/application.sass */
|
1340
1238
|
table tr:last-child td {
|
1341
1239
|
border-bottom: 0;
|
1342
1240
|
}
|