qipowl 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/config/bowlers/html.yaml +2 -0
  3. data/features/html.feature +10 -0
  4. data/images/owl-16x16.png +0 -0
  5. data/images/owl-24x24.png +0 -0
  6. data/images/owl-32x32.png +0 -0
  7. data/images/owl-48x48.png +0 -0
  8. data/images/owl-64x64.png +0 -0
  9. data/images/owl-96x96.png +0 -0
  10. data/lib/qipowl/bowlers/html.rb +6 -0
  11. data/lib/qipowl/constants.rb +5 -0
  12. data/lib/qipowl/core/bowler.rb +7 -4
  13. data/lib/qipowl/core/ruler.rb +2 -1
  14. data/lib/qipowl/version.rb +1 -1
  15. data/lib/qipowl.rb +2 -0
  16. metadata +8 -25
  17. data/extras/demo/main.rb +0 -35
  18. data/extras/demo/public/apple-touch-icon-114x114-precomposed.png +0 -0
  19. data/extras/demo/public/apple-touch-icon-144x144-precomposed.png +0 -0
  20. data/extras/demo/public/apple-touch-icon-57x57-precomposed.png +0 -0
  21. data/extras/demo/public/apple-touch-icon-72x72-precomposed.png +0 -0
  22. data/extras/demo/public/apple-touch-icon-precomposed.png +0 -0
  23. data/extras/demo/public/apple-touch-icon.png +0 -0
  24. data/extras/demo/public/css/bootstrap-theme.css +0 -384
  25. data/extras/demo/public/css/bootstrap-theme.min.css +0 -1
  26. data/extras/demo/public/css/bootstrap.css +0 -6805
  27. data/extras/demo/public/css/bootstrap.min.css +0 -9
  28. data/extras/demo/public/css/main.css +0 -22
  29. data/extras/demo/public/favicon.ico +0 -0
  30. data/extras/demo/public/fonts/glyphicons-halflings-regular.eot +0 -0
  31. data/extras/demo/public/fonts/glyphicons-halflings-regular.svg +0 -228
  32. data/extras/demo/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  33. data/extras/demo/public/fonts/glyphicons-halflings-regular.woff +0 -0
  34. data/extras/demo/public/html.html +0 -269
  35. data/extras/demo/public/index.html +0 -110
  36. data/extras/demo/public/js/main.js +0 -1
  37. data/extras/demo/public/js/vendor/bootstrap.js +0 -1999
  38. data/extras/demo/public/js/vendor/bootstrap.min.js +0 -6
  39. data/extras/demo/public/js/vendor/jquery-1.10.1.min.js +0 -6
  40. data/extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: c656b2aa5f88eb634e30f0ae4c9f8a1dae18237d
4
- data.tar.gz: 26b1185aedc158f4fcb660b807bf5691fea97570
3
+ metadata.gz: c27c57511c9dffe2f1d4c5f36f5f689f811b4081
4
+ data.tar.gz: 5df7de841f328a65f71311772fd7ca815617f118
5
5
  !binary "U0hBNTEy":
6
- metadata.gz: 78be05dbfaf7720127cb2da7db32c4b204f8f7146d69fc3749f330e0e95ec2ce5fa3d99451fc38aa38b3e041c3a41e10f3c99ea37238c4bc5c5180943bfcf4e6
7
- data.tar.gz: 50e3187848e51d7aca086f5410ed23cf0f472bd40844e2b83101cf67c574c6267c483e53e31db4ac3ae6d37a82616cf3b6005cc9a13f9bdacd20d22e6534a89c
6
+ metadata.gz: 989c41bdb4f38b793b55dbbd7c3164d9cb8b29735c0ddbd71ec3486c670587bc6937a04fdad7068c2fd9f5489c64812fda9ae98ad6fabadbec2dac97ad9e6594
7
+ data.tar.gz: 3ae8a24d7788cabc4dcdf647dae1e686adfca7e699f710c5013546914efa719fb5e5dd39cf89b900193e242292af0b891e035b2e7fac77547f669f1be17bcf57
@@ -10,6 +10,8 @@
10
10
  - 'markdown2html'
11
11
 
12
12
  :entities :
13
+ :self :
14
+ :qipowl : :strong
13
15
  :block :
14
16
  :✍ :
15
17
  :synonyms :
@@ -141,6 +141,16 @@ Feature: All the possibilities of HTML parser
141
141
  | "§1 Header" | "<h1>Header</h1>" |
142
142
  | "〉 Blockquote" | "<blockquote><p class='blockquote'>Blockquote</p></blockquote>" |
143
143
 
144
+ Scenario Outline: Self tags
145
+ Given we use "html" bowler
146
+ When the input string is <input>
147
+ And the execute method is called on bowler
148
+ Then the result should equal to <output>
149
+
150
+ Examples:
151
+ | input | output |
152
+ | "here qipowl goes" | "<p>here <strong>qipowl</strong> goes</p>" |
153
+
144
154
  Scenario: Address tag
145
155
  Given we use "html" bowler
146
156
  When the input string is "℁ ≡Twitter≡ ⏎ ☎ +1(987)5554321 ⏎ ✉ info@twitter.com"
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -69,6 +69,12 @@ module Qipowl
69
69
  )
70
70
  end
71
71
 
72
+ # `:self` default handler
73
+ # @param [Array] args the words, gained since last call to {#harvest}
74
+ def ∀_self *args
75
+ [tagify(∃_self_tag(__callee__), {:class => ∃_self(__callee__)[:class]}, __callee__), args]
76
+ end
77
+
72
78
  ##############################################################################
73
79
  ### Grip :: Specific handlers ###
74
80
  ##############################################################################
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+
3
+ module Qipowl
4
+ ENTITIES = %w(block alone magnet grip regular self)
5
+ end
@@ -1,8 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
- require_relative 'monkeypatches'
3
+ require_relative "../constants"
4
4
  require_relative '../utils/logging'
5
5
 
6
+ require_relative 'monkeypatches'
7
+
6
8
  # @author Alexei Matyushkin
7
9
  module Qipowl::Bowlers
8
10
 
@@ -109,10 +111,11 @@ module Qipowl::Bowlers
109
111
  #
110
112
  # @param [Symbol] key the key to be removed
111
113
  def remove_entity key
112
- %w(block alone magnet grip regular).each { |section|
114
+ Qipowl::ENTITIES.each { |section|
115
+ next unless (curr_sect = self.class.const_get("#{section.upcase}_TAGS") rescue nil)
113
116
  next unless send :"∃_#{section}_tag", key.to_sym
114
117
 
115
- self.class.const_get("#{section.upcase}_TAGS").delete key
118
+ curr_sect.delete key
116
119
  self.class.const_get("ENCLOSURES_TAGS").delete key
117
120
  self.class.class_eval %Q{
118
121
  remove_method :#{key.bowl}
@@ -122,7 +125,7 @@ module Qipowl::Bowlers
122
125
 
123
126
 
124
127
  protected
125
- %w(block alone magnet grip regular).each { |section|
128
+ Qipowl::ENTITIES.each { |section|
126
129
  define_method "∀_#{section}".to_sym, ->(*args) {
127
130
  raise "Default method for #{section} (“#{self.class.name.gsub(/_\d+\Z/, '')}#∀_#{section}”) MUST be defined"
128
131
  } unless Bowler.instance_methods(true).include?("∀_#{section}".to_sym)
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require_relative "../constants"
3
4
  require_relative '../utils/logging'
4
5
 
5
6
  # @author Alexei Matyushkin
@@ -75,7 +76,7 @@ module Qipowl
75
76
  nil
76
77
  end
77
78
  }
78
- %w(block alone magnet grip regular).each { |section|
79
+ Qipowl::ENTITIES.each { |section|
79
80
  next unless mapper.entities && mapper.entities[section.to_sym]
80
81
  clazz.const_set("#{section.upcase}_TAGS", mapper.entities[section.to_sym])
81
82
  clazz.class_eval %Q{
@@ -1,3 +1,3 @@
1
1
  module Qipowl
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
data/lib/qipowl.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require_relative "qipowl/version"
4
+ require_relative "qipowl/constants"
5
+
4
6
  require_relative "qipowl/core/mapper"
5
7
  require_relative "qipowl/core/ruler"
6
8
  require_relative "qipowl/core/bowler"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qipowl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexei Matyushkin
@@ -174,30 +174,6 @@ files:
174
174
  - config/bowlers/html_supplemental.yaml
175
175
  - config/bowlers/ispru.yaml
176
176
  - config/bowlers/markdown2html.yaml
177
- - extras/demo/main.rb
178
- - extras/demo/public/apple-touch-icon-114x114-precomposed.png
179
- - extras/demo/public/apple-touch-icon-144x144-precomposed.png
180
- - extras/demo/public/apple-touch-icon-57x57-precomposed.png
181
- - extras/demo/public/apple-touch-icon-72x72-precomposed.png
182
- - extras/demo/public/apple-touch-icon-precomposed.png
183
- - extras/demo/public/apple-touch-icon.png
184
- - extras/demo/public/css/bootstrap-theme.css
185
- - extras/demo/public/css/bootstrap-theme.min.css
186
- - extras/demo/public/css/bootstrap.css
187
- - extras/demo/public/css/bootstrap.min.css
188
- - extras/demo/public/css/main.css
189
- - extras/demo/public/favicon.ico
190
- - extras/demo/public/fonts/glyphicons-halflings-regular.eot
191
- - extras/demo/public/fonts/glyphicons-halflings-regular.svg
192
- - extras/demo/public/fonts/glyphicons-halflings-regular.ttf
193
- - extras/demo/public/fonts/glyphicons-halflings-regular.woff
194
- - extras/demo/public/html.html
195
- - extras/demo/public/index.html
196
- - extras/demo/public/js/main.js
197
- - extras/demo/public/js/vendor/bootstrap.js
198
- - extras/demo/public/js/vendor/bootstrap.min.js
199
- - extras/demo/public/js/vendor/jquery-1.10.1.min.js
200
- - extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js
201
177
  - extras/drafts/parsing.md
202
178
  - extras/support/typo
203
179
  - features/bowler.feature
@@ -209,6 +185,12 @@ files:
209
185
  - features/step_definitions/ispru_steps.rb
210
186
  - features/step_definitions/monkey_steps.rb
211
187
  - features/support/env.rb
188
+ - images/owl-16x16.png
189
+ - images/owl-24x24.png
190
+ - images/owl-32x32.png
191
+ - images/owl-48x48.png
192
+ - images/owl-64x64.png
193
+ - images/owl-96x96.png
212
194
  - images/owl-old.png
213
195
  - images/owl-old.xcf
214
196
  - images/owl.png
@@ -218,6 +200,7 @@ files:
218
200
  - lib/qipowl/bowlers/html.rb
219
201
  - lib/qipowl/bowlers/i_sp_ru.rb
220
202
  - lib/qipowl/bowlers/yaml.rb
203
+ - lib/qipowl/constants.rb
221
204
  - lib/qipowl/core/bowler.rb
222
205
  - lib/qipowl/core/mapper.rb
223
206
  - lib/qipowl/core/monkeypatches.rb
data/extras/demo/main.rb DELETED
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'cgi'
4
- require 'json'
5
- require 'sinatra'
6
-
7
- require_relative '../../lib/qipowl'
8
-
9
- use Rack::Session::Pool, :expire_after => 2592000
10
-
11
- before do
12
- session[:typo] ||= Qipowl::Ruler.new_bowler "html"
13
- session[:mapping] ||= session[:typo].class::ENTITIES.rmerge({:custom => session[:typo].class::CUSTOM_TAGS}).to_json
14
- end
15
-
16
- get '/html/mapping' do
17
- content_type :json
18
- session[:mapping]
19
- end
20
-
21
- delete '/html/mapping/:key' do |key|
22
- content_type :json
23
- session[:typo].remove_entity(key.to_sym).to_json
24
- end
25
-
26
- put '/html/mapping/:section/:key/:value/?:enclosure?' do |section, key, value, enclosure|
27
- content_type :json
28
- session[:typo].add_entity(section.to_sym, key.to_sym, value.to_sym, enclosure ? enclosure.to_sym : nil).to_json
29
- end
30
-
31
- get '/html/parse' do
32
- str = CGI::parse(request.query_string)['text'].first
33
- content_type :html
34
- session[:typo].execute str
35
- end
@@ -1,384 +0,0 @@
1
- .btn-default,
2
- .btn-primary,
3
- .btn-success,
4
- .btn-info,
5
- .btn-warning,
6
- .btn-danger {
7
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
8
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
9
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
10
- }
11
-
12
- .btn-default:active,
13
- .btn-primary:active,
14
- .btn-success:active,
15
- .btn-info:active,
16
- .btn-warning:active,
17
- .btn-danger:active,
18
- .btn-default.active,
19
- .btn-primary.active,
20
- .btn-success.active,
21
- .btn-info.active,
22
- .btn-warning.active,
23
- .btn-danger.active {
24
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
25
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
26
- }
27
-
28
- .btn:active,
29
- .btn.active {
30
- background-image: none;
31
- }
32
-
33
- .btn-default {
34
- text-shadow: 0 1px 0 #fff;
35
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e6e6e6));
36
- background-image: -webkit-linear-gradient(top, #ffffff, 0%, #e6e6e6, 100%);
37
- background-image: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
38
- background-image: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
39
- background-repeat: repeat-x;
40
- border-color: #e0e0e0;
41
- border-color: #ccc;
42
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
43
- }
44
-
45
- .btn-default:active,
46
- .btn-default.active {
47
- background-color: #e6e6e6;
48
- border-color: #e0e0e0;
49
- }
50
-
51
- .btn-primary {
52
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
53
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
54
- background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
55
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
56
- background-repeat: repeat-x;
57
- border-color: #2d6ca2;
58
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
59
- }
60
-
61
- .btn-primary:active,
62
- .btn-primary.active {
63
- background-color: #3071a9;
64
- border-color: #2d6ca2;
65
- }
66
-
67
- .btn-success {
68
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
69
- background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
70
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
71
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
72
- background-repeat: repeat-x;
73
- border-color: #419641;
74
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
75
- }
76
-
77
- .btn-success:active,
78
- .btn-success.active {
79
- background-color: #449d44;
80
- border-color: #419641;
81
- }
82
-
83
- .btn-warning {
84
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
85
- background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
86
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
87
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
88
- background-repeat: repeat-x;
89
- border-color: #eb9316;
90
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
91
- }
92
-
93
- .btn-warning:active,
94
- .btn-warning.active {
95
- background-color: #ec971f;
96
- border-color: #eb9316;
97
- }
98
-
99
- .btn-danger {
100
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
101
- background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
102
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
103
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
104
- background-repeat: repeat-x;
105
- border-color: #c12e2a;
106
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
107
- }
108
-
109
- .btn-danger:active,
110
- .btn-danger.active {
111
- background-color: #c9302c;
112
- border-color: #c12e2a;
113
- }
114
-
115
- .btn-info {
116
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
117
- background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
118
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
119
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
120
- background-repeat: repeat-x;
121
- border-color: #2aabd2;
122
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
123
- }
124
-
125
- .btn-info:active,
126
- .btn-info.active {
127
- background-color: #31b0d5;
128
- border-color: #2aabd2;
129
- }
130
-
131
- .thumbnail,
132
- .img-thumbnail {
133
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
134
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
135
- }
136
-
137
- .dropdown-menu > li > a:hover,
138
- .dropdown-menu > li > a:focus,
139
- .dropdown-menu > .active > a,
140
- .dropdown-menu > .active > a:hover,
141
- .dropdown-menu > .active > a:focus {
142
- background-color: #357ebd;
143
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
144
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
145
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
146
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
147
- background-repeat: repeat-x;
148
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
149
- }
150
-
151
- .navbar {
152
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
153
- background-image: -webkit-linear-gradient(top, #ffffff, 0%, #f8f8f8, 100%);
154
- background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
155
- background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
156
- background-repeat: repeat-x;
157
- border-radius: 4px;
158
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
159
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
160
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
161
- }
162
-
163
- .navbar .navbar-nav > .active > a {
164
- background-color: #f8f8f8;
165
- }
166
-
167
- .navbar-brand,
168
- .navbar-nav > li > a {
169
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
170
- }
171
-
172
- .navbar-inverse {
173
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
174
- background-image: -webkit-linear-gradient(top, #3c3c3c, 0%, #222222, 100%);
175
- background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
176
- background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
177
- background-repeat: repeat-x;
178
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
179
- }
180
-
181
- .navbar-inverse .navbar-nav > .active > a {
182
- background-color: #222222;
183
- }
184
-
185
- .navbar-inverse .navbar-brand,
186
- .navbar-inverse .navbar-nav > li > a {
187
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
188
- }
189
-
190
- .navbar-static-top,
191
- .navbar-fixed-top,
192
- .navbar-fixed-bottom {
193
- border-radius: 0;
194
- }
195
-
196
- .alert {
197
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
198
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
199
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
200
- }
201
-
202
- .alert-success {
203
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
204
- background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #c8e5bc, 100%);
205
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
206
- background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
207
- background-repeat: repeat-x;
208
- border-color: #b2dba1;
209
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
210
- }
211
-
212
- .alert-info {
213
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
214
- background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #b9def0, 100%);
215
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
216
- background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
217
- background-repeat: repeat-x;
218
- border-color: #9acfea;
219
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
220
- }
221
-
222
- .alert-warning {
223
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
224
- background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #f8efc0, 100%);
225
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
226
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
227
- background-repeat: repeat-x;
228
- border-color: #f5e79e;
229
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
230
- }
231
-
232
- .alert-danger {
233
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
234
- background-image: -webkit-linear-gradient(top, #f2dede, 0%, #e7c3c3, 100%);
235
- background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
236
- background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
237
- background-repeat: repeat-x;
238
- border-color: #dca7a7;
239
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
240
- }
241
-
242
- .progress {
243
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
244
- background-image: -webkit-linear-gradient(top, #ebebeb, 0%, #f5f5f5, 100%);
245
- background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
246
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
247
- background-repeat: repeat-x;
248
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
249
- }
250
-
251
- .progress-bar {
252
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
253
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
254
- background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
255
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
256
- background-repeat: repeat-x;
257
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
258
- }
259
-
260
- .progress-bar-success {
261
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
262
- background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
263
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
264
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
265
- background-repeat: repeat-x;
266
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
267
- }
268
-
269
- .progress-bar-info {
270
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
271
- background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
272
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
273
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
274
- background-repeat: repeat-x;
275
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
276
- }
277
-
278
- .progress-bar-warning {
279
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
280
- background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
281
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
282
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
283
- background-repeat: repeat-x;
284
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
285
- }
286
-
287
- .progress-bar-danger {
288
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
289
- background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
290
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
291
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
292
- background-repeat: repeat-x;
293
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
294
- }
295
-
296
- .list-group {
297
- border-radius: 4px;
298
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
299
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
300
- }
301
-
302
- .list-group-item.active,
303
- .list-group-item.active:hover,
304
- .list-group-item.active:focus {
305
- text-shadow: 0 -1px 0 #3071a9;
306
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
307
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3278b3, 100%);
308
- background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
309
- background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
310
- background-repeat: repeat-x;
311
- border-color: #3278b3;
312
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
313
- }
314
-
315
- .panel {
316
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
317
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
318
- }
319
-
320
- .panel-default > .panel-heading {
321
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
322
- background-image: -webkit-linear-gradient(top, #f5f5f5, 0%, #e8e8e8, 100%);
323
- background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
324
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
325
- background-repeat: repeat-x;
326
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
327
- }
328
-
329
- .panel-primary > .panel-heading {
330
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
331
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
332
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
333
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
334
- background-repeat: repeat-x;
335
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
336
- }
337
-
338
- .panel-success > .panel-heading {
339
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
340
- background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #d0e9c6, 100%);
341
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
342
- background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
343
- background-repeat: repeat-x;
344
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
345
- }
346
-
347
- .panel-info > .panel-heading {
348
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
349
- background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #c4e3f3, 100%);
350
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
351
- background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
352
- background-repeat: repeat-x;
353
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
354
- }
355
-
356
- .panel-warning > .panel-heading {
357
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
358
- background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #faf2cc, 100%);
359
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
360
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
361
- background-repeat: repeat-x;
362
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
363
- }
364
-
365
- .panel-danger > .panel-heading {
366
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
367
- background-image: -webkit-linear-gradient(top, #f2dede, 0%, #ebcccc, 100%);
368
- background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
369
- background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
370
- background-repeat: repeat-x;
371
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
372
- }
373
-
374
- .well {
375
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
376
- background-image: -webkit-linear-gradient(top, #e8e8e8, 0%, #f5f5f5, 100%);
377
- background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
378
- background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
379
- background-repeat: repeat-x;
380
- border-color: #dcdcdc;
381
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
382
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
383
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
384
- }